[Nexus S General] bedalus:
Harbb joined in doing specific battery tests, using the phone's battery graph. This is based on the phone's own readings (State of Charge or SoC for short). It's not very accurate for an instant reading, but over time, it does become more and more accurate. Therefore, Harbb conducted some very long (10 hour) tests. To improve accuracy further, he waited for the level of charge to drop to around 80% before each test. This eliminates the another source of inaccuracy, that the first 10% of the battery tends to deplete rather quickly (due to normal wear and tear over its lifetime). In fact, I use Ezekeel's Battery Life eXtender (BLX) to stop the phone charging early (at a user defined level: I prefer 90%) to help slow the deterioration of the battery's maximum capacity by preventing heat damage caused as the battery tries to absorb the final dose of charge above 90%.

Harbb's Data

Harbb's spreadsheet

Here's a summary of Harbb's 10 hour test findings, in order of best battery drain:

- 15% - SmartassV2 with DI

- 16% - Conservative with DI

- 21% - Lazy with DI and SOMF

- 23% - Lazy with DI

- 36% - Conservative

- 39% - Lazy

- 39% - Lazy with CPU IDLE

- 44% - Lazy with Eugene's DIDLE

- 48% - Lazy with Eugene's DIDLE and SOMF

[where DI means Ezekeel's Deep Idle, and SOMF indicates that Screen Off Max Freq was enabled]

Power Misconceptions

1st Misconception:

There is a misconception about about 200MHz using the same power as 100MHz because the voltage is the same. There is an approximate formula for CPU power consumption:

CPU Power Draw = C x F x V^2 (where C=capacitance, F=frequency, and V^2=Volts squared)

Capacitance is a constant, so we can ignore it. Let's fill in the values for the lowest and highest frequencies:

100 MHz V=0.95 so

V^2=0.9025

1000 MHz V=1.25 so

V^2=1.5625

So this shows we have roughly an extra 70% power drain due to the voltage increase. However, the maximum frequency is 10 times the minimum, i.e. a 900% increase. So the dominant factor in CPU power drain is in fact the frequency. Roughly speaking, the frequency has 13 times more influence over the power drain than the voltage.

Therefore, the governor that keeps the frequency as low as possible for as long as possible will save the most power. This appears to be consistent with Harbb's finding that conservative saves the most power.

2nd Misconception:

Some people say that if they UV they can play a game on their phone for an extra hour. The most you can get from UV is 2% extra battery life (and it is not worth the reboot risk).

See post #4 for calculations based on the actual measurements taken from the phone.

Here is a more academic proof using the same formula from the 1st misconception:

CPU Power Draw = C x F x V^2 (where C=capacitance, F=frequency, and V^2=Volts squared)

Capacitance is a constant, so we can ignore it. Let's fill in the values for just the highest frequency with the stock voltages and then an extreme undervolt:

1000 MHz V=1.25 so

V^2=1.5625

(stock volts)

1000 MHz V=1.2 so

V^2=1.44

(the most UV my phone can handle with a fully charged battery)

This is an 8% saving. Happily, this exactly matches what I measured in the real test (see cell F62 in the spreadsheet).

Remember, only the CPU is saving 8%, the screen being on uses about 4 times as much power as the CPU even at its highest frequency. This reduces the power saving to at most 2%.

I am of course assuming the screen is on. For most users, this is correct, as their processor will not be under a heavy load unless the device is in use, and this almost always means the screen is on. If anyone can think of any circumstances where the CPU is under a heavy load, but the screen is off, and show that this happens to all users a high enough proportion of the time to be relevant to this calculation, please let me know. [/far fetched caveat]