Battery problems solved/improved!!! (Two findings to drastically improve drain)

Search This thread

pewpewbangbang

Senior Member
Feb 13, 2010
2,046
257
Ann Arbor & NYC
As many of you know, battery life on the One X has been lets say, poor.

I decided to narrow down the problems and try to figure out whats causing it.

I figured i'd download voltage control (SetCPU works also) and underclock the CPU, low and behold......I may have figured out why the battery was dropping so much during screen on standby.

ONDEMAND GOVERNOR!!! It was causing crazy CPU instability. The CPU was constantly changing from 340mhz to 1500mhz (or your max speed) every single second, alternating constantly.

I've changed it to Interactive and it's been much more stable now. When not doing anything, the CPU will stay at 340mhz and no longer constantly ramps up to maxx CPU speed and back down alternating.

Try this out and see if it helps you guys. I'm going to continue experimenting with the other governors, but Interactive should be the best blend between battery and performance.

Also download CPU spy to see what steps of the Speeds have been active the most.

Edit: Changing the frequencies does not do anything sadly. Will need to wait for VoltageControl and SetCPU to be updated.
BUT changing the governor does work and makes a big difference.

Going to Interactive, my battery no longer drains at around 1% for every 1-2 minutes of screen on time leaving the screen on and idle. It drains much more normally.

Tonight I will do the HTC test where you check how much battery drains for 1 hour of screen on time at max brightness. You may feel free to try it out using the dialer *#*#3424#*#* and running battery test.
I will do this tonight and upload my results/screenshots

Update:
Here are the two main tips that I have found out now to help a lot with battery and low CPU usage that is stable

1) Use Interactive Governor, it is less aggressive at ramping up to max frequency and much more efficient. Also more stable and not erratic like OnDemand Governor

2) USE APEX LAUNCHER or something besides Sense Launcher.

I have downloaded Tegrastats to show me CPU usage and have compared between Sense Launcher and Apex. Sense is very resource hungry, and CPU usage is very high. It is almost constantly has both cores turned on and usage fluctuates between 15-70% alternating on the two cores when screen is on but idle. The frequency also stays around 400mhz on idle.
Apex launcher on the other hand, uses 1 core when idle, and usage stays around 10%. It also hovers around 102-204mhz when screen is on but idle. When swiping as fast as possible to ramp up speeds, I haven't seen it go above 640mhz and usage between the two cores is around 30-50% EVEN with both cores vs. alternating 15-70% on both cores with Sense Launcher
 
Last edited:

131313

Senior Member
Jan 24, 2012
229
103
Zürich
Thanks mate
Strange, from what I remember any CPU-tool didn't have any impact on my governor and cpu behavior. Maybe this has changed with the update. So I will have another go

(Just put it on its 7th charge, gotta wait a while..)
 

thegregulator

Senior Member
Dec 6, 2010
803
172
Vancouver
As many of you know, battery life on the One X has been lets say, poor.

I decided to narrow down the problems and try to figure out whats causing it.

I figured i'd download voltage control (SetCPU works also) and underclock the CPU, low and behold......I may have figured out why the battery was dropping so much during screen on standby.

ONDEMAND GOVERNOR!!! It was causing crazy CPU instability. The CPU was constantly changing from 340mhz to 1500mhz (or your max speed) every single second, alternating constantly.

I've changed it to Interactive and it's been much more stable now. When not doing anything, the CPU will stay at 340mhz and no longer constantly ramps up to maxx CPU speed and back down alternating.

Try this out and see if it helps you guys. I'm going to continue experimenting with the other governors, but Interactive should be the best blend between battery and performance.

Also download CPU spy to see what steps of the Speeds have been active the most.

What have you set your min frequency to? I take it 340?

Sent from my HTC One X using xda premium
 
Last edited:

ttav

Senior Member
Aug 6, 2010
2,695
1,213
As many of you know, battery life on the One X has been lets say, poor.

I decided to narrow down the problems and try to figure out whats causing it.

I figured i'd download voltage control (SetCPU works also) and underclock the CPU, low and behold......I may have figured out why the battery was dropping so much during screen on standby.

ONDEMAND GOVERNOR!!! It was causing crazy CPU instability. The CPU was constantly changing from 340mhz to 1500mhz (or your max speed) every single second, alternating constantly.

I've changed it to Interactive and it's been much more stable now. When not doing anything, the CPU will stay at 340mhz and no longer constantly ramps up to maxx CPU speed and back down alternating.

