[HTC 10 Guides, News, & Discussion] Haldi4803:
Are Android Powerestimates accurate?

We all know em, some use them, they were totally off in ICS, but how accurate are they really?

Found in the power_profiles.xml are the values written in mA by the system Manufacturer.

For the 1.92.709.1 Firmware these Values are set:

<device name="Android">
<item name="screen.on">103.3</item>
<item name="screen.full">276.7</item>
<array name="screen.brightness">
<>dark</> <>0</>
<>dim</> <>24.56</>
<>medium</> <>96.03</>
<>light</> <>186.37</>
<>bright</> <>276.7</>

<array name="gpu.speeds">
<>190000</> <>104.95</>
<>305000</> <>341.61</>
<>390000</> <>516.54</>
<>450000</> <>640.01</>
<>510000</> <>763.49</>
<>600000</> <>948.71</>

<array name="cpu.speeds.cluster0">
<>307200</> <>57.10</>
<>422400</> <>65.75</>
<>480000</> <>67.21</>
<>556800</> <>72.12</>
<>652800</> <>75.60</>
<>729600</> <>81.91</>
<>844800</> <>91.05</>
<>960000</> <>102.38</>
<>1036800</> <>111.43</>
<>1113600</> <>121.62</>
<>1190400</> <>132.03</>
<>1228800</> <>148.61</>
<>1324800</> <>159.51</>
<>1401600</> <>181.70</>
<>1478400</> <>211.21</>
<>1593600</> Missing ????

<array name="cpu.speeds.cluster1">
<>307200</> <>69.57</>
<>403200</> <>70.64</>
<>480000</> <>74.50</>
<>556800</> <>78.11</>
<>652800</> <>83.33</>
<>729600</> <>88.63</>
<>806400</> <>93.70</>
<>883200</> <>99.07</>
<>940800</> <>103.11</>
<>1036800</> <>112.97</>
<>1113600</> <>121.95</>
<>1190400</> <>131.92</>
<>1248000</> <>138.84</>
<>1324800</> <>149.33</>
<>1401600</> <>159.57</>
<>1478400</> <>172.79</>
<>1555200</> <>216.73</>
<>1632000</> <>230.90</>
<>1708800</> <>236.94</>
<>1785600</> <>250.28</>
<>1824000</> <>251.77</>
<>1920000</> <>270.90</>
<>1996800</> <>295.59</>
<>2073600</> <>315.36</>
<>2150400</> <>357.05</>

<item name="cpu.idle">5.07</item>
<item name="cpu.awake">18.93</item>
<item name="battery.capacity">3000</item>

How are we gonna test these values?

Trepn Profiler allows to switch from Watt to Ampere. How accurate that is has yet to be proven.

Going by this old tests with practical values extrapolated we get 28.5hours with 3000mAh Battery on Minimum and 8.7hours with Maximum Brightness. According to this would get a 105.3mA respective 344mA drain.

According to Power_Profile.xml we have Screen on 103.3mA +Screen Dark 0mA +CPUawake 18.93mA = 122.23mA on Minimum Brightness and on Maximum it would be 103.3mA +Screen Bright 267.7+CPUawake 18.93mA = 389.93mA ?

Using TrepnProfiler in Flightmode for 10 Minutes with the phone idle i got 107.11mA in Minimum and 290.45mA with Maximum Screenbrightness.

So we get Minimum Screenbrightness:

Practical: 105.3mA

PP.xml: 122.23mA

Trepn: 107.11mA

And Maximum Screenbrightness:

Practical: 344mA

PP.xml: 389.91mA

Trepn: 290.45mA

Which of these Values are accurate now? No idea!

So let's see CPU load. Using Stability Test v2.7 and Trepn profiler for 10 Minutes in Flight mode with min Screen Brightness.

PP.xml would result in ScreenON 103mA +CPUawake 20mA +CpuActive(onFrequency X)*NrCoresActive

Trepn - Frequency - PP.xml

2100mA 1600Mhz 977mA

1272mA 1324Mhz 743mA

820mA 1036Mhz 570mA

630mA 724Mhz 463mA

425mA 307Mhz 377mA

So yeah, we already see a discrepancy here. Trepn shows 2A and PP reports 1A thats 50% WTF? The lower the frequency goes the closer these two values get.

I didn't go over 1600mhz as the battery already got 48°C i'd have to put it into the fridge for more testing. (i will do it :P )

Okay... GPU is like totally off!

<array name="gpu.speeds">

<>190000</> <>104.95</>

<>305000</> <>341.61</>

<>390000</> <>516.54</>

<>450000</> <>640.01</>

<>510000</> <>763.49</>

<>600000</> <>948.71</>

Really? Don't they know our GPU runs at different Clock speeds than this? A direct comparison is not really possible.... so here are the values, taken with GFXBenchmark 10 Min Manhatten 3.1 BatteryLife.

624Mhz 1338mA

560Mhz 1051mA

510Mhz 890mA

401.8Mhz 704mA

315Mhz 604mA

214Mhz 506mA

133Mhz 402mA

Of course these Values are taken with a FULL load Manhatten ES3.1 Maybe if the game would be less taxing they might be more accurate. But the fact that they don't even have the propre Clock shows quite a lot.

So what do you guys think? Should i recompile the Framework-res.apk with corrected values? Would be kinda interesting to see how it works...

[MENTION=3296134]gekkehenkie11[/MENTION]

You might find this interesting :)