• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root Efficacy of undervolting

frdmspoplr

Well-Known Member
Jul 24, 2011
235
25
Has anyone taken to time to study whether undervolting actually makes a substantial impact on battery life? I know that theoretically it should, but I haven't seen any empirical evidence one way or the other. I haven't seemed to notice much of a difference but there's just too many variables to take into account to actually know. If no one's taken the time to study this I might try to do it myself and post my results.
 
I don't know if anyone has. And there's no way to verify the voltage is what it is even. My phone is stable at the minimum 600 mV anyway so I just leave it there. Would be interested to see what your test results are. I would suggest running stability test app for a couple of hours on each setting and see how the battery drain graph looks. Ideally you'd do it from a fresh charge down all the way for each of the voltage settings, but that'd take too long.
 
Upvote 0
I don't know if anyone has. And there's no way to verify the voltage is what it is even. My phone is stable at the minimum 600 mV anyway so I just leave it there. Would be interested to see what your test results are. I would suggest running stability test app for a couple of hours on each setting and see how the battery drain graph looks. Ideally you'd do it from a fresh charge down all the way for each of the voltage settings, but that'd take too long.

There was a short bit of testing regarding this using the Viewsonic Gtab with a custom kernal. On the Gtab with the dual core Tegra2, it did have a significant change in battery life, however, the only time the savings was significant was during overclocking. There are kernals like this out for my Transformer, but the tablet tends to get a little hot running with undervolting so I avoid it. On my Triumph, I don't use any underclock on the kernal, avoid Wifi usage unless at home and don't use bluetooth at all to get great battery life. I get around a full day with 20-30% left at the end of the day. When I use heavy data, I plug into the charger and let it ride (i.e. running Pandora, or iHeartRadio).
 
Upvote 0
There was a short bit of testing regarding this using the Viewsonic Gtab with a custom kernal. On the Gtab with the dual core Tegra2, it did have a significant change in battery life, however, the only time the savings was significant was during overclocking. There are kernals like this out for my Transformer, but the tablet tends to get a little hot running with undervolting so I avoid it. On my Triumph, I don't use any underclock on the kernal, avoid Wifi usage unless at home and don't use bluetooth at all to get great battery life. I get around a full day with 20-30% left at the end of the day. When I use heavy data, I plug into the charger and let it ride (i.e. running Pandora, or iHeartRadio).

It gets hot during UNDERVOLTING? that doesn't make sense (unless that's a typo), overvolting & overclocking yes, but the only downside of undervolting is data corruption or system crashing.
 
Upvote 0
It gets hot during UNDERVOLTING? that doesn't make sense (unless that's a typo), overvolting & overclocking yes, but the only downside of undervolting is data corruption or system crashing.

I'm told its due to something else going on (undervolting and overclocking = Overheating). I don't have all the details exactly. Mine got hot running -150mv at 1.5Ghz overclock. The lowest I could go without overheat was -50mv at 1.5Ghz overclock. The Tegra Processor is doing so much stuff at one time, there is no telling as to why or what is causing it. I did have odd occasional data corruption when running really low voltage on my Gtab. The system never appeared to have crashed though. I did have screen of death quite frequently up until they fixed some Wifi issues in the kernal on the Gtab. On my TF, I have had nearly zero issues due to OCing the device. I also don't undervolt. I costs a little in battery life, but I have a dock with a built in battery.
 
Upvote 0
Most of the frequencies above 1.0Ghz is already set a good voltage value, unless you want to drop them by 25 or 50, but nothing over 50. Frequencies 1.0Ghz and below is better for undervolting, mostly because those lower frequencies are mostly when the phone the phone is doing nothing, so those frequencies don't need so much power.
 
Upvote 0
Most of the frequencies above 1.0Ghz is already set a good voltage value, unless you want to drop them by 25 or 50, but nothing over 50. Frequencies 1.0Ghz and below is better for undervolting, mostly because those lower frequencies are mostly when the phone the phone is doing nothing, so those frequencies don't need so much power.

Agreed. I've seen no issues with performance when undervolting below 1Ghz. The processor, for me at least, doesn't seem to see that much low frequency unless sleeping. Then again, I have what I consider great battery life on my Triumph. On stock, I was getting around 5-6 useful hours. With my CM7 build I can go all day with light to moderate use and still wind up with 20+% left at the end of day. I use the OC kernal for my phone and use the built in OC utility from CM7 for management. The highest OC my phone sees is 1.4Ghz. I just can't justify pushing it too far.
 