Try this out and see if it helps you guys. I'm going to continue experimenting with the other governors, but Interactive should be the best blend between battery and performance.

Also download CPU spy to see what steps of the Speeds have been active the most.

I`m not seeing this at all.My phone has been on standy for a few hours..wifi on/auto sync on..ondemand governor.Battery loss about 4% in 3 hours. CPUspy reports no high frequency spikes..highest shown is 475MHz.
 

treebill

Senior Member
Jan 28, 2011
2,130
564
Set CPU doesn't work it will still go over the max set. I have contacted the maker and he is looking into it hard without kernel sources. Screen shot

screenshot2012042617432.png




Sent from my HTC One X using xda premium
 
  • Like
Reactions: Fruktsallad

pewpewbangbang

Senior Member
Feb 13, 2010
2,046
257
Ann Arbor & NYC
I wouldn't lose battery with screen off. But with the screen on and not doing anything. Just watching the speeds in voltage control I watched it constantly alternate with 340 and 1500.

My min is the lowest I can set, around idk 50? I don't remember. But it doesn't go that low unless screen off standby. Probably for companion core.

This is just to let people know that ondemand governor acts funky and interactive is probably the best to use.

Sent from my HTC One X using XDA
 

pewpewbangbang

Senior Member
Feb 13, 2010
2,046
257
Ann Arbor & NYC
Sadly true. Don't know how these other people can claim that it's working.

Use voltage control, it's free from the play store.

You can tell the difference between OnDemand and Interactive or w/e governor you choose. OnDemand not touching the screen, you can watch in VoltageControl it alternates constantly between your max CPU and 340mhz (This is about the lowest it goes while screen is on). Then apply Interactive and it will stay at 340mhz and not jump up to the max speed anymore.
 
Last edited:

pewpewbangbang

Senior Member
Feb 13, 2010
2,046
257
Ann Arbor & NYC
OK, I'll check it out!

Yup, I just checked again and watched OnDemand be very unstable as the Governor itself is somewhat like that.

OnDemand ramps up to the high frequences so that everything is smooth, the only problem is that it's doing it way too easily. Leaving screen on and not touching it, something causes it to constantly jump back and forth between low and max frequencies.

Setting to Interactive or even Conservative makes it much more "stable"

Conservative is really good at staying on low frequences (takes longer to ramp up speeds) but as a result feels very laggy so Interactive is what I recommend as the best blend. (In general, Interactive governor is becoming the standard for most phones. I remember it being very popular on the i9100 and Galaxy Nexus)

So yea, just try out Interactive and see how it works for you. I am no longer draining battery at like 1% for ever 1-2 minutes of screen on time leaving it
 

ttav

Senior Member
Aug 6, 2010
2,695
1,213
I wouldn't lose battery with screen off. But with the screen on and not doing anything. Just watching the speeds in voltage control I watched it constantly alternate with 340 and 1500.

My min is the lowest I can set, around idk 50? I don't remember. But it doesn't go that low unless screen off standby. Probably for companion core.

This is just to let people know that ondemand governor acts funky and interactive is probably the best to use.

Sent from my HTC One X using XDA

OK i assumed standby = screen off.Switched to interactive on System Tuner Pro....i see less spikes at 475 MHz.
I don`t have time but maybe someone could test for lag between the onedemand and interactive governors. I know for sure that the Tegra 3 works better using ondemand on my prime.
Anyway interesting things gould come from this.

---------- Post added at 07:55 PM ---------- Previous post was at 07:52 PM ----------

We really need the kernel source released so the devs can get to work.
 

pewpewbangbang

