Hello!
I recently noticed how frequencies 122MHz through 460MHz all employ the same voltage (900mV). I've come to understand that the higher the CPU frequency the faster your battery will drain. What I don't understand is why a higher frequency will drain your battery faster.
Is the only cause for higher battery drain when running a higher frequency, the higher voltage which comes with a higher frequency, or are there other factors?
If, then, a higher voltage is the only cause, then my battery would not drain faster if I clocked my minimum frequency at 460MHz instead of 122Mhz?
Thanks in advance to anyone who can shed some light on this!
Hi
cpu power consumption at a specific frequency is bound to its voltage.
you should test a voltage for a frequency while your device has 100% workload, because you could find a voltage so that your device is stable while being idle, but freezes when it needs to work. (for more information search for linux phc)
my conclusion:
the voltage for a specific frequency has minimum!
you can set your minimum frequency to 460 if you want to, since the screen consumes most power, it should not matter that much. i have set my minimum freq that high, too. I believe that way, my phone needn't raise the frequency when dooing simple stuff, like playing music.... but i am just guessing.
i theory it must get hotter than at lower frequencys, but i did not notice that.
i have had a palm pre and a custom kernel introduced a voltage on demand governor, which kept the device at 1ghz all the time, but changes the voltage with the workload. i think the developer of the awesome idea is "unixpsycho" ... i would like to see something similar on android.
greetings
matto
EDIT:
http://en.wikipedia.org/wiki/Dynamic_frequency_scaling
it looks like it is bound to the frequency, too!
~const*f*V^2
the Voltage is quadratic, that means it tkes a higher priorety.
e.g. lowering the voltage from 900mv to 800mv => (0.8^2)/(0.9^2) ~ 0.79
460mhz*0.79~363mhz
=> [email protected] consumes as much power as [email protected] (Stock)
Related
I was just wondering if it's possible to underclock HTC Desire bellow 245MHz to save even more battery life or to just lower the minimum value bellow 245MHz when set on ondemand?!
Just a guess, but I am imagining the underclocking is established by changing the multiplier on the processor. The multiplier can only take integer values, hence the discrete values the CPU will clock to. If this is the lowest multiplier value, then it wont be possible to underclock further (apart from turning the CPU off totally...)
Been posted before...
128MHz was tested for a while, but 245MHz is the minimum safe amount before the Desire becomes unstable/unresponsive in normal use.
PaulW21781 said:
Been posted before...
128MHz was tested for a while, but 245MHz is the minimum safe amount before the Desire becomes unstable/unresponsive in normal use.
Click to expand...
Click to collapse
Oh, tnx! i'll search for it! And btw i was thinking to use this underclock only when screen off.
I think it can still cause issues then too, for instance if you get a call or background processes which need it.
Either way, 245MHz is still quite a respectable drop (and power saving frequency) if you set it in SetCPU.
I have mine 245/384 for screen off. And varying speeds per 5% battery drop from 90%... Overkill maybe, but hey, I want battery life! lol
If I can undervolt my CPU to run 600MHz at a lower voltage than stock runs 300, any reason I wouldn't set my min to 600?
In trying to avoid some of the "wake-up" issues people have experienced, I've been running 400/800/1200 today, and it seems stable...
No reason why you couldn't, but because you could set it to lower than stock voltage, by that reasoning you could set it even lower by undervolting at 300mhz, therefore you're still losing out on a potential power saving
hi there.
I've been tinkering with voltages and cpu frequencies lately.
I noticed that, with stock voltage values, i have "900" for 122, 245 and 368 mhz.
Now the question is, leaving governors aside for a moment: if i set cpu minimum to 122 or 368, there shouldn't be any battery drain differencies, since they both have the same voltage value.
But technically if i have some background stuff going on, with screen off or when the phone is idle, they will be processed faster with 368 mhz, while with 122 they will take longer to carry on or even force the phone to work to get to a higher frequency to finish the task.
Now i maybe saying a lot of bullcrap since i'm not a developer nor a hardware guy,
but if what i said is true, then in theory it would not be the same if i put minimum to 368, it would actually be better for performance AND the battery??
No, as I have learned from another user here; even if the voltage is the same, the power draw is still different. 122mhz will still use the least amount of power
Hi, i’m using the Franco’s Kernel and with the Franco’s kernel updater i’ve lowered the current of frequency 1305Mhz to 1250mV (the same current of the frequency 1228MHz). Also the question is, now with frequency 1305Mhz or 1228Mhz should the battery consumption the same or not?
Thank you
I don't think they will use the same current. mV is voltage and is not the current. Current is Amps. And if I am not mistaken although you are using the same voltage for both frequencies 1305Mhz will use more amps (current) hence use more energy, resulting in draining the battery quicker.
Although I could be wrong on that one.
I doubted about ampere me too, hence what's the aim changing voltage in the Kernel?
Inviato dal mio Galaxy Nexus usando Tapatalk
So that each frequency drain less juice then by default. But honestly I dont undervolt my frequencies, its fine the way franco's autocalibrate them.
So you lowered 1305MHz voltage to match the 1228MHz voltage at 1250mV. At an equal voltage, higher frequencies will use slightly more power. However, 1305MHz at 1250mV will use less power than 1305MHz at whatever default was. So undervolting will lead to some power savings, though they're extremely hard to measure.
If you're not overly familiar with undervolting, then using a kernel with Smart Reflex will do a good enough job of undervolting. It uses a moderate undervolt. Most people could lower the settings a bit below what Smart Reflex sets the voltage to, but the Smart Reflex settings tend to be stable.
For instance, I messed around with my phone and I'm running the following (using leankernel):
Code:
MHz - SR mV - Manual mV
1350 - 1250 - 1200
1200 - 1240 - 1150
920 - 1100 - 1075
700 - 1020 - 1000
350 - 840 - 825
You can see that I'm only nominally under Smart Reflex's values. I just like tweaking my phone as much as possible.
I'm not sure if Franco's kernel uses Smart Reflex or not. If it does, however, you could always allow SR to handle your undervolting so that you're sure to get a lower-than-stock-while-still-stable voltage.
thanks for your opinion!
Have a question regarding min CPU speed vs voltage. I run task's Roman with stock kernel. My phone is not stable unless I up the voltage on the CPU clock at both the 189 and 378 speeds to 925mv.
So here's the question... since both speeds use 925mv, wouldn't it make more sense just to leave the min CPU speed at 378? Seems to me the faster min speed would process faster allowing the phone to go into deep sleep faster and saving battery.
Thoughts?
192 and 384, you mean?
Personally, I prefer my min at 192 not cos of mV difference, but cos it keeps my phone lots cooler when at min speeds.
I asked a similar question with no response. mine goes down to 81mhz and stays stable but a higher clock speed uses the same voltage so I thought just run the higher one. unless deep sleep is consistent then it shouldnt matter. but for cases like bluetooth or music streaming the higher speed might seem better. but the more heat thing must cause more battery usage I would think
s384 said:
I asked a similar question with no response.....
....more heat thing must cause more battery usage I would think
Click to expand...
Click to collapse
Looks like some thread lost with time...
More heat isn't good... heat is nothing but energy dissipated... and that means energy lost... So more heat is an indicator that you are kinda pushing your CPU to work hard and harder the work, more the battery utilized.
The voltage consumption of a CPU is calculated by f*V^2. So to answer the question, even if two frequencies share the same voltage, the lower frequency will still consume less power than the higher frequency.
Sent from my SGH-I747 using xda app-developers app