Why does any app having an active overlay is causing low frame rates? Any app that I try on my device that is some kind of on-screen tool, such as monitoring apps, pie apps, screen filters, corner sliding apps, etc., makes the device have consistent low frame rates. 

If I disable HW overlays though, the problem disappears. Why is that?

I've a Ulefone U7 running Android 4.4.2 with Linux kernel 3.4.67.
Deafult options, no osd, max smoothness
Deafult options, osd, max choppiness
With disable HW overlays I get average smoothness w/ and w/o osd apps.


I think that only the last app requesting an hw overlay gets GPU access, the rest get offloaded to CPU, resulting in crappy rendering.

But a 3dmark benchmark shows this:


Default options, osd disabled 30fps
Default options, osd enabled but not visible 30fps
Default options, osd enabled and visible 25fps
no hw overlays, osd enabled but not visible 27fps
no hw overalys, osd enabled and visible 22fps


So I suppose that with hw overlays, there is an option to "put them to sleep" while benchmarking (hence the same fps)
but disabling hw overlays keeps the (GPU) memory of all the apps no matter what, hence the lower framerate in general.

This is all very confusing and a possible answers can be:


It's hard to understand what gets offloaded to what, mtk cpu rendering may as well be on par with GPU rendering considering the chipset is balanced with a beefy cpu and crappy gpu...therefore HW overlays don't work as they should because cpu/gpu balance was thought with other specifications in mind.
MTK crap hacked backported kernel causes trouble with HW overlays at least for 2D apps, being unable to discern the correct usage of those.


I wish someone would give me a more insightful answer but I guess nobody cares about 4.4 android anymore, and nobody cares about mtk chipsets in general (and this chipset is even 2 years old which means no one among the nobodies would care :p)