Senior Member
Feb 13, 2010
2,046
257
Ann Arbor & NYC
OK i assumed standby = screen off.Switched to interactive on System Tuner Pro....i see less spikes at 475 MHz.
I don`t have time but maybe someone could test for lag between the onedemand and interactive governors. I know for sure that the Tegra 3 works better using ondemand on my prime.
Anyway interesting things gould come from this.

Interactive is very similar to OnDemand, but it is not as "aggressive" in it's frequency changes.

It is a very popular Governor on other phones and Kernels. So far, I've experienced no lag as it still hits those high frequencies, but less often and only when it needs to.

My main issue was leaving screen on and in standby with OnDemand and watching it constantly jump from low to max frequency which is definitely not correct.

Using interactive, battery drain has been much better and to the norm.

Can't wait for kernels to come out and optimize battery and performance.
 

ttav

Senior Member
Aug 6, 2010
2,695
1,213
Interactive is very similar to OnDemand, but it is not as "aggressive" in it's frequency changes.

It is a very popular Governor on other phones and Kernels. So far, I've experienced no lag as it still hits those high frequencies, but less often and only when it needs to.

My main issue was leaving screen on and in standby with OnDemand and watching it constantly jump from low to max frequency which is definitely not correct.

Using interactive, battery drain has been much better and to the norm.

Can't wait for kernels to come out and optimize battery and performance.

I suggest everyone head over to HTCdev.com and post a comment asking for the One X kernel source code release.
 

MrPhilo

Senior Member
Dec 12, 2010
2,028
654
Sheffield
I was going to make a new thread until I saw this.

I was able to override the Tegra 3 system using a few tricks which allowed me to change the frequency to my own, plus only allowing 2 cores to come on.

I'm at work but ill post a video soon, you only need setCPU and patience to get it to work.

I monitored this by TegraSTATS in the market for free
 

pewpewbangbang

Senior Member
Feb 13, 2010
2,046
257
Ann Arbor & NYC
I was going to make a new thread until I saw this.

I was able to override the Tegra 3 system using a few tricks which allowed me to change the frequency to my own, plus only allowing 2 cores to come on.

I'm at work but ill post a video soon, you only need setCPU and patience to get it to work.

I monitored this by TegraSTATS in the market for free

Great!, would be awesome if you can post it up here later
 

pewpewbangbang

Senior Member
Feb 13, 2010
2,046
257
Ann Arbor & NYC
Here's a small evidence for now, my CPU is set from 102mhz to 1000mhz. The bottom monitor is Tegrastats, as you can see only 2 cores are running max at 100% at 1Ghz on the CPU benchmark.

b9ioah.png

Yea similar to hotplug governor except is it always 2 cores for your mod?

Hotplug governor enabled however many cores were needed and disabled when not in use.

Either way, awesome work.
Sent from my HTC One X using XDA
 

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    As many of you know, battery life on the One X has been lets say, poor.

    I decided to narrow down the problems and try to figure out whats causing it.

    I figured i'd download voltage control (SetCPU works also) and underclock the CPU, low and behold......I may have figured out why the battery was dropping so much during screen on standby.

    ONDEMAND GOVERNOR!!! It was causing crazy CPU instability. The CPU was constantly changing from 340mhz to 1500mhz (or your max speed) every single second, alternating constantly.

    I've changed it to Interactive and it's been much more stable now. When not doing anything, the CPU will stay at 340mhz and no longer constantly ramps up to maxx CPU speed and back down alternating.

    Try this out and see if it helps you guys. I'm going to continue experimenting with the other governors, but Interactive should be the best blend between battery and performance.

    Also download CPU spy to see what steps of the Speeds have been active the most.

    Edit: Changing the frequencies does not do anything sadly. Will need to wait for VoltageControl and SetCPU to be updated.
    BUT changing the governor does work and makes a big difference.

    Going to Interactive, my battery no longer drains at around 1% for every 1-2 minutes of screen on time leaving the screen on and idle. It drains much more normally.

    Tonight I will do the HTC test where you check how much battery drains for 1 hour of screen on time at max brightness. You may feel free to try it out using the dialer *#*#3424#*#* and running battery test.
    I will do this tonight and upload my results/screenshots

    Update:
    Here are the two main tips that I have found out now to help a lot with battery and low CPU usage that is stable

    1) Use Interactive Governor, it is less aggressive at ramping up to max frequency and much more efficient. Also more stable and not erratic like OnDemand Governor

    2) USE APEX LAUNCHER or something besides Sense Launcher.

    I have downloaded Tegrastats to show me CPU usage and have compared between Sense Launcher and Apex. Sense is very resource hungry, and CPU usage is very high. It is almost constantly has both cores turned on and usage fluctuates between 15-70% alternating on the two cores when screen is on but idle. The frequency also stays around 400mhz on idle.
    Apex launcher on the other hand, uses 1 core when idle, and usage stays around 10%. It also hovers around 102-204mhz when screen is on but idle. When swiping as fast as possible to ramp up speeds, I haven't seen it go above 640mhz and usage between the two cores is around 30-50% EVEN with both cores vs. alternating 15-70% on both cores with Sense Launcher
    1
    Set CPU doesn't work it will still go over the max set. I have contacted the maker and he is looking into it hard without kernel sources. Screen shot

    screenshot2012042617432.png




    Sent from my HTC One X using xda premium