airbnb / lottie-android

Render After Effects animations natively on Android and iOS, Web, and React Native
http://airbnb.io/lottie/
Apache License 2.0
35.03k stars 5.41k forks source link

Extreme lag in 3.0.0+ and higher, smooth in 2.8.0 #1374

Closed khltrifork closed 5 years ago

khltrifork commented 5 years ago

I've got an animation, purely vector based with 0 png/webp images. It lags extremely much with 3.0.0 or higher (i've tested all versions above 3.0.0, including the newest 3.1.0 snapshot). With 2.8.0 it works smoothly and has no lag.

I've tried to create a completely basic new project, imported only Lottie and the 1 animation, and can recreate it.

https://lottiefiles.com/share/OXAN93

I've tried various combinations of forcing different RenderModes, but can't seem to get it to work smoothly. I've also tried to add it as both a raw json file in assets, as a ZIP file in assets, and putting it in the raw folder. No change.

Its fine on the lottiefiles test website, but not on Android. I've tested on emulator and 2 different real devices, it's the same.

Is there anything other then setRenderMode that i can tweak? I couldn't find anything

gpeal commented 5 years ago

@khltrifork Please attach the aep

gpeal commented 5 years ago

@khltrifork It turns out that the animation renders great with software rendering but there are a few bugs that I uncovered that caused setting the render mode to software to revert it to hardware acceleration. I'll fix those for this issue.

gpeal commented 5 years ago

@khltrifork The slow frames with hardware acceleration are actually not in Lottie's code but in nSyncAndDrawFrame in the framework which is why software rendering performs so much better.