Linked by snydeq on Wed 2nd Nov 2011 22:50 UTC
Google InfoWorld's Serdar Yegulalp provides a look at the best apps for boosting the battery life of your Android device. "The best place to start if you just want to survey your power usage habits is Battery Indicator. To follow that up with actual power management, Green Power and JuiceDefender are your best bets. 2x Battery is not a bad program, but it's limited to managing cell data and not Wi-Fi connections. If that feature were added in a future revision, 2x Battery would be a real contender."
Thread beginning with comment 495428
To read all comments associated with this story, please click here.
Conditional underclocking
by Shmoopty on Wed 2nd Nov 2011 23:50 UTC
Shmoopty
Member since:
2011-01-03

I've found SetCPU to be the best battery saver beyond any of those recommended apps.

It will allow your CPU to be progressively underclocked when it reaches certain battery levels if your phone is rooted.

At 30% battery, my phone becomes slow. At 15%, it becomes *very slow*.

Because slow is always better than dead, and the net effect is significantly longer battery life.

Reply Score: 1

RE: Conditional underclocking
by Alfman on Thu 3rd Nov 2011 05:11 in reply to "Conditional underclocking"
Alfman Member since:
2011-01-28

Shmoopty,

"I've found SetCPU to be the best battery saver beyond any of those recommended apps. It will allow your CPU to be progressively underclocked when it reaches certain battery levels if your phone is rooted."

I don't have an ARM processor to test this on, but I hear that these processors are extremely aggressive in conserving power when they're not in use. This way, when they're idle, they should have a similar energy footprint regardless of clock speed. And when they're busy, the clock speeds are inversely proportional to the length of time spent being busy. So slowing down the clock isn't necessarily more efficient.


Here is data from a test I just completed on my Intel Xeon 3.00GHZ E3110.

A simple work load: ( 21.5B loops )
xor ax, ax
xor bx, bx
xor cx, cx
again:
add ax, 1
adc bx, 0
adc cx, 0
cmp cx, 5
jb again
int 20h

3GHZ Throttling enabled:
Idle = 5.2watt
Workload = 16.5watt for 23s = .105 watt-hours

3GHZ Full throttle:
Idle = 6.6watt
Workload = 17.6watt for 22s = .108 watt-hours

2GHZ Throttling enabled:
Idle = 5.1watt
Workload = 9.1watt for 98s = .248 watt-hours

2GHZ Full throttle:
Idle = 6.6watt
Workload = 17.6watt for 33s = 0.161 watt-hours


I can't explain what went on with cpu throttling at 2GHZ, a guess is that maybe it wasn't designed to work with an underclocked CPU? Never the less, take note that in all instances (with and without dynamic throttling), the CPU clocked at 3GHZ was more energy efficient under load than when it was clocked at 2GHZ. Interestingly the 2GHZ throttled test used the lowest wattage but required the greatest total energy because it was so slow. At idle, the cpu frequency made no difference, as I anticipated.

So, if the CPU's idle energy footprint is the same regardless of clock speed, then it may make the most sense to empty the work queues as quickly as possible to return to idle.

Comparing this to ARM processors is obviously apples to oranges, but it should provide a good warning against taking improved energy/frequency ratios for granted.


Can anyone shed light on empirical data for ARM processors specifically, like those used in Android phones?

Edit: I should add that my test didn't play with voltages levels, which were left at auto. The cpu throttling utility for my mainboard is supposed to do that, though I'm not sure exactly what it does since it's been end-user dumbified.

Edited 2011-11-03 05:30 UTC

Reply Parent Score: 4

JAlexoid Member since:
2009-05-19

You can't compare a workstation CPU with highly optimised low power usage CPU. Too different architectures and other stuff.

Did you factor in the OS into your tests of Xeon? Because that makes a lot of difference. Specially in the more is less case.

Reply Parent Score: 2

2shanfernando Member since:
2008-02-01

+1 for SetCPU or CPU Tuner for the adventurous rooters. The former is free for XDA-Developers but well worth a donation for his efforts!

Reply Parent Score: 0

phoenix Member since:
2005-07-11

SetCPU shouldn't be needed on most modern devices running Android 2.3. CPU speed should be automatically controlled by default now. At least, it is on my Xperia Pro, as shown by System Monitor (goes as low as 200 Mhz and various steps up to the max of 1 GHz).

SetCPU isn't needed with Cyanogenmod 7.x either, as similar features are built in.

About the only time you need SetCPU anymore is if you are going to overclock the CPU.

Reply Parent Score: 2

Classical conditioning ;p
by zima on Wed 9th Nov 2011 23:52 in reply to "Conditional underclocking"
zima Member since:
2005-07-06

I've found SetCPU to be the best battery saver [...] At 30% battery, my phone becomes slow. At 15%, it becomes *very slow*. Because slow is always better than dead, and the net effect is significantly longer battery life.

Probably mostly because it acts as a signal / limiter for you, to use it much less (while, per task, possibly actually using more power)

When people become (almost) obsessed about some goal desired by them, about tricks supposedly leading to it - they often overlook how much, during search for the holy grail, they modify their own behaviour (and, subsequently, lead themselves to feedback loop, reinforce their self-perception that tricks work)

Reply Parent Score: 2