[Q] SetCPU governors and best frquencies - HTC Desire S

Hey guys, i just rooted my phone, flashed LBC Mod 0.5.1 and installed SetCPU. I'm completely new to this and i tried googling about the governors, but couldn't understand a word. Now my question is - what do they do? Also, what are the best frequencies?

Basically put, a governor determines how quickly your CPU speed changes between your minimum and maximum frequency settings.
For example, try setting it to conservative. This will make the changes quite slowly, and you'll notice quite a bit of lag between home-screen and when scrolling quickly through lists. It will take a few seconds to realise you are putting more demand on the device and adjust the CPU frequency accordingly.
I think conservative is the slowest, and really only useful for low battery profiles. At the other end of the scale is 'Performance' which simply keeps your CPU maxed out at your top setting all the time. I can't recommend this one. Only really good for intensive games, but I think the Desire S can cope fine with any out there at the minute. This one will drink battery and cause your phone to run hot.
The best balance of reacting quickly and not interfering with performance or draining battery is the 'smartass' one, although some people prefer the 'ondemand' one.
I haven't a Scooby-do what 'userspace' does. I think it is for when you have another program to control CPU speed that reacts to parameters other than demand. Can anyone else confirm?
Try 'smartass' and 'ondemand' and see which you prefer for performance v battery life.
Edit: The best speed is up to you. I would not recommend going over 1.5GHz even if the kernel supports it. Your phone will not live very long. Personally I am waiting until an application comes along that requires I up the speed to run it properly. Everything I have thrown at it so far has been dealt with well leaving the CPU at 1GHz.
If you feel the need, when changing CPU speeds, do so in small steps. Don't just max out the slider. Find what is best for you with small adjustments. Your phone will become unstable if pushed too far.
The light that burns twice as bright, burns half as long.

@wnp_79
I hope that that lot goes into the new edition of your guide!

ben_pyett said:
@wnp_79
I hope that that lot goes into the new edition of your guide!
Click to expand...
Click to collapse
I think it just may do! I am thinking about doing an entire section simply for S-Off & rooted users, but I'm waiting to see what happens with this AlphaRev business first. Then the safe S-Off procedure can be included in the guide which is aimed at newcomers. Then we get them flashing ROMs!
Would do a separate one for more advanced users, problem is I'm still learning this stuff myself too.

Personally I’ve come to realize that 1.2~1.3 is the best top CPU speed for my usage. I do not play games but use internet a lot and generally interact intensively with the phone within the day. Only other profiles I have set is for screen off and <16% battery. Scaling is set on-demand.

245 ... 1200 MHz
smartass govenour
- good performance
- excellent battery life
- snappy from the verry start (lock screen) thanks smartass
profiles for
- bat<30%
- temp>40°C

axelpix said:
245 ... 1200 MHz
smartass govenour
- good performance
- excellent battery life
- snappy from the verry start (lock screen) thanks smartass
profiles for
- bat<30%
- temp>40°C
Click to expand...
Click to collapse
Have you tried the latest version of LBC ROM (v0.5.2) which has the new O/C Daemon? if yes, then what did you think when compared to setCPU.
I previously used settings through setCPU very similar to those you've written above (although I had a slightly lower top end) but, I didn't find it as snappy from the lock screen when compared to the new Daemon that comes within the Unity kernel, which I did have initial reservations about.....but can only see it getting better over time.

SetCPU with smartass feels faster to me. Absolutely no lag on lockscreen. You must not have a screen off profile. Or at least not one with a different governor.
Yes, the new OC daemon is a nice approach, but needs some interface to configure. Currently there's no way to have profiles for battery or temperature.
Sent from my HTC Desire S using XDA App

I use ondemand and have the screen off profile set into the 400Mhz Max, to allow for house keeping and music playback, that's it!

axelpix said:
SetCPU with smartass feels faster to me. Absolutely no lag on lockscreen. You must not have a screen off profile. Or at least not one with a different governor.
Yes, the new OC daemon is a nice approach, but needs some interface to configure. Currently there's no way to have profiles for battery or temperature.
Sent from my HTC Desire S using XDA App
Click to expand...
Click to collapse
Your right when I used setCPU my screen off profile was conservative, although the author of the daemon has promised a set CPU like gui to come, so lets hope that s soon and comes with some profile options (just charging, battery and temp profiles would do)
Sent from my HTC Desire S using XDA Premium App

I have used SetCpu with only smartass governor for a few days, compared to both smartass governor and screen-off profile(all 245MHz with ondemand).
I found it is more battery saving on both smartass governor and screen-off profile(lowest freq.). The reason is that the lowest freq.(245MHz) have been selected much more times according to the cpu used freq. stastics in SetCpu info menu.
I guess the auto screen-off profile in smartass governor may not work well or stable. so if I explicitly setup a screen-off profile with the lowest freq., the lowest freq. will be selected restrictly when screen-off.
Sorry for my poor english and hope u all know what I said.

ben_pyett said:
Your right when I used setCPU my screen off profile was conservative, although the author of the daemon has promised a set CPU like gui to come, so lets hope that s soon and comes with some profile options (just charging, battery and temp profiles would do)
Sent from my HTC Desire S using XDA Premium App
Click to expand...
Click to collapse
Ditto. I too want a GUI for easy use of the daemon. Until that comes, I'm using SetCPU.

allen oddest said:
I have used SetCpu with only smartass governor for a few days, compared to both smartass governor and screen-off profile(all 245MHz with ondemand).
I found it is more battery saving on both smartass governor and screen-off profile(lowest freq.). The reason is that the lowest freq.(245MHz) have been selected much more times according to the cpu used freq. stastics in SetCpu info menu.
I guess the auto screen-off profile in smartass governor may not work well or stable. so if I explicitly setup a screen-off profile with the lowest freq., the lowest freq. will be selected restrictly when screen-off.
Sorry for my poor english and hope u all know what I said.
Click to expand...
Click to collapse
Hm, on my device smartass always puts back to 245MHz in ScreenOff mode.

axelpix said:
Hm, on my device smartass always puts back to 245MHz in ScreenOff mode.
Click to expand...
Click to collapse
Remember that the phone needs to run @ a certain frequency to keep itself running even when the screen is off. Although Set CPU resetting itself is a new one on me. Have you ticked "run at boot"?

Related

cpu govener??

question... I see all the govener setting in ns tools, setcpu, ect.... just wondering something.... What setting is.used in factory otu roms? lets say a.unrooted nexus s, what is.it natively set at? 100/1000 ? and ondamand? or is.it 1000/1000?
Sent from my Nexus S 4G using XDA App
100/1000 ondemand is the default.... but I always change it to 200/1000 smartassv2 it works best for my phone
Sent from my Nexus S 4G using xda premium
I usually use "ondemand", it seems to work best. Once I decided to try "powersave" and my phone slowed down to a crawl, pretty much unusable. I don't know what that was about, but I definitely don't recommend it...
Jabaculemos said:
I usually use "ondemand", it seems to work best. Once I decided to try "powersave" and my phone slowed down to a crawl, pretty much unusable. I don't know what that was about, but I definitely don't recommend it...
Click to expand...
Click to collapse
Powersave limits the cpu to the absolute lowest frequency at all times. It is not usable for normal operations, except for Setcpu screen-off profiles.
Performance governor is the opposite ; it keeps the cpu running at max frequency (1ghz with stock kernel) and is useful only for speed benchmarks.
The other linux kernel governors are described in detail in numerous threads... All you have to do is search "kernel governor ".
My personal choice is smartassv2 since it's responsive, efficient with battery consumption, and features a screen-off sleep profile.
Ezekeel recommended me lazy with proof screenshots
Governors control how the CPU frequency adjusts. They work like this:
Ondemand: Starts at a low frequency and when there is any CPU activity it uses max frequency. It goes back to low over time.
Conservative: Like ondemand, but instead of using max frequency on CPU activity it uses the next step. It's less responsive than ondemand since it goes like: "100% CPU > Higher Freq. > 100% CPU > Higher Freq..." instead of "100% CPU > Max Freq."
Lazy: Like ondemand but there is a small delay between frequency changes. I use this one.
Performance: Max frequency all time.
Powersave: Min frequency all time.
Interactive: This is a bit complex, actually it's sampling the CPU usage and trying to predict what will come up (I think).
Smartass: It's like interactive, but rewritten. It should give better results.
Default is ondemand 100/1000 and it works pretty good.
Hope I helped.

Best way to manage CPU?

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...

[Q] Confused about which governor to use with Speedy-7

I'm a litte confused about which governor to use.
By default this kernel uses conservative and it performs quite well. I would expect it to be less snappy, but the difference is very small. Especially scrolling through the home-screens etc. is fluid.
Now, interactive is supposed to be the new ICS default-governor and normally you would expect it to be sthe snappiest one. Anyway, with interactive scrolling through my home-screens is a little choppy... How can that be?
SmartassV2 seems to be good in an overall-view, but I'm not sure what to think about it, because I generally would prefer using a more classical governor.
What governor would you use on a stock-4.0.3-ROM with Speedy-7-Kernel if you don't use heavy apps or games, but want all those general apps (launcher, browser etc.) to rum really smooth?
Thanks
McDV
Hi,
i use lulzactive on my Nexus S.
If you use it with NS tools, it gives you more option to control screen off freq.
With that it has great battery life.
lulzactiveV2/sio is the smoothest for me. Anyways I don't know yet which is the best governor for the night when I sleep. Can I use powersave? When I don't use my phone it should stay at the lowest clock as possible.
Sent from my Nexus S using XDA App
personal experience: wheatley --> luzlactive --> lazy , best battery-performance balanced
Thanks for all your answers.
I've tried all those governors now and I think smartassV2 seems to be the one I will use for now.
But some other question: The kernel offers Live OC. It seems pretty clear what this is: All the speeds are increased by x%, including the bus-speed of 200Mhz, without increasing the voltages.
Lets say I just overclock about 10%, so the maximum-clock is 1100 Mhz, without increasing the voltage. Will I drain more battery than with 100% speed? And is there any visible advantage in overclocking just about 10% or won't I see or feel any difference at all?

CPU Freq: How do you keep yours?

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.

what to use for overclocking?

i use setcpu (and i believe i actually bought the donate version)...but lately, i've been seeing people recommended against using setcpu.
any reasoning for this? and what is the preferred alternative?
Sent from my Transformer TF101 using Tapatalk
I've used SetCPU since my phone. Work fine for me, no problems.
If it's working good for you don't worry too much
^what he said.
setCPU works fine for me too. I use it to change cpu speed when I am doing benchmarks and I haven't seen anything that indicates setCPU isn't working correctly.
I will say though, that I can OC my TF and I can't really notice a difference from just running at 1 GHZ...But I do see a difference in battery life.
So bottom line, I just leave it at stock speed and enjoy.
I use Systune app (also, lets you modify "nice" settings, io, etc), advanced test's over SetCpu demonstrated it's not optimized for sleep/awake schedules, so do not use it for sleep/awake frequencies
Setcpu works fine for me! I have used it on a Herotab C8 and some other phones.
nothrills is what I have switched to from setcpu as I didn't like when setcpu changed their interface.
I use No-frills CPU control and it works quite nice. It allows you to set min/max frequency, I/O scheduler as well as your governor. I use min 312, max 1600, I/O noop, and Ondemand for my governor and it runs quite fast! Ondemand, however, does increase your battery consumption but it is geared more for performance than battery life. Interactive also seems to be a good mix of performance and battery usage but I tend to go for pure, unadulterated power! ;-P...well...that would be the "performance" governor but...Ondemand is more practical :-D
Using no frills here. Simple and effective.

Categories

Resources