Related
I have been kicking around getting SetCPU to do some auto CPU throttling to help with battery life, but I'm uncertain if I actually would see a lot of improvement.
The reason I am unsure, is I installed some CPU info widgets, and they report a CPU frequency that already seems to throttle. Is it actually doing throttling or are the widgets just not accurate? If it is throttling, is there still a case to be made for SetCPU?
Thanks!
If you want something that's just set and forget, SetCPU alone will do very little to extend usage time.
The stock kernel does throttle the CPU.
SetCPU gives you control over how your (rooted) phone throttles it's CPU, it allows you to change the CPU governor, set minimum and maximum CPU speeds, or overclock with a compatible kernel.
CPU Spy will give you a break down of what speeds the CPU is using and how often.
thanks for the info!
Caveats: Every CPU and GPU does not come from the same bin, fabricated on the same date and possibly not manufactured in the same facility. They may each display different physical properties and a wider range of stability than others. What works for me may not work for you.
That being said, I've been stress testing my device with different settings for the past couple weeks trying to find a sweet spot of stability, speed, battery life and heat output.
I'm going to share two setups: my current one that I've stress tested for less than 24hrs but has proved stable through all conditions encountered thus far and my tried and true setup I've used for over a week with no trouble.
Tried and true setup:
Governor - ondemand
Range - 100MHz through 1.6GHz
100MHz - 800mV
200MHz - 825mV
300MHz - 850mV
400MHz - 900mV
500MHz - 900mV
600MHz - 900mV
700MHz - 925mV
800MHz - 950mV
900MHz - 1000mV
1000MHz - 1025mV
1100MHz - 1100mV
1200MHz - 1125mV
1300MHz - 1150mV
1400MHz - 1175mV
1500MHz - 1250mV
1600MHz - 1350mV
Experimental but stable battery saver:
Governor - ondemand
Range - 100MHz through 1.6GHz
100MHz - 775mV
200MHz - 775mV
300MHz - 800mV
400MHz - 800mV
500MHz - 825mV
600MHz - 850mV
700MHz - 875mV
800MHz - 900mV
900MHz - 950mV
1000MHz - 1000mV
1100MHz - 1100mV
1200MHz - 1125mV
1300MHz - 1150mV
1400MHz - 1175mV
1500MHz - 1225mV
1600MHz - 1350mV
GPU setup:
Low power state - 100MHz @ 800mV
High performance state - 400MHz @ 1050mV
Notes:
Custom governors were not stable for me AT ALL! I've found ondemand to be the best one for me and my needs, personally.
100MHz @ 750mV was so, SO close to being stable for me but my phone would routinely reboot in the screen off state. I'm assuming the stress of apps updating in the background, notifications etc was just too much.
As much as I love WidgetLocker (and I really do!), I found it to consume valuable resources, have more pronounced wake up lag and generally contribute to instability.
I use Chainfire3D to run my games etc. at x4 MSAA. As previously stated by Chainfire, the Mali can run at x4 with almost no extra overhead. I imagine that if one doesn't use x4 MSAA, one *might* be able to get away with 400MHz @ the stock 1000mV setting. That being said, I consider an extra 50mV to run at 133MHz faster to be a bargain.
Many games can be run with x16 MSAA with minimal overhead but I've found that for some resource intensive ones, especially multiplayer, they'll slow down unless the GPU is fed at 1200mV but this in turn causes a lot of heat generated so I would advise to avoid turning on x16 MSAA for those that you do find slowing down.
I use and recommend Voltage Control (donate version for extra features!) for setting up clock range and voltage for both the CPU and GPU. It also allows one to set boot settings (at setup or init.d script) and create multiple profiles. I do not recommend init.d script for untested settings as it could cause you issues.
Edit: Not everyone's kernels may support GPU OC/UV or the CPU ranges listed here. I am not responsible if you bork your device.
Here's someone else's method for testing settings:
Here's how I test UV settings.
Turn on everything. Wifi, bluetooth, max brightness, the whole works. This ensures the system is at maximum strain.
Start at maximum CPU clock
Lock the CPU clock (set the minimum and maximum allowed clock to the clock you are currently undervolting)
Lower the voltage by one step
Start a benchmark for a few minutes to see if undervolted clock is stable
If it passes, lower it again go back to step 4
When it freezes up your phone, reboot it and increase the voltage at that clock by two steps and consider it safe
Move to next frequency and go back to step 3.
You reached your lowest clock? Congrats, you should have a well undervolted CPU
Your voltages should always be lowering when your go from the highest clock to the lowest. If it happens that you have to increase the voltage at a lower clock, then also increase the higher clock frequency. I had a few hard locks because of this.
Example.
1000mAh (1GHz) > 900 mAh (900MHz) *< 950 mAh (800MHz) * > 700mAh (600mAh)
The 800MHz voltage is now higher than the 900MHz voltage. Also increase the 900MHz voltage to the same or higher voltage of the lower one.
1000mAh (1GHz) > 950 mAh (900MHz) > 950 mAh (800MHz) > 700mAh (600mAh)
Now that you have it undervolted, you may find that it could hardlock/reboot on you. When it happens do this:
Increase the voltage on all undervolted clocks by one step.
Continue using the device for a day
If the device locks up again, go back to back step 1
If its ok for a day, then every day lower the voltage back to what you had of only one clock (I suggest you go from highest to lowest)
You should be able to find which undervolt caused the reboot fairly quickly and still be able to normally use the phone and keep the rest of the "optimal" undervolts.
Click to expand...
Click to collapse
Sent from my GT-N7000 using xda premium
I don't think UV saves battery. It is display that sucks most of the juice.
You save less than 2% with extreme UV and after a single reboot caused by instability - you lose even more battery.
There's an excellent thread in Nexus S forums - "battery drain benchmarks" (please search it).
I had similar UV settings and my phone never crashed during benchmarks or stress tests.
But it always crashed while installing 100+ apps with app backup restore, restoring backups with TB or MBR, gaming.
After removing UV, it never crashed.
I haven't tested UV with ICS... would see and report if it really saves battery.
Boy124 said:
I don't think UV saves battery. It is display that sucks most of the juice.
You save less than 2% with extreme UV and after a single reboot caused by instability - you lose even more battery.
There's an excellent thread in Nexus S forums - "battery drain benchmarks" (please search it).
I had similar UV settings and my phone never crashed during benchmarks or stress tests.
But it always crashed while installing 100+ apps with app backup restore, restoring backups with TB or MBR, gaming.
After removing UV, it never crashed.
I haven't tested UV with ICS... would see and report if it really saves battery.
Click to expand...
Click to collapse
I'm not sure if you've read everything through carefully or you would have seen that I've covered several of your points.
You also would have seen the method I use for stress testing and would have noted that I aim for four things: speed/performance, stability, power management AND thermal regulation.
While I agree that the display, barring a wonky or misbehaving app, will almost always be the #1 battery drainer - power management will certainly help to conserve battery life.
You also would have seen I mention profiles. There may not be a one size fits all setting for everyone but one can most certainly set up profiles for different scenarios.. Such as TiB backups/restores.
Sent from my GT-N7000 using xda premium
Did you do some benchmarks at the highest speed several times to make sure you are getting extra performance? With this phone I noticed that while the phone wont crash.. .some times performance will drop when running at settings now fully correct.
Sent from my GT-N7000 using XDA
You covered a lot of points but UV is total waste of time.
You get nothing out of it.
http://forum.xda-developers.com/showthread.php?t=1478406
Could you please post your data, how much battery do you save after UV?
Disagree boy, cause with wakelock screen is off, there is significant battery drain, I went to 10 hours life on single charge, due to wakelock.
Normally with deepsleep about 2 days. That's a reduction of 87.5% with screen off. Cpu running @200mhz.
Do the same with undervolting will dramatically increase battery life in that situation. So overal it will be a fraction compared to using the device with screen on, but still significant.
Edit: guess I was wrong here
Sent from my GT-N7000 using Tapatalk 2
baz77 said:
Disagree boy, cause with wakelock screen is off, there is significant battery drain, I went to 10 hours life on single charge, due to wakelock.
Normally with deepsleep about 2 days. That's a reduction of 87.5% with screen off. Cpu running @200mhz.
Do the same with undervolting will dramatically increase battery life in that situation. So overal it will be a fraction compared to using the device with screen on, but still significant.
Sent from my GT-N7000 using Tapatalk 2
Click to expand...
Click to collapse
I actually did the test on Gingerbread.
I set min and max to 200 MHz, activated flight mode and had stock music player running for 3 hours - with undervolt and without undervolt.
To my surprise battery consumption was the same.
May be experts who know about our processor architecture can shed some light here.
Boy124 said:
You covered a lot of points but UV is total waste of time.
You get nothing out of it.
http://forum.xda-developers.com/showthread.php?t=1478406
Could you please post your data, how much battery do you save after UV?
Click to expand...
Click to collapse
I understand where you're coming from, boy.
I don't have data at the moment though I wish I did. But to be honest, it'd be scrambled anyway since whenever I'm not working or mission critical when I need proven stability, I'm testing out all different sorts of settings leading to lots and LOTS of reboots and such!
That being said, anecdotally, I have seen improved battery life for myself but maybe it's a placebo and I could be wrong about it - I have been before in the past. I do feel though that under my normal usage scenarios, I am experiencing less battery drain. It's difficult to quantify though exactly what this is due to since I experiment with kernels, voltages and frequencies.
But if all I'm getting is a 2% boost, man - I'll take it! Like any modder, whether it's min/maxing in a game, working on a car or whatever else, every little bit of a parameter squeezed out is something.
I also feel that you're too caught up on a single aspect, the battery life thing, to the detriment of my overarching holistic goal - efficiency.
Originally I started undervolting and experimenting with frequencies because of thermal output. I had wanted to experiment with x16 MSAA settings, which led to my GPU needing 400MHz and 1200mV which led to lots of heating up which led to me experimenting with everything I could.
Efficiency is what I want. The best performance at the best speeds at the best battery life at the best thermal regulation I can manage.
Now I'm looking at energy efficiency. I'm seeing suggestions that 100MHz may not be as efficient as 200MHz on our Exynos because the tradeoff in frequency power usage isn't worth the longer time spent completing tasks. I'm also seeing that in some situations, a performance best governor targeting max freq may be efficient because less time is spent completing a task and a quicker return to sleep.
I'm just sharing what I'm doing and hopefully others can benefit.
http://forum.xda-developers.com/showthread.php?t=1369817
Sent from my GT-N7000 using xda premium
Wow, thats illogical makes me wonder the math behind it.
Sent from my GT-N7000 using Tapatalk 2
While I appreciate the effort thrown into this, I humbly acknowledge the conclusion is incorrect.
When you lower Voltage slightly, without affecting stability, you pretty much put a toll on the processor for extra "wear and tear" and reduce its lifespan. However, this comes at the reward of reduced current.
So, it should be saving you battery. Underclocking it (safely) is also going to save you battery. And the same thing with different governors, like interactivX compared to regular ondemand, by finishing off processes quicker and reducing the frequency and voltage quicker, and going into Deep Sleep quicker.
I don't have the means to run a Scientific Experiment to prove these claims, nor the time to conduct them. But the majority of "hackers" synonymously agree it saves a noticeable power. These include themers, kernel developers and the casual user. I don't think an educated MAJORITY can be incorrect to the scale of this test's claims.
I jus t wondering does undervolt really affect our battery life? How does it work?
When choose to undervolt it affect on performance, isn't it? Slower or stuttering when switch apps? With less energy less performance, does it wrong?
If it is, then how underbolt can improve peeformance better? :confuse
Sent from my Nexus 4 using xda app-developers app
Judging from my experience UV experimentation doesn't affect battery life, and if it does it's definitely by an inappreciable margin. It does substantially reduce heating issues though especially during high-intensity usage (Spotify, GNow, gaming etc). Just don't overdo it or you wind up rebooting repeatedly--"safe" threshold varies by kernel
It also has no effect on performance, it's completely separate from clock speed.
I UV to lower temperature The N4 is very heat sensitive so you'd be wise to UV if possible, the throttle can kick in very quickly on stock, because of the default CPU behavior(mpdecision+ondemand seem to ramp in a ridiculous manner). I am seeing temps in the mid-low 30s thanks to UV and I'm running turbo mode on Faux's kernel.
Hi
I underclock my cpu to 1.4 and GPU to 350
I'm asking for if I must change cpu and gpu voltage too ?
Sent From my i9500 With ☆★Crash Rom☆★
I found when running Shadowrun Returns with the ElementalX 1.4 kernel http://forum.xda-developers.com/showthread.php?t=2389022 at 1.944 GHZ the back of the Nexus 7 gets hot. This worried me but I noticed when I installed the kernel was an option to use cool thermal throttling. I tried this and now the tablet does not heat up at all. You need to be rooted though to install the kerne of course not sure if ElementalX 1.4 works with stock though, I'm running the latest CM 10.2 nightly. It doesn't seem to affect the performance of either Shadowrun Returns or Wild Blood, the two games I'm playing at the moment, I still have the GPU overclocked to 487 and the Dalvik etc overclocked at the moderate ElementalX setting. . I think being able to run at 1.944 GHZ on my tablet with the cooler thermal throttling is better then running at stock and I believe that even some running at stock have that issue.
Hope this helps others that have this problem.
KedarWolf said:
I found when running Shadowrun Returns with the ElementalX 1.4 kernel http://forum.xda-developers.com/showthread.php?t=2389022 at 1.944 GHZ the back of the Nexus 7 gets hot. This worried me but I noticed when I installed the kernel was an option to use cool thermal throttling. I tried this and now the tablet does not heat up at all. You need to be rooted though to install the kerne of course not sure if ElementalX 1.4 works with stock though, I'm running the latest CM 10.2 nightly. It doesn't seem to affect the performance of either Shadowrun Returns or Wild Blood, the two games I'm playing at the moment, I still have the GPU overclocked to 487 and the Dalvik etc overclocked at the moderate ElementalX setting. . I think being able to run at 1.944 GHZ on my tablet with the cooler thermal throttling is better then running at stock and I believe that even some running at stock have that issue.
Hope this helps others that have this problem.
Click to expand...
Click to collapse
That's a good sign as you know the heat is being distributed effectively away from the internals. You don't need to be rooted to flash custom kernel. And setting different governors will have a major impact on your CPU.
http://forum.xda-developers.com/showthread.php?p=28002345
About The Heat At Least I'm Sure My Advice Is Sound.
Username invalid said:
That's a good sign as you know the heat is being distributed effectively away from the internals. You don't need to be rooted to flash custom kernel. And setting different governors will have a major impact on your CPU.
http://forum.xda-developers.com/showthread.php?p=28002345
Click to expand...
Click to collapse
You might be right about not needing to root to install a custom kernel though I couldn't find a definitive answer in the Nexus 7 2013 forums. I assumed it was needed from using custom kernels on other devices.
My device gets hot while gaming. When you are doing intense gaming like I am I'm sure pretty much any governor will max out the CPU. I know Intellidemand which I use does for sure.
When overclocking, heat is the enemy and it can damage, crash CPUs and even affect the performance of them. I believe if you are concerned about your Nexus 7 heating up (mine does for a good area between the logo and the camera when not using the ElementalX cool thermal throttling) then my advice is good.
Peace.
P.S. How the heck have you done 675 posts since June 2013?
KedarWolf said:
You might be right about not needing to root to install a custom kernel though I couldn't find a definitive answer in the Nexus 7 2013 forums. I assumed it was needed from using custom kernels on other devices.
My device gets hot while gaming. When you are doing intense gaming like I am I'm sure pretty much any governor will max out the CPU. I know Intellidemand which I use does for sure.
When overclocking, heat is the enemy and it can damage, crash CPUs and even affect the performance of them. I believe if you are concerned about your Nexus 7 heating up (mine does for a good area between the logo and the camera when not using the ElementalX cool thermal throttling) then my advice is good.
Peace.
Click to expand...
Click to collapse
Kernel is flashed separately from the ROM. Rooting is only for running apps like Trickster Mod to configure to kernel. Otherwise you can have stock 4.3 ROM with any kernel you want. Heating up will obvious affect performance due to thermal throttling but I was not concerned of damage even when the CPU of my 2012 Nexus 7 got to 80 degrees celsius from running overclocked performance stress test under direct sunlight in a case. If your CPU crashes then it's likely not overclocked correctly. Otherwise if it remains stable under artificial stress test, it will handle any game no problem.
I would really appreciate if someone explain me how exactly this function works?
I mean, tablet don't have fan, so how it keeps the cpu cool, and also what this option does to my nexus in order to keep it cooler?
I would not over clock this device. It us more than fast enough for any Android game.
Throttling does just what the word describes. In basic terms your cpu will be slowed down when getting hot and this defeats the purpose of over clocking.
I won't mention the instability that can be caused or the possibility of doing damage.
Just my thoughts.. To each how own and I do have my I7 pc cpu over clocked big time but it has a huge fan.
Sent from my shiny new(bought last Nov), scratch less Nexus 4!
I agreed, throttling and over clock doesn't make sense but this CPU is underclocked and it is designed to go higher like the one on the galaxy s4 and the GPU is meant to go higher but due to battery life Google underclock it
Sent from my Nexus 7 (2013) using XDA Premium [HD], for the man who wants to use the best tablet screen ever made.
Blade Zero (W1nst0n) said:
I agreed, throttling and over clock doesn't make sense but this CPU is underclocked and it is designed to go higher like the one on the galaxy s4 and the GPU is meant to go higher but due to battery life Google underclock it
Sent from my Nexus 7 (2013) using XDA Premium [HD], for the man who wants to use the best tablet screen ever made.
Click to expand...
Click to collapse
Well , its not under clocked by Google, this is underclocked cheap from the factory , its just a lower bin s600 that has been rebranded as S4 Pro .. If it was regular s600 it wouldn't be underclocked .
theofanis said:
I would really appreciate if someone explain me how exactly this function works?
I mean, tablet don't have fan, so how it keeps the cpu cool, and also what this option does to my nexus in order to keep it cooler?
Click to expand...
Click to collapse
When the CPU reaches a certain temperature threshold it begins to cycle down the CPU speed in order to cool down the processor. It makes the CPU start running at lower frequencies to keep it cool.
Exactly, so a quick oc and u got a better processor without worries of damaging the chip
Sent from my Nexus 7 (2013) using XDA Premium [HD], for the man who wants to use the best tablet screen ever made.
Trickster Mod Thermal Throttling Settings
Hey,
If your CPU is getting hot (especially if it's overclocked and hitting 80 C or near to it) At 1944 the back of my case would get noticeably hot. I still say it isn't good for the CPU. From what I know about overclocking if any CPU gets too hot it can damage the CPU or degrade it over time. I definitely wouldn't want it even getting to 80C before it throttles but I found in Trickster Mod, even the free version, you can set the throttling to custom settings if you are rooted. Custom kernels set their voltages to scale depending on the clock speed which means lower clock speeds, less voltages, less heat. I'd rather keep the temps lower on the CPU then risk damaging the device or degrading it over time. Also you can undervolt the CPU at the kernel different clock speeds so it heats up less. You can run the free AnTuTu Benchmark stability test to see if your clock speed voltages are stable and will not crash your device. I have my CPU overclocked to 1944, thermal throttling down clocks the CPU to 1836 at 73 C, 1620 at 75 C, 1512 at 77 C and 1134 at 80 C. My voltages I lowered and are stable at 1944 - 1087500, 1890 - 1062500, 1836 - 1035000, 1728 - 1025000, 1620 - 1000000, 1512 - 987500. The lower voltages are undervolted as well but not going to list them all here.
Peace,
KedarWolf
P.S. When it was posted in this thread you can install custom kernels without rooting it is correct, I recall reading that at one point. Like it was said to use Trickster Mod, change governors or custom throttling settings you need to be rooted.
Bump bump