There's a bunch of guides and info out there on overclocking and even underclocking the max cpu, however when it comes to changing the minimum CPU speed I can't find much and recently I have heard much different things than what I had assumed and had been told in the past. So I was wondering if anyone could give me a rundown on a few things.
Does lowering the minimum cpu value to around/below 100 MHz help save battery or does it hurt battery life since it takes longer to finish tasks at that clock speed? And in regards to finishing tasks, what is an optimal speed for the minimum cpu? And lastly, how much impact does the minimum CPU value have on the system and battery and is the savings (if any) worth it?
Sent from my SAMSUNG-SGH-I747 using Tapatalk
Related
i have used the search and not found any solid info
what are the benefits of it if any
I haven't heard of people undervolting their fone, although i haven't looked to much.
This would mean though reducing the power that the CPU gets. I would imagine this increases battery life among other things.
Your right about what it is, but almost every custom rom/ kernel is undervolted in development section.
Sent from my HTC Desire using XDA App
Undervolting means, the CPU (or hardware in the phone) gets lower voltages, thus saving more battery & not loosing performance.
Undervolting is a process which reduces the excess "voltage" given to the CPU using a software. This is widely used as a cooling solution and in my opinion more effective than any other cooling solution available (thermal paste, cooling pad, etc) at NO cost. Undervolting will NOT compromise performance at all. Underclocking and Overclocking (clock speeds) is whats responsible in regards to performance. Benchmarks will also prove that performance remains the same.
Click to expand...
Click to collapse
Not excess voltage but fully, manufacturer guaranteed, stable Core voltage to lower guesswork voltages which may or may not work and may or may not cause data loss/corruption.
------------------------------
- Sent via HTC Desire -
A cpu needs power for every 'clock cycle'. 1Ghz means there are a billion per second. IF you lower the voltage, there is less power used. But if you lower it too much, the cpu wo'nt be able to 'cycle its clock'...
So undervolting doesn't affect performance, since the cpu remains on 1Ghz. It decreases the power used, so you get better battery life.
Every single cpu is different, so HTC has chosen a default voltage that (shoud) work on all phones they sell. But your particular cpu could be able to work at a lower voltage. It's just a matter of trail and error. Decrease the voltage until the cpu stops working, then higher it a bit. That way you've undervolted your cpu so it uses the least power.
koenvbeek said:
A cpu needs power for every 'clock cycle'. 1Ghz means there are a billion per second. IF you lower the voltage, there is less power used. But if you lower it too much, the cpu wo'nt be able to 'cycle its clock'...
So undervolting doesn't affect performance, since the cpu remains on 1Ghz. It decreases the power used, so you get better battery life.
Every single cpu is different, so HTC has chosen a default voltage that (shoud) work on all phones they sell. But your particular cpu could be able to work at a lower voltage. It's just a matter of trail and error. Decrease the voltage until the cpu stops working, then higher it a bit. That way you've undervolted your cpu so it uses the least power.
Click to expand...
Click to collapse
Very sensible answer..Thanks
koenvbeek said:
A cpu needs power for every 'clock cycle'. 1Ghz means there are a billion per second. IF you lower the voltage, there is less power used. But if you lower it too much, the cpu wo'nt be able to 'cycle its clock'...
So undervolting doesn't affect performance, since the cpu remains on 1Ghz. It decreases the power used, so you get better battery life.
Every single cpu is different, so HTC has chosen a default voltage that (shoud) work on all phones they sell. But your particular cpu could be able to work at a lower voltage. It's just a matter of trail and error. Decrease the voltage until the cpu stops working, then higher it a bit. That way you've undervolted your cpu so it uses the least power.
Click to expand...
Click to collapse
How would one go about under volting .i have tried everything suggested to me and nothing really seems to make a difference
Sent from my HTC Desire using XDA App
Most kernels are undervolted and unless you can compile the kernel for yourself you are stuck with the values given by the creator. There are two exceptions for this, HAVS kernels which automaticly chose a voltage depending on temperature and some other stuff and SVS kernels with snq-'s volt selection interface (found in Leedroid and maybe some other kernels/roms).
So what exactly have you tried and what did you expect to see? Because the difference won't be that noticeable.
TheGhost1233 said:
Most kernels are undervolted and unless you can compile the kernel for yourself you are stuck with the values given by the creator. There are two exceptions for this, HAVS kernels which automaticly chose a voltage depending on temperature and some other stuff and SVS kernels with snq-'s volt selection interface (found in Leedroid and maybe some other kernels/roms).
So what exactly have you tried and what did you expect to see? Because the difference won't be that noticeable.
Click to expand...
Click to collapse
I have tried battery calibration, using app watch dog to let me know which apps are using excessive CPU. Putting my brightness down to 10%, making sure not everything is synced, the only thing synced is beautiful widgets every 4 hours. And just about everything else that has been put forward to me. Here's another example I just taken my phone off charge at 100% and wrote this and I'm now at 73 %. And its only taken2 mins to write
Sent from my HTC Desire using XDA App
adz63 said:
I have tried battery calibration, using app watch dog to let me know which apps are using excessive CPU. Putting my brightness down to 10%, making sure not everything is synced, the only thing synced is beautiful widgets every 4 hours. And just about everything else that has been put forward to me. Here's another example I just taken my phone off charge at 100% and wrote this and I'm now at 73 %.
Sent from my HTC Desire using XDA App
Click to expand...
Click to collapse
So in short you havent tried any kernel with undervolting at all!
Well that all has nothing to do with undervolting, but (extra) undervolting will not fix the drain problem you have.
Do you use setCPU cause your sig says you run at 1113MHz, which cause higher consumption. Also did you set your wifi sleep policy to never(setting-wireless and network-wifi settings-press menu-advanced-wifi sleep police).
At the moment I have the havs kernel that comes with oxygen 2.0 rc6. I have posted another topic about is the kendal good for battery life etc and no1 has told that another kendal would make anything better
Sent from my HTC Desire using XDA App
TheGhost1233 said:
Well that all has nothing to do with undervolting, but (extra) undervolting will not fix the drain problem you have.
Do you use setCPU cause your sig says you run at 1113MHz, which cause higher consumption. Also did you set your wifi sleep policy to never(setting-wireless and network-wifi settings-press menu-advanced-wifi sleep police).
Click to expand...
Click to collapse
@TheGhost1233, how exactly does one decide which kernel suits us best..
Eg: I see two undervolted kernels (I think) at 875 and 925 mV. I have no idea how to decide. Trial and error?
Froyo Kernel [email protected] min
Froyo Kernel [email protected] min
@droidzone Yes trial and error. The mentioned voltage is the lowest the cpu will get at 245MHz. Not all devices are stable with 875mV (you will know if your phone freezes up) so then you move up to the 925mV min. Other than the voltage there is no difference between 875mV or 925mV.
With the HAVS kernels it can take a while before you notice the freezes cause the voltage is dynamic, so be careful if you need your phone as a alarm clock.
I am running Chad's 12-23 kernel on a mostly stock ROM, and have been testing between the on demand governor and the smartass governor, trying to determine which would give better battery life. I ran a log over a 1 minute period with the phone on/awake, but idle. I did NOT kill any background processes, and ran both tests back to back so running processes shouldn't have changed.
Over a one minute period, the governors averaged the following:
On demand
264 mhz
20% load
Smartass
371 mhz
14% load.
As a side note, the smartass governor scores slightly, yet consistently higher on quadrant, seems to run a much more stable framerate on the planet-and-moon graphics test.
so which should be better for batter, and why? lower speed, or lower load?
In general, smartass should provide better battery life than ondemand since it doesn't scale upwards as violently.
Sitting idle with the screen on isn't the best condition for comparing different governors. Since the governors affect the speed and level of scaling, you would want to test under conditions that have more dynamic processing needs.
While it doesn't answer all the questions you have, you might find this helpful:
Effects of CPU Frequency and Screen Brightness on Power Consumption
The funny thing is that even the On Demand governor on this kernel seems modified. On the stock kernel, on demand usually idles much higher, 600-700 mhz. So whatever changes Chad has made overall are causing on demand to be more conservative as well.
I don't really know a method to test under more dynamic circumstances. I'm simply observing in System Panel. But the logging feature it has doesn't get super detailed with CPU speed. Only the realtime monitor. About the only "test" I could do was to scroll the app list up and down on the system panel screen. This causes the mhz and load to jump up pretty much immediately to 800+ mhz. I did not see ANY difference in this between the two governors, they both seem to ramp up equally aggressively, and both would jump to about the same mhz.
bast525 said:
I don't really know a method to test under more dynamic circumstances.
Click to expand...
Click to collapse
You could set up scripts that run various commands/processes, with sleep times in-between.
Do you have Tasker? You could set up Tasks that not only would automate various processes, thereby exposing your CPU to dynamic (yet controlled) conditions, but Tasker now has %CPUFREQ which could record the current CPU frequency throughout the test.
There are also the Frequency Stats to the be found in SetCPU, Android System Info, or I'm sure a host of other apps. They show you how long your CPU has spent at any given frequency. The only catch is that I don't know how to reset those stats (as it's not really a function I use).
Since you are concerned with power use, you would also want part of your logging to include mA current being drawn from the battery.
Just brainstorming. There are a lot of ways you could set up more controlled tests.
OK, so digging a little bit, this should be even easier than I thought. The Frequency Stats are contained in /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
It looks like rebooting can reset them, but I haven't yet figured out a way to reset them without resetting the device. But it doesn't really matter Once you come up with a testing script, you can have it store a copy of time_in_state at the very beginning of the test, and then again at the end of the test. That way, you can simply compare the time_in_state at the end of the test to the one at the beginning to see just the influence of that test.
So I tried to underclock my One X to around 640 MHz and it was running VERY smoothly and stable with only 2 cores active. I was using the ViperX 2.2.1 ROM and the Kernel was the no OC NCX 0.99a. The battery life wasn't bad, but has anyone tried underclocking to 1 GHz or lower? If so, how is the battery life and what kernel and ROM did you use?
With SetCPU you can change the max. CPU, but why should you? When the phone doesn't need much processor power, it just scales down by itself.
So, it already has the best underclocker there is.
Mayby you could try undervolting to save even more battery, but that means the CPU can be somewhat less steady.
im trying to get my head around UVing / UCing my HOX. is there any guide around? im trying to search through the forum but still no luck.
ricopoetra said:
im trying to get my head around UVing / UCing my HOX. is there any guide around? im trying to search through the forum but still no luck.
Click to expand...
Click to collapse
underclocking means the CPU runs slower so should use less battery but slower CPU speeds also means to takes longer to preform tasks which could use more battery, check on google most places say its not worth it as that battery saved is tiny and not worth the drop in CPU performance.
undervolting however lowers the voltage that CPU uses while working this does save power and also lowers heat (less voltage less heat) but if you lower it to much then the CPU becomes unstable due to lack of power and well crashes and restarts the phone in most cases.
to get the best out of undervolting you need to lock the max CPU speed to each step (CPU speed, 300mhz, 600mhz and so on) and slower the voltage and then run a bench mark (like antutu) and see if its stable, if it is you lower the voltage again and repeat until it crashes at which point you have found the lowest voltage that the clock speed can handle so you jump up a voltage then more on to the next speed.
it takes along time but that would get you the best undervolt your phone and hardware could handle.
or you can just use the global to lower the voltage for every speed, this is much faster and much less time consuming but you don't get the most out of it.
for this you basically drop the voltage then use your phone for different things; browsing, games, benchmark and see if it crashes if not lower again till it does then go back up a step.
thanks for explaining. I'm getting some of the points that I missed Awhile ago. I guess I'm going to try the longer way of doing it.
Sent from my White HOX JB PA 2.10
Any devs think it's possible to lower the min clock speed on our phones? 384MHz seem a bit high compared to all the other devices I have used... (long list)
I noticed the n4 was able to bring it down to 300MHz. Any possibilities for us? Or any custom jb kernels in the works?
Thanks
Sent from my LG-E971 using xda app-developers app
This would need to be coded in kernel. However, lowering the minimum frequence would not mean we would have better battery life. I could go really long explaining this but i'll try to keep it basic. 1st, the energy used vs frequency is not linear. For example, 500Mhz would not use half the energy than 1Ghz. 2nd, This would either cause the kernel to have an higher load than 384Mhz, which would in fact increase the energy consumption or Bump the kernel to an higher frequency, which would make that frequency useless. In both case we are not winning any battery life.
How much can the phone be underclocked while maintaining the stability of the system?
What would happen if i set Max freq to 600 Mhz?
What is the best thing to do to save up the very last bit of juice in the battery for emergency situations where i would only need the phone and message facility? Besides switching off Bt,wifi,sync.
Im asking because i was wondering if underclocking "too much" saves a substantial amount of battery when my battery is quite low and I am "hours away" from a charging port!
And is there a way to change the carrier name on the notification drop down to whatever we want.
Sorry if i sound noobish or if a similar query has been asked before
Thnx.
Underclocking the CPU dramatically isn't going to gain you a great deal in the way of extra battery life because:
1. Unless you are heavily taxing the CPU (complex 3d games etc), the biggest drains on the battery are the screen and the radio.
2. If the screen is off, the phone will drop the CPU frequency right down anyway.
The best way to get extended battery life is simply to carry spare batteries!
Regards,
Dave
Sent from my GT-N7100 using Tapatalk 2
I think 600mhz is way too low and counter productive or for that matter anything less than 1ghz. The phone will lag alot and you'll have freezes. You'll probably end up using up alot of the battery life trying to get tasks completed. You could try leaving the stock clockspeed 1.6ghz, set minimum cores to 2 and slightly undervolt to -25mv, leave the gpu setup to its default 533mhz and also undervolt to -25mv using a kernel that supports stweak app. Then run an app called Stability Test for 10minutes to check for errors.
Also I tried Go Power Master, which can be assigned to disable certain features once your battery hits critical low levels.
Sent from my GT-N7100 using xda premium
bushako said:
I think 600mhz is way too low and counter productive or for that matter anything less than 1ghz. The phone will lag alot and you'll have freezes. You'll probably end up using up alot of the battery life trying to get tasks completed. You could try leaving the stock clockspeed 1.6ghz, set minimum cores to 2 and slightly undervolt to -25mv, leave the gpu setup to its default 533mhz and also undervolt to -25mv using a kernel that supports stweak app. Then run an app called Stability Test for 10minutes to check for errors.
Also I tried Go Power Master, which can be assigned to disable certain features once your battery hits critical low levels.
Sent from my GT-N7100 using xda premium
Click to expand...
Click to collapse
Thats quite informative. Thanx!