Upvote 0
Agreed. I've seen no issues with performance when undervolting below 1Ghz. The processor, for me at least, doesn't seem to see that much low frequency unless sleeping. Then again, I have what I consider great battery life on my Triumph. On stock, I was getting around 5-6 useful hours. With my CM7 build I can go all day with light to moderate use and still wind up with 20+% left at the end of day. I use the OC kernal for my phone and use the built in OC utility from CM7 for management. The highest OC my phone sees is 1.4Ghz. I just can't justify pushing it too far.

The ease of lower frequency undervolting may be a bit misleading. The low frequencies are usually just in transition to the minimum, so not a lot of time is spent on those frequencies crunching numbers. Which is why in order to do real testing, you'd have to run stability test on each of the frequencies for a while. Also modern CPUs have a no-op command when there's nothing to execute, so basically it's a micro-sleep command. Even if the clock reports a frequency, the CPU may not do anything there. That is different than the CPU doing something at the same frequency.

This is also the reason sometimes UNDERCLOCKING isn't worth it, because it just takes the CPU longer to finish its work queue, with a higher max freq, it can finish it quicker and go into the micro-sleep mode faster (race to idle). This also has an upper limit because the whole system still has to wait for memory reads/writes, so too fast of a cpu with slow memory won't see much benefit.
 
Upvote 0
This is also the reason sometimes UNDERCLOCKING isn't worth it, because it just takes the CPU longer to finish its work queue, with a higher max freq, it can finish it quicker and go into the micro-sleep mode faster (race to idle). This also has an upper limit because the whole system still has to wait for memory reads/writes, so too fast of a cpu with slow memory won't see much benefit.
So what would you say, 567Mhz max, 24Mhz min, smoothass vs. 1.1Ghz max, 24(or 184Mhz) min, smoothass(or maybe savagedzen or smartassV2)?
 
Upvote 0
So what would you say, 567Mhz max, 24Mhz min, smoothass vs. 1.1Ghz max, 24(or 184Mhz) min, smoothass(or maybe savagedzen or smartassV2)?

I think 567 max is a bit low. 24mhz is ok if there's no problem waking up from sleep or ramping up (that depends on the governor). I've tried smartassv2 a couple of times and noticed in CPU Spy it stayed at higher frequencies longer than interactive (or what I'd like). I prefer interactive for its simplicity. Some of the governors can be too complicated and not worth the overhead. The govenor code runs every frequently, so any inefficiency in there gets magnified.
 
Upvote 0
567 is SUPER fast, smoothass makes it smooth for daily use, smoothass also goes 3 steps higher than your min so technically it makes my min 245, so I can still plaly music with screen off. I wonder how minmax would do at 567...

EDIT: Minmax goes to the min when idle, not good...
 
Upvote 0
the way I see if, if the factory wanted the chip to run at a certain voltage, thats just how it should be. they spend millions in R&D designing these advanced chips, but somehow we think we know better and say it should run at a different voltage? haha.

I wont say the same for the clock speed though, they design the chip to run at different speeds for different markets, no harm in overclocking a little.

there is a phone being released soon, (the name escapes me, saw it on engadget), but its running the MSM8655 at 1.4 stock. so clearly its designed for more than what we get.
 
Upvote 0
the way I see if, if the factory wanted the chip to run at a certain voltage, thats just how it should be. they spend millions in R&D designing these advanced chips, but somehow we think we know better and say it should run at a different voltage? haha.

I wont say the same for the clock speed though, they design the chip to run at different speeds for different markets, no harm in overclocking a little.
I see no difference, mind explaining?...
 
Upvote 0
Manufacturers streamline their process to meet a minimum spec, undervolting & overclocking just takes advantage of the occasional high-quality chip that came out of the same assembly line. Even though most MSM8655 chips can run at 1.4 Ghz (on other devices). It's possible that the Motorola/Huawei Triumph gets the ones that failed the 1.4 Ghz (or a certain voltage) test at the factory (imagine leftover, slightly lower quality apples at the grocery market, selling for a discount). The company can put a marketing spin on it by saying it'll improve battery life (which is true also). I had an Acer Liquid with original snapdragon processor that came in at 1ghz on the original Nexus, but clocked at 768 Mhz max on the Liquid.
 
Upvote 0
Manufacturers streamline their process to meet a minimum spec, undervolting & overclocking just takes advantage of the occasional high-quality chip that came out of the same assembly line. Even though most MSM8655 chips can run at 1.4 Ghz (on other devices). It's possible that the Motorola/Huawei Triumph gets the ones that failed the 1.4 Ghz (or a certain voltage) test at the factory (imagine leftover, slightly lower quality apples at the grocery market, selling for a discount). The company can put a marketing spin on it by saying it'll improve battery life (which is true also). I had an Acer Liquid with original snapdragon processor that came in at 1ghz on the original Nexus, but clocked at 768 Mhz max on the Liquid.
That's the same theory I was thinking, voltages and overclocking is supposed to be changed if desired, it's not about us thinking we know better. The manufactures plays it safe, they don't want to worry about random reboots at all.
 
Upvote 0
That's the same theory I was thinking, voltages and overclocking is supposed to be changed if desired, it's not about us thinking we know better. The manufactures plays it safe, they don't want to worry about random reboots at all.
Exactly. The manufacturer's gonna release the best performing most stable product possible. At lower voltages or higher clock speeds than advertised, it may or may not perform better and may or may not become unstable, with each person's experience being unique.
 
Upvote 0
I'm testing the TG-Reloaded ROM for undervolting capability, but I'm not sure what I'm seeing is actually valid.

My test scenario is this -

1. Set performance governor / noop
2. Set max frequency to desired frequency for testing
3. Set voltage in Incredicontrol for the matching frequency.
4. Test for 1 hr
5. Drop voltage -25 and repeat

I started with 1.4 GHz at my test frequency, and I'm down to 675 in Incredicontrol. Is this even realistic? I suspect that either the phone is ignoring my value or the app isn't setting the voltage level correctly. I would have expected reboots and errors long ago.

Any ideas?
 
Upvote 0
At some point when I have some free time where I can afford to be without my phone the several hours, I'm gonna try to run some stability tests at different frequencies/voltages and see what happens, if for no other reason than to satisfy my own curiosity lol.

I run mine overnight using the "scaling stability test". That one switches between the various frequencies. It can be a little anoying when the alarm goes off and the processor is loaded up at a low frequency.
 
Upvote 0
I'm testing the TG-Reloaded ROM for undervolting capability, but I'm not sure what I'm seeing is actually valid.

My test scenario is this -

1. Set performance governor / noop
2. Set max frequency to desired frequency for testing
3. Set voltage in Incredicontrol for the matching frequency.
4. Test for 1 hr
5. Drop voltage -25 and repeat

I started with 1.4 GHz at my test frequency, and I'm down to 675 in Incredicontrol. Is this even realistic? I suspect that either the phone is ignoring my value or the app isn't setting the voltage level correctly. I would have expected reboots and errors long ago.

Any ideas?

Did you hit "apply" at the bottom of Incredicontrol?
 
Upvote 0
Thank you, I hadn't clarified this. I am definitely applying the settings after dropping the voltage frequency.

As of this post, I've gotten to 600 on the 1.4 GHz frequency, which seems unbelievable.

Yeah I can set 600 mV from 64-1024 Mhz, and even 1.4 ghz when I was just trying to get some benchmark scores. Kinda suspiscious, which is why I'm interested in someone running stability test at say 1200 mV @ 1024 Mhz, and at 600 mV @ 1024 Mhz from full batt to half, and see how the battery usage graphs compares.
 
Upvote 0
Setting the performance governor seems to have some effect on the testing. I can set 600 mV @ 1.4 GHz with performance governor without issue, which is completely unreasonable. Setting 600 mV @ 1.4 GHz with the interactive/ondemand governor, however, resets the phone instantly. I expect that the performance governor locks the voltage or disables variable voltage control, but I haven't looked at the source to confirm.

With this in mind, I have a new testing procedure, which I've outlined below.

1. Set the upper and lower CPU frequency limit in CM7 settings (or No-frills or setCPU)
2. Start StabilityTest and select the Scaling Test. This test will ramp up the CPU frequency as the test progresses, ensuring that every available frequency is tested at maximum load.
3. Confirm that the test will run between my upper and lower frequency settings from step 1 (61 MHz and 1.4 GHz, in my case)
4. Set voltage for maximum CPU frequency in IncrediControl (1.4 GHz @ 1200 mV, for example)
5. Apply voltage in IncrediControl
6. Test for 1 hour with StabilityTest in foreground (it gets killed sometimes if I multitask with it in the background)
7. If tests complete successfuly, drop the voltage for the maximum CPU frequency by 25, apply and repeat step 6.
8. If any test fails or the phone reboots, use the last tested "stable" voltage at that frequency.

In this way, I tested 1.4 GHz all the way to 1150 before I got a reboot. The phone was stable on 1175 mV, so I set that as my final value and moved on to the next CPU frequency (1.3 GHz). I'm starting that test now and will continue until I get data corruption or a reboot. Once that's done, I'll start on 1.2 GHz, etc.

After I work all the way down to the lowest stable voltage settings for each frequency, I'll run StabilityTest overnight (8+ hours) at the discovered "stable" settings to confirm that the phone can handle the load and the heat.
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones