For those on custom kernels such as faux/trininty i would like to just point out that battery life can be increased by about 50% in idle/calling/display by simply undervolting the lowest frequencies by almost half of their value and applying min/max to the lowest setting on that kernel for such operations such as being idle or in call.
Here is a little chart of how low i can go and probably a good starting point for those who wish to extend their battery life some. "on faux123 0.3.4"
Faux" The OC freqs are pretty optimal and probably only can go about 25-50 lower given at 1000mhz you are already limited to about 50/75mv in most cases.
1552:1350mv "default"
1408:1250mv "default"
1216:1150mv "default"
1100:1050mv "default"
1015:900mv "unstable at 850mv"
816:650mv "have not benched lower
503:425mv "have not benched lower
389:370mv "have not benched lower
Other kernels
216:350mv "unstable at 250"
1. Overall lowering everything a small amount will improve battery life but the main increase is in idle time.
2. Add +25mv after finding that bare minimum on your chip
3. ALL chips are different and this is not guaranteed for every phone but would be a good starting point for those who dont want to waste time testing each interval day after day.
4. Alternate input is appreciated and can/will be edited into thread if requested to make things easier for others such as other clock/mv settings from different kernels.
5. Own results extended idle battery life by about 40% in total "inaccurate but a fairly good estimation based on a few days test"
6. DO NOT apply at boot unless you are absolutely certain that it is stable and you have the update.zip from setcpu and are aware of how to restore default values or are able to reformat your phone in the event you apply unstable boot settings.
personally i believe the stock settings are incredibly high for the lower freqs given for those settings the phone is not doing anything so chances of errors at unstable settings are lower. for instance if you OC 2600k cpu to 5ghz on air you may be able to boot into windows and it sit there idle for days to come. The second you perform a task your os will lock up because its not stable, for the phone if it boots into that frequency and that low setting is ONLY used for IDLE then you can squeeze every little bit out of that setting since its only job is to scale back up to the next setting for usage which is not even that much as well.
Thanks for posting this, really helped me under volt my phone. I'm still making adjustments but here is what I have now.
216 --400mV
432 -- 475mV
594 -- 575mV
750 -- 675mV
1000 -- 850mV
--- --------------
un-tested with the volts above but worked previously with my other undervolts
1200 -- 1050mV
1400 -- 1225mV
1560 -- 1325mV
So far its been stable under a 30min stress test (216mhz - 1000mhz) I did so it should be fine.
Running ICS EaglesBlood With Trinity Kernel
Anything with a step of of 125mv or greater will make it run at stockage.
Anything under 750mv for Trinity kernel is stock voltage, anything under 770mv on Faux kernel is stock.
Wait stock voltage for which mHz? Because the stock voltage for 1000mhz on mine was 1150mV
Related
So im using a CM7 nighlies right now and i just got SetCPU and i was wondering what profiles should i set up and how should i set them up cause all i care about right now is making battery life a better.
As for me, I only have two profiles set up. One for screen off set at 245mhz min/max on powersave/conservative @ 90 priority and one for battery temp greater >45 degree C set at 614 mhz max 245mhz min @ 95 priority, on conservative. I've been using this setup on Fresh 3.5 with Netarchy's 4.3.1 stable kernel and my phone has been off the charger for 22 hours with about 20% remaining battery and thats with moderate usage and with WiFi on entire time. You can have unlimited profiles set up based on remaining battery, battery temp, etc and set up the profiles with higher priorities with higher priority number designation. Even though Net's kernel allows me to underclock all the way to 128 mhz, my phone does not like to me underclocked that low.
I'll try that out see how it works
Coming from the HTC Desire, where SetCPU was the only to manage the CPU, I have developed a habit of using SetCPU with several frequency profiles and different governors for various situations. For instance, I use battery<80, <60, <40, <30, screen off, temp >40, >50, and a charging profile. For governors I use lulzactive2 for higher frequency ranges, interactive for mid range frequencies and on demand for the lower frequencies. Oh, this is all with the latest matr1x kernel.
Seeing how a lot of ROMs allow extensive controll of the CPU I was wondering if it wouldn't be more efficient to just set a min/max frequency, chose a governor, turn deep idle on (which is off while I'm using SetCPU) and leave it be.
What are your thoughts and experiences on the matter?
/// endmessage / COMPUTOR5000
profile ? that's completely unnecessary...
just set governor and min-max is enough.
we have NSTOOL, so looks like extended ROM controll also not necessary because not good enough compare to NSTOOL , but lots lots ROM has it build-in
I've never bothered with profiles. I can feel if the phone needs a break from the heat and performance is good for me with 100/1200 set and slight undervolting.
Battery life while idling won't change, only while using intensive apps, and with deep idle working and max freq screen off, music playback and the likes drains very little battery.
Try it and see, you need to be comfortable with it.
I agree with qtwrk. Profiles are, in most cases, detrimental. The following is especially true since Deep Idle was implemented: always let the CPU run as fast as possible to save energy. Sounds counterintuitive, but here's why: while lower CPU frequencies in general consume less energy PER TIME than higher CPU frequencies, the faster the CPU can finish it's job, the faster it can return to energy saving states. So in the end, reducing CPU frequency actually uses more energy... Just overclock to save values, use undervoltage to set lowest possible voltage values and go to sleep.
What's the minimum you can set the screen off max frequency so that music playback isn't choppy?
Also, is the phone always idle on screen off, or does music playback, or any other activity make the phone come out of idle, even if the screen is still off?
/// endmessage / COMPUTOR5000
zyrill said:
I agree with qtwrk. Profiles are, in most cases, detrimental. The following is especially true since Deep Idle was implemented: always let the CPU run as fast as possible to save energy. Sounds counterintuitive, but here's why: while lower CPU frequencies in general consume less energy PER TIME than higher CPU frequencies, the faster the CPU can finish it's job, the faster it can return to energy saving states. So in the end, reducing CPU frequency actually uses more energy... Just overclock to save values, use undervoltage to set lowest possible voltage values and go to sleep.
Click to expand...
Click to collapse
Very good point, for exemple cpu at 1000 MHz takes 1100 juices per second and 10 seconds to finish a task, total cost 10 x 1100 (11000 ) juice
If it runs at 1200 MHz takes 1200 juices per second, same task only needs 8.34 seconds, 8.34 x 1200 (10008) juices... this isn't real just number assumption and theoretically appears that way
Sent from my Nexus S using xda premium
I agree with everything that was said here and actually posted about this very topic earlier on in the matr1x thread in regards to the lulzactive settings. People putting settings too much towards battery saving are actually not getting battery savings. They are making the CPU run longer and therefore more cycles and more power. Profiles are a bad idea too. They cause problems.
I decided to ask hear instead of creating new thread, etc.
In the amazing post of droidphile http://forum.xda-developers.com/showthread.php?t=1369817 there's an information about SGS II, that
'energetically efficient' frequency for CPU is 200 mhz
Click to expand...
Click to collapse
(it's Cortex-A9).
And what about Cortex-A8 on Nexus S?
droidphile also says that on Milestone (Cortex-A8) 550Mhz is the frequency used in the calculations based on the optimal energy to run. Don't know what's the source of this info...
This is a question I've never seen asked, but it's an important one. What are you phones CPU Freqs? What Govs do they have, and what Profiles do you use?
Rom: PyroIce
Main: 192 Min, 918 Max. OnDemand.
Screen Off: 192 Min, 384 Max. PowerSave.
InCall: 192 Min, 540 Max. Interactive.
Time 11pm-7am: 192Min/Max Powersave.
Sent from my HTC myTouch_4G_Slide using Tapatalk
that's cool, i might start using profiles again. from fiddling around i've noticed the difference between the ondemand and conservative governors- with ondemand, the processor seems to go from min. to all the way to max. and back down to min, and doesn't use the middle frequencies as much, while on conservative, the processor doesn't shoot up to max. as easily and seems to meander thru the middle frequencies a lot more. it makes sense too, because i've noticed that the phone seems snappier with ondemand.
i noticed you're using some of the others... i'll have to check them out as well.
ondemand
Available in most kernels, and the default governor in most kernels. When the CPU load reaches a certain point (see "up threshold" in Advanced Settings), ondemand will rapidly scale the CPU up to meet demand, then gradually scale the CPU down when it isn't needed. - SetCPU website
conservative
Available in some kernels. It is similar to the ondemand governor, but will scale the CPU up more gradually to better fit demand. Conservative provides a less responsive experience than ondemand, but can save battery. - SetCPU website
performance
Available in most kernels. It will keep the CPU running at the "max" set value at all times. This is a bit more efficient than simply setting "max" and "min" to the same value and using ondemand because the system will not waste resources scanning for the CPU load. This governor is recommended for stable benchmarking. - SetCPU website
powersave
Available in some kernels. It will keep the CPU running at the "min" set value at all times. - SetCPU website
userspace
A method for controlling the CPU speed that isn't currently used by SetCPU. For best results, do not use the userspace governor. - SetCPU website
Interactive
The 'interactive' governor has a different approach. Instead of sampling the cpu
at a specified rate, the governor will scale the cpu frequency up when coming
out of idle. When the cpu comes out of idle, a timer is configured to fire
within 1-2 ticks. If the cpu is 100% busy from exiting idle to when the timer
fires then we assume the cpu is underpowered and ramp to MAX speed.
If the cpu was not 100% busy, then the governor evaluates the cpu load over the
last 'min_sample_rate' (default 50000 uS) to determine the cpu speed to ramp down
to
so, I bought set cpu about 3 phones ago, but I never really saw a differnence, can it be used with the stock kernel?
yellowjacket1981 said:
so, I bought set cpu about 3 phones ago, but I never really saw a differnence, can it be used with the stock kernel?
Click to expand...
Click to collapse
Yeah Plus there's a huge difference with the Battery. I you use my CPU Settings, you should gain 3 hours Min on your phone. Also dropping the CPU in call is great, helps for longer calls and less overheating. If your S-Off you should use a custom kernel. UV Kernels are great.
AgentCherryColla said:
Yeah Plus there's a huge difference with the Battery. I you use my CPU Settings, you should gain 3 hours Min on your phone. Also dropping the CPU in call is great, helps for longer calls and less overheating. If your S-Off you should use a custom kernel. UV Kernels are great.
Click to expand...
Click to collapse
I actually just got an uv kernel, I am about to flash it, I will use your settings too, thanks.
yellowjacket1981 said:
I actually just got an uv kernel, I am about to flash it, I will use your settings too, thanks.
Click to expand...
Click to collapse
If you run a Sense 3.6 Rom, boost the CPU to 1Ghz. 918Mhz Lags.
Sent from my HTC myTouch_4G_Slide using Tapatalk
yellowjacket1981 said:
so, I bought set cpu about 3 phones ago, but I never really saw a differnence, can it be used with the stock kernel?
Click to expand...
Click to collapse
Yes.
You cannot use anything the kernel doesn't already serve as an option, though.
SetCPU doesn't create options - it allows you user-level access to the ones already existing.
Normally you have no control over your clock speed but with it you can...say... limit the maximum clock speed to only be two-thirds of the stock speed.
Since it doesn't ramp up all the way, it doesn't drain as much power.
If you are playing games and stuff that needs a lot of resources, then the slower clock speeds cost you battery since it takes more effort to get the same work done. But if you don't do much with your phone, and don't need a lot of high-end CPU ability, why let it run flat out?
You can also set it to be like that only sometimes, and maximize battery savings by telling your device to chill out when it doesn't have to be awesome.
Now, if you get into custom kernels where you or a dev has opened up more options, SetCPU will again give you user level control over them.
Especially once you get into overclocking beyond manufacturer(s) recommendations, not having some end-user level control over the processor like this is irresponsible.
If you think I run a 1.7 or 1.9 or 1.5+anything on the device flat-out balls-to-the-wall all the time, I would ask you if you drive your car with the gas pedal smashed to the floor all the time. (it's a fitting analogy)
No, again, that would be irresponsible abuse of the hardware for no good reason.
If not SetCPU, then there would be something else to use, but SetCPU is a great interface that not only works well but is maintaned within the XDA community by a member here.
I will always go for the XDA community member version of any app first - it's usually a problem solved from a perspective very near the way I am perceiving the issue, supports the community, and is always easier to find help on if necessary.
What's even cooler is SetCPU is given away free by the dev to XDA members.
I did go ahead and buy it anyway to support the dev. It is a fantastic tool at my disposal, and I have come to realize just how much time and energy goes into making this kind of stuff.
Beyond all that, though, there are a ton of crap apps and software out there slapped together by people who don't care or didn't put the right level of effort into their work. When I find something that actually works and works well after sifting through a sea of garbage, if there is a paid version of the app i'll usually buy it not only as a thank you but also to encourage that particular person to keep working. They - unlike many, many others (in my opinion) earned it.
I know i'm drifting off topic a bit, sorry for that - I just really appreciate quality work and SetCPU falls in with that crowd nicely.
Even without a custom kernel providing options beyond stock, there is still a lot of value this app can hold for anyone with root level access to their device.
Blue6IX said:
If you are playing games and stuff that needs a lot of resources, then the slower clock speeds cost you battery since it takes more effort to get the same work done.
Click to expand...
Click to collapse
Is this true? in my mind, I feel like it will take longer/not be as smooth, but wouldn't necessarily be worse for battery than a higher clock speed.
On a one-for-one comparison it leans more towards an even playing field, until you add that it's a dual-core processor and it very heavily skews the results towards less battery at higher clock speeds for complex operations.
Faster CPU speeds process the actions more quickly, and when you have to crunch a lot of numbers real quick like you do for most games the higher clock speed (especially on the dual core we are using) will complete the act with less power used. It is able to keep up with and/or outpace the flow of data being thrown at it.
If you are just using a notepad or browsing some forums maybe...sending a few texts? Then the higher clock speeds show a negative return on battery usage - you don't need it and it's wasteful.
But when the data has to stay buffered because the CPU is taking it's time working with it, not only is there more electricity consumed by keeping the processor alive longer but also the juice spent on keeping the data buffered.
The data computed is the same data computed at any speed (unless you lose data along the way...) but the power spent on completing that operation is not equal - not by a long shot.
On single core older processors where you are talking about a couple hundred megahertz one way or another the equation is much different, significantly diminshed returns on electricity invested, but with higher quality and multi-core processors especially they can cut through the data with significant ease when sufficiently powered.
But this is on processor intensive activities, and gaming is the first thing that comes to mind. For most other use of the device it's worth underclocking it and you will see battery gains.
about time for me to change roms again. i know there are many with this option, but have never chose to pursue that option due to lack of understanding benefits. always seemed to get satisfactory battery life out of phone, but could it be better? i have noticed different speeds on my phone with different roms but is this something that can speed up and keep the smooooth in my phone?
just thought i would get some feedback of the advantages and disadvantages of overclocking and undervolting.
will it harm my infuse?
what are good settings?
what exactly would the OC or UV each do?
if i run a search on this, i know i am going to get the phone book and just figured i would get a more specific answer directly as opposed to piecing little bits together and still not being confident in what my interpretation would be.
everyone in the infuse community always seems to have the answers and dont steer the dullards such as myself in the wrong direction.
you guys are the MAN, and well, you women.....your the woman i reckon
captemo said:
will it harm my infuse?
Click to expand...
Click to collapse
No, so significant damage can be done with overclocking. Alhought if you set your ghz too high your phone might become unresponsive, overheat and/or auto reboot your device. This is normal if your on GB and some ICS roms. Don't see it much on JB becuase the some kernels dont support it. Just be sure to play with your settings and MAKE SURE SET ON BOOT IS DISABLED or else your phone will be stuck in a bootloop when overclocked beyond stable settings.
captemo said:
what are good settings?
Click to expand...
Click to collapse
I usually stick with 1400 ghz because 1600 ghz[max] drains battery too quickly for not much of performance boost and 1600 is considered unstable on most GB and ICS roms. As for CPU governor Id stick with ONDEMAND.
captemo said:
what exactly would the OC or UV each do?
Click to expand...
Click to collapse
OC is over clocking your processor to a higher ghz for better perofmance and under volting is drawing less energy
Is there like a guide saying what each CPU governor does? Because some of them are pretty confusing with their terminology, like smartassv2
Garen21 said:
Is there like a guide saying what each CPU governor does? Because some of them are pretty confusing with their terminology, like smartassv2
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=1420742
I used to under volt a lot to get better battery life. But it seemed to make a couple apps hang now and then.
I am now on Scotts PA JellyBean ROM. Battery life is very good for me stock with this. So I have left under volt to stock settings.
Normally I'll run on smartassV2 governer. With NOOP i/o. And 100mhz - 1400mhz.. just for a little extra boost.
When I know I'll be playing a game or multitasking, I'll boost it to 1600mhz.
Overall stock settings run amazing, both battery life and performance, on Scott's PA JB and CM10.
After doing some reading, I believe I can get better results from using the above settings. It all depends on what your personal goal is.
The biggest concern you should have when overclocking is mentioned above. Boot loop, just make sure you test it for a while with set on boot un checked.
Undervolting you can go to low and also boot loop, so same applies here... leave set on boot un checked. All phones are different on what settings they run best at. Just gotta play around and see what works for you.
A good rule of thumb for under voting... go down 25mv at a time and test it out... keep going down 25mv until you get a problem or boot loop and then go back.. then you'll know your max.
You can safely under volt more on the lower frequencies than you can the higher ones. Personally I never undervolted more than 100mv across the board. And when I did, I usually kept it around -50mv.
Sent from my SGH-I997 using xda app-developers app
not for infuse but a good reference for ocuv. explains what they do
http://forum.xda-developers.com/showthread.php?t=1827635
Sent from my GT-I9300 using xda premium
This is the best guide I've found covering kernel and system tuning - CPU parameters, governors, schedulers, init.d, loadable modules, etc. It's for the SGS2 (i9000) and some of the governors/schedulers are not available on the Infuse, but much of this is applicable to our phone:
http://forum.xda-developers.com/showthread.php?t=1369817
As for OC/UV, as long as you stay away from the "Performance" governor (this runs the phone at max freq all the time), and undervolting below -75 to -100 you generally will be safe. As phones are different, it is important to test in gradual steps to ensure your phone will be reliable. Use a good CPU manager, like SetCPU, Antutu, or Voltage Control. Make sure you enable the "revert to stock" feature so that you can boot recovery and turn off any bad OC/UV. As noted above, do not check the enable on boot setting until you are certain you have a good config.
The decision to OC should take into account how you use the phone. If your phone is asleep more than 80% of the time on average, you can probably run an OC config and still have overall good battery life (i.e. lasting an entire day with nightly recharges). If you use your phone for music playback or something else that prevents it from sleeping, OC may not be for you. If you run CPU intensive games, it is better to disable UV settings while OCed.
Use CPU Spy to keep an eye on your time at each freq state (and sleep). Use the default battery stats and graph to monitor which apps are consuming the most battery. Use apps like Better Battery Stats, Android Assistant and Watchdog for more detailed monitoring of what is keeping the phone awake and which apps/processes are top cpu resource consumers. With this information you can identify problem apps and decide whether you should remove them from your phone.
From the "unintended functionality" side of the house, there are certain tweaks that will cause your phone to run at max freq ... mucking around with phone properties in build.prop can lead to runaway rild process problems (usually shows up as unusually high "Dialer" in the standard battery stats list and a phone that is warm or hot to the touch). Some of the tweak scripts in adrenaline and tbolt can cause similar problems. There is a known bug in the infuse network drivers that shows up as much higher than normal Android OS battery usage. This can usually be corrected (short term fix) by toggling Flight/Airplane mode off/on. Running the stock UCLB3 GB kernel also seems to minimize this issue (assuming you are running a GB ROM), but flash with caution as you will need to disable voodoo lagfix first. (You will also lose CWM recovery, OC/UV capability, and be on the slower stock file system setup).
I have done a fair amount of experimenting including lots of time on conservative governor with Fmax=1600 and never had any problem that I attributed to OC'ing.
In contrast I did find a limit on UVing. I just updated my thread with my experience on uv here:
http://forum.xda-developers.com/showthread.php?p=32552571#post32552571
The bottom line is that for MY phone, the following works fine:
100 Mhz: 950mv max – 50mv = 900 millivolts
200 Mhz: 950mv max – 25= 925 millivolts
400 Mhz: 1050mv max – 50mv = 1000 millivolts
800 Mhz: 1200mv max – 75 mv = 1125 millivolts
1200 Mhz: 1275mv max – 50mv = 1225 millivolts
1600 Mhz: 1400mv max – 75mv = 1325 millivolts
Some other links with others' experience suggestions about UV'ing for Infuse:
Hozw low is your undervolt?
http://forum.xda-developers.com/showthread.php?t=1693689&highlight=kernel
[Q] Recommended SetCPU settings?
http://forum.xda-developers.com/showthread.php?t=1292836&highlight=setcpu
You’ll note the last thread has comments from Entropy’s settings.
Also Zen and qkster gave advice in the first thread (my thread).
All three guys very well respected and worth listening to.
Entropy mentioned you can uv the higher frequencies more than the lower (different than what was posted earlier in this thread). I don’t know for sure but I’d lean toward Entropy’s advice on that matter.
I think all in all somewhere between 50 and 100 is the max you can expect to undervolt.
What can be achieved varies with phone as stated by many.
You are welcome to experiment with slowly decreasing. That's what I did.
But in the benefit of hindsight, the process of slowly decreasing is tedious. And going beyond the limit was a little scarey for me. Could've been worse if the phone crapped out at a critical time during "experimenting". Like almost everything related to battery life, the results (how much benefit) seem y subjective (difficult to measure quantitatively). Most people say they don’t notice a dramatic difference with UV. If you want to get the low hanging fruit without a lot effort, you might just try 50 down. That's what I'd do if I had to do it all over again.
By the way, setcpu can be set up to provide a failsafe escape route even if you go overboard. There is a zip file that will toggle the setcpu settings off when launched from CWM. You just have to put the zip file on your sd card before you start tweaking. See "safe mode" in the setcpu documentation.
started to wonder at first whether i would get any responses after 218 views and nothing, but i knew the community would come through as they always do. all the regulars as usual regulars ( Zen, Quickster and others) are always eager to help. i think you have all provided me with the valuable info i requested.
thank you much party people
So recently I've become too lazy to constantly charge my Captivate and began to experiment with undervolting/underclocking it. Has anyone found optimal voltage for battery life? I've currently got every step of 200mhz down 100 volts and underclocked to a max of 800mhz. I'm on Semaphore kernel 2.9.5sc.
freshlimes said:
So recently I've become too lazy to constantly charge my Captivate and began to experiment with undervolting/underclocking it. Has anyone found optimal voltage for battery life? I've currently got every step of 200mhz down 100 volts and underclocked to a max of 800mhz. I'm on Semaphore kernel 2.9.5sc.
Click to expand...
Click to collapse
There isn't a optimal setting as all phones act different. Testing is the best you can do.
which cpu governor are you running? that may have more effect than underclocking/undervolting on battery life.
user Stempox has a nice post on cpu governors here
http://forum.xda-developers.com/showthread.php?p=28647926
the screen on time and data/gps traffic, and apps that keep the phone awake, do more to effect power drain than other factors. so, if you manage those, and choose the governor that suits you preferences, then undervolting and underclocking aren't needed, IMHO.
you can tweak the governor settings with Semaphore manager, if you really want to do that too.
the thing is, you may end up keeping the screen on longer than you would at higher cpu speeds, which would counter any battery savings. also, undervolting can increase the error rate, which means further delays while phone is awake.
hope this is helpful in your pursuit of fewer charging cycles.
Sent from my SGH-I897