Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PhoneGap/Cordova: JQuery animations running slow

I have built a an app in PhoneGap/Cordova and used the JQuery library for some simple animations like slideUp etc.

They work fine on the simulator but when I try on an actual device the animations run really chunky and slow.

Is there a way to speed this up? Or should I be using a different transitions frame work?

If the latter is true can anyone suggest a good version for me to try?

Thanks

like image 287
MeltingDog Avatar asked Jun 21 '12 23:06

MeltingDog


2 Answers

jQuery animations are done using a setInterval on the css properties being animated and it is not hardware accelerated on mobile devices.

CSS Transitions are hardware accelerated on most modern devices and are therefore a better choice. There are drop in libraries that can make sure your jQuery animations are done using CSS transitions instead of costly setInterval animations.

http://playground.benbarnett.net/jquery-animate-enhanced/

http://ricostacruz.com/jquery.transit/

Give these a try.

If you are not using any of the functionality that is missing from Zepto.js, consider using it instead as it is much smaller and lighter than jQuery and made specifically for mobile devices.

like image 132
Devgeeks Avatar answered Oct 20 '22 18:10

Devgeeks


You can speed up the process by reducing the content of your page, but this is probably not what you're asking for. A good solution might be using css transitions. This way, old browsers don't show an animation while it should work smoothly on new devices. Degrades gracefully.

like image 28
Maximilian Hils Avatar answered Oct 20 '22 17:10

Maximilian Hils