[LG Optimus G Pro] kaymmm:
I haven't been too active around these parts lately, but I have finally had a chance to play around with some of the lp roms over the past couple days and the battery drain is real, and there are a couple of things causing it. The main culprit for me has been google play services, especially the location services, and what I'm suspecting is something gpu related, stemming from the screen flickering.

First, for play services related stuff, try clearing the data/cache and see if that helps. It's worked for me so that it's no longer the biggest battery hog, or maybe things finished syncing and play services temporarily stopped doing it's thing. I don't know.

Second, turn off location whenever you don't need it. This one has been huge for me, especially over the past couple months as play seems to be using location for more and more.

With those things out of the way, my battery drains more slowly, but still quite a bit faster than cm11 or stock kk/jb. Now my battery stats aren't terribly helpful since nothing in particular seems to be using more battery than would be expected,

Third, I want to figure out the screen flickering issue since it logically seems like getting rid of it without resorting to gpu composition might help with the battery, at least a bit. Anecdotally, it *seems* like battery drain might be slower when I forget to set the "disable hw overlays" after a reboot, but then the screen inevitably starts flickering after some time.

I decided to play around a bit and tried adding some stuff to the build.prop to see if anything helped with the screen flicker. I did a bunch of testing with different combos of settings, but alas, nothing seems to be working yet. I didn't go through any logcats and didn't really check the gpu profiler since I only had about 20 minutes to play around, and rebooting after each change took the bulk of that time...

Here's what I've played with so far:

debug.egl.hw=1 # not sure if this and the next one are necessary or they are already on by default...

debug.sf.hw=1 # see above

debug.overlayui.enable=1 # this causes "disable hw overlays" to stick (I kept it off for testing)

persist.sys.ui.hw=1 # this turns on the gpu for 2d developer setting, if you want it (i don't have it on currently)

debug.performance.tuning=1 # related to the surfaceflinger, i think. i don't know if this makes a lick of difference, but it didn't help flickering

Finally, I tried playing around with the following settings:

debug.composition.type=[cpu/gpu/c2d/mdp]

persist.sys.composition.type=[same as above]

I went through each of cpu, gpu, c2d, and mdp. CPU is default and will have flicker, duh. GPU *should* be the same as checking the "disable hw overlays" setting, yet it didn't seem to help. Neither c2d nor mdp seemed to help any. Obviously, I tested these with the hw overlays setting unchecked since I believe the hw overlays setting overrides the composition type, but I'm not really sure.

If folks want to try and help figure this out, here are some other build.prop settings you can try playing around with:

ro.fb.mode=1/0

hw3d.force=1/0

debug.enabletr=1/0

debug.qctwa.preservebuf=1

dev.pm.dyn_samplingrate=1

debug.mdpcomp.maxlayer=0/1/2/3

persist.hwc.mdpcomp.enable=1/0

com.qc.hardware=1/0

debug.qc.hardware=1/0

tl;dr: I think gpu composing is contributing to battery drain, still don't know how to fix screen flicker w/o it.

If you just want "disable hw overlays" to stick through reboots, add the following to your build.prop:

debug.overlayui.enable=1

Oh, also make sure your phone is deep sleeping. If not, that's the first thing to fix by flashing the correct baseband.