Reputation: 9887
My application uses animations, frequently one screen has two or more animations or transitions running, using ImageSwitchers
/ TextSwitchers
/ or custom LayerAnimators
.
I have tested the application in many different devices: Samsung Galaxy Tabs & Notes (ICS / JB), LG tablets (Android Kitkat 4.4.0), Amazon Kindle Fire HDX (Android JB fork), as well as on the Genymotion Emulator for Android versions from 4.2 to 4.4.
However, on the Samsung Galaxy S4 phone -Android KitKat 4.4.4-, in theory a powerhorse that outperforms all the rest, I see very frequent screen flickering. They only happen when animations are running, so they are apparently a side effect. The rest of devices don't ever show such a problem.
I'd appreciate any thoughts. Do you have a similar experience with this phone? Is it something I have to worry about?
Note: All Kiktats are running Dalvik runtime. Switching to ART produces the same results (Samsung flickers, the rest don't)
Upvotes: 1
Views: 1150
Reputation: 9887
The Samsung Galaxy S4 was using a highly customized Firmware & Kernel "SlimSaberKat" that caused all this. Reverting to a stockish Firmware caused everything to run smoothly and without flickering, as expected.
Specifically, the kernel enabled a special advanced rendering mode that the phone does not yet fully support. Those modes are setup in the build.prop
file in the root of the system partition, and are related to the very lowlevel details of the graphics pipeline. Unfortunately, the only HW accelerated mode that works flawlessly in this phone is he simplest one "gpu
". There are 2 other modes that additionally support Full Hardware Composition, namely C2D and [i can't remember]. Those modes cause flickering on this phone but are supposed to greatly ease the load of the CPU.
I ended up installing CyanoGenMod v11.0, a version specifically tuned for the S4, and all my problems disappeared.
Upvotes: 2