[Optimus One, P500, V General] mmarz:
Part 2

Setup:

To summarize my procedure, I splice equipment in between the battery and the phone so that I can monitor how much battery is being used at any given time. I install various roms and test how much the battery is drained using different features. This time around I used more sensitive equipment that gave a resolution of 0.01mA (100 times higher resolution than before!). My approach to the calculations was different this time too. Instead of just considering the current, I also recorded the voltage across the battery. In this way, I can calculate the instantaneous power draw.

Each rom was a fresh install. After the install, a Wifi network was added. Wifi sleep policy was set to never sleep. A google account was added. The rom was then restarted and airplane mode was toggled to remove the 50% TWS bug. No other settings were tampered with, including CPU speeds. Besides the typical tests from last time, I also included:

Downloading - Docs2Go using Wifi and 3G

Checking Email using Wifi and 3G

Calling Voicemail with 3G and Wifi turned off

Where (the app) Running

Where running in the background while on the Homescreen

Where running in the background while on Standby

Using all of the power drainage values, I created a formula for calculating the estimated battery life for the roms if set to 3G, Wifi, or a mix of both. The formula uses best guess values for the number of hours spent talking, surfing, running programs, and left in standby. The breakdown is as follows: 2 hours running programs, 1 hour surfing, 1 hour calling, and 20 hours on standby.

I also did an independent test to see the effects of underclocking. Using SetCPU on Rodimus, I forced different clock speeds and ran the Long Bench Test. I also looked at what happens when you go into Standby underclocked.

The roms I tested:

Aphrodite_1.3*

RodimusROM.v1.2.3

Zefie's CM7 03012011

aospCMod 03252011

aospCMod 04032011

*I forgot to run some of the tests on Aphrodite, but that didn't effect the final calculations.

Results:

(updated 4/6/2011)

This assumes: 2 hours running programs, 1 hour surfing, 1 hour calling, and 20 hours on standby for a given day.

This chart sums up all of the testing. The CM7 roms have a hug problem when it comes to Wifi power use in the idle state. When downloading files, all the roms use approximately the same amount of power. The average 3G power use when downloading is 1600mW which is almost twice as much as Wifi, 850mW. This is in contrast to the power use when in standby with no data transferring where 3G consumes the same amount of power as airplane mode and Wifi consumes at least twice as much with Rodimus and at most 34 times as much with the CM7 roms. Rodimus and Aphrodite have much better battery life on Wifi than the CM7 roms. This all depends on how much Wifi and 3G you actually use. The transfer speeds did not effect the power consumption. Checking email which occurred at 40 kbps consumed the same instantaneous power as downloading Docs2go at full speed. This was true for both Wifi and 3G. The "Mix" results assume you spend half of the 24 hours at home using Wifi (sleeping counts), and the other half using 3G. If you would like to experiment with the constants used to calculate the estimated battery life, download the attached xls file and manipulate only the values highlighted in green. The values highlighted in pink and chart 5 will change as a result.

Update 4/6/2011: The new asop rom seems to have improved the power consumption of the Wifi antenna drastically. There is still room for improvement compared to the stock rom, but I guess that is just a trade-off for the GB features. I have uploaded an updated xls file with the new results included.

The last test involved setting different CPU speeds and seeing how they effected standby power consumption and the power consumption during the Long Bench Test of SetCPU.

As you can see, under and over-clocking has zero effect when the CPU is idle.

This chart shows that the higher the CPU speed, the more power is consumed during the CPU intensive bench test, but this does not show the entire picture. Since the bench test is using a standard set of calculations, we can compare the time it takes to finish the test across the different CPU speeds. This value is conveniently given as the result of the bench test. Multiplying the steady power consumption to the time it took to finish the bench gives us the energy consumed to finish the bench. The clock speed with the least amount of energy use is therefor the most efficient speed (for this particular phone).

When we zoom in on the results at the high end of the CPU clock speeds, we see that the highest stable clock speed for this phone, 825 MHz, is not the most efficient. It is actually 806MHz that consumes the least amount of energy to complete the test. Even though 825 is faster, the increased power consumption counteracts its speed. It is also obvious that the slower clock speeds are way more inefficient for completing a CPU intensive task.

For some reason, 320MHz and 245MHz gave identical results. I think this is a kernel or hardware bug. I tested it repeatedly and got the same results.

Conclusion:

If you want to see what your battery life would be under various conditions, download the xls file and manipulate the values in green. The values in pink will change and will automatically be plotted in chart 5. Depending on your phone habits, you can pick the rom that suits you best. Remember that these are rough estimates. Your actual mileage might vary.

Turning off Wifi when the screen is off can save you battery life IF you have no backgrounds apps that send and receive data. If you do have those types of apps, Wifi is better than 3G to leave on (not including the current CM7 Wifi issue). If you are using 3G, there is no advantage to turning it off when the phone goes into standby unless you again have background apps that consume bandwidth. 3G consumes the same amount of power as airplane mode if there is no data transferring! My suggestion is to eliminate those types of apps if you don't need them and leave 3G on. That will save you the most amount of battery out of all the mods you can do.

If you are going to use SetCPU, overclocking will save you battery life. Underclocking will actually cost you. I would recommend leaving the upper limit one notch lower than what is considered stable for your phone. The lower limit does not matter all that much. I now have my lower limit set at the same value as the upper limit. When idle, both high and low clock speeds consume the same power. When the CPU is needed, the higher clock speed is more efficient (to a point). I would advise against the "conservative" scaling that gradually changes your clock speed to task if you still decide to underclock. This will only slow you down and consume more battery power. You also don't need a separate profile for when your phone is on standby. Lower clock speeds can only worsen your battery life.

Lastly, underclocking is not the same as undervolting. Undervolting would probably decrease battery consumption, but it is not implemented in any rom/kernel for the Optimus V...yet.