In rom control > cpu frequency?
What value have i set on min and max?
What type i have to set on governor?
What type i have to set on IO scheduler?
All setting cpu freq depend on what?
[ROM][AOKP][JB][RC]ARC S[Build 5]
[KERNEL][FUSION v3.7]
Have min and max set as the highest or 1.4 . set governor as performance, and have 'noop' as IO. Of course, the frequency entirely depends on what you want from your phone - best performance with high battery drain, laggy as hell performance with best battery life, or somwhere in the middle
jman2131 said:
Have min and max set as the highest or 1.4 . set governor as performance, and have 'noop' as IO. Of course, the frequency entirely depends on what you want from your phone - best performance with high battery drain, laggy as hell performance with best battery life, or somwhere in the middle
Click to expand...
Click to collapse
So what value have to i set? Depend on ?
[ROM][AOKP][JB][RC]ARC S[Build 5]
[KERNEL][FUSION v3.7]
the higher the frequency/value, the faster and better performance your phone will have. So depending on how slow/fast you want your phone, set the frequency/value to the appropriate/corresponding level of performance
Basicly you have to experiment with the cpu freq in order to determine the best freq for your desire (gaming,smoothines,battery drain)
As for guvernors - Performance will always keep it at max freq so it drains ur batttery like hell
- Smartass will use lower freq and less the max freq so its the best for battery life and smoothines in my experience.
If you used search you would have found -> gouvernors info
Gouvernor Infos
AS for I/o sched -Noop has the best ratio for perfo/batt life.
Performance sheeet comparison of sched and guvernors
jman2131 said:
Have min and max set as the highest or 1.4 . set governor as performance, and have 'noop' as IO. Of course, the frequency entirely depends on what you want from your phone - best performance with high battery drain, laggy as hell performance with best battery life, or somwhere in the middle
Click to expand...
Click to collapse
Better set Interactive because performence eats battery
cpu
what the best cpu ferequency for arc s?
for bettey battery life?
what is governor?
what is i/o schedual?
ihave a problen in set cpu
i set the cpu for an app , and when i go to app and after close the app , don't back ferequency to values that i set in the main screen
and the ferequency set to maximum
Related
Guys! What is the best setting for Set Cpu? I need to conserve battery. My battery lasts about 12 hours. Im using a Reflex S 2.04 rom but i shifted to Leedroid 2.4.1. My settings are 768 On demand and 245 max 245 min on demand for powersave.
What is smart ass? How does it affect the system?
On SetCpu, I run overclocked 1200 till under 80%
Then about 80
700 at 70% battery
600 at 50%
I don't wish to run lower, as the desire gets a little wonky below 500mhz
3 profiles. I can get 3 days battery
I use no frills CPU - oc 1114, ondemand governor 245-1114.
Get about 12 he's heavy use, up to 2 days light. Today I have done 3+ hrs train journey with music, browsing and SMS, checked mail, now hanging about on this forum! 41% left.
All other governors are ****. Just use ondemand.
Im set at 128-1190 ondemand.
Sent from CM7
Meaple said:
All other governors are ****. Just use ondemand.
Click to expand...
Click to collapse
Why?
I use smartass @128-768 Mhz.
remember to use screen off feature (saves a lot of battery)
I've been meaning to ask for a while but what's the difference between the governors, such as ondemand smartass etc...? Thanks. Dan.
Sent from my HTC Desire using XDA App
MatDrOiD said:
Why?
I use smartass @128-768 Mhz.
Click to expand...
Click to collapse
Because they don't work well. When you need CPU power they tend to lag and it takes that little extra longer which does my head in. Whether it's just me I don't know but it is so annoying. I have noticed it when playing games like RoboDefence. That's why I stick to ondemand because it actually works.
for the sleep off what is the best setting? screen off 245 max 245 min on demand? or 245 max 128min smart ass?
With smartass you do not have to set a profile for screen off. Smartass uses automatically the min cpu-frequency you set. So if you set smartass for screen off, you have two "screen off"-profiles. I think that could cause problems. You should set the screen-off-profile on [email protected] to avoid waking up problems, which can occur with this min 128 and max 245 for screen off-profile.
Meaple said:
Because they don't work well. When you need CPU power they tend to lag and it takes that little extra longer which does my head in. Whether it's just me I don't know but it is so annoying. I have noticed it when playing games like RoboDefence. That's why I stick to ondemand because it actually works.
Click to expand...
Click to collapse
+1 Agree totally
Ondemand is the only governor which doesnt make my phone lag.
westleydan said:
I've been meaning to ask for a while but what's the difference between the governors, such as ondemand smartass etc...? Thanks. Dan.
Sent from my HTC Desire using XDA App
Click to expand...
Click to collapse
You can find this in the wiki...
westleydan said:
I've been meaning to ask for a while but what's the difference between the governors, such as ondemand smartass etc...? Thanks. Dan.
Sent from my HTC Desire using XDA App
Click to expand...
Click to collapse
From SetCPU-Website:
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.
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.
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 CPU load.
powersave – Available in some kernels. It will keep the CPU running at the “min” set value at all times.
userspace – A method for controlling the CPU speed that isn't currently used by SetCPU. For best results, do not use the userspace governor.
Click to expand...
Click to collapse
smartass governor – is based on the concept of the interactive governor.
I have always agreed that in theory the way interactive works – by taking over the idle loop – is very attractive. I have never managed to tweak it so it would behave decently in real life. Smartass is a complete rewrite of the code plus more. I think its a success. Performance is on par with the “old” minmax and I think smartass is a bit more responsive. Battery life is hard to quantify precisely but it does spend much more time at the lower frequencies.
Smartass will also cap the max frequency when sleeping to 352Mhz (or if your min frequency is higher than 352 – why?! – it will cap it to your min frequency). Lets take for example the 528/176 kernel, it will sleep at 352/176. No need for sleep profiles any more!
Click to expand...
Click to collapse
Source: http://www.ziggy471.com/2010/11/07/smartass-governor-info/
What's the difference between / features of:
Interactive
Conservative
Ondemand
Smartass
Smartassv2
Performance (is it run at the maximum?)
Powersave (is it run at the minimum?)
And does performance for each vary per kernel? What I mean is will, say, Interactive be better than Conservative on Incredikernel AOSP but worse on Tiny GB Sense?
pianoplayer said:
What's the difference between / features of:
Interactive
Conservative
Ondemand
Smartass
Smartassv2
Performance (is it run at the maximum?)
Powersave (is it run at the minimum?)
And does performance for each vary per kernel? What I mean is will, say, Interactive be better than Conservative on Incredikernel AOSP but worse on Tiny GB Sense?
Click to expand...
Click to collapse
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.
SMARTASS GOVERNOR
Based on the concept of the interactive governor. I have always agreed that in theory the way interactive works - by taking over the idle loop - is very attractive. I have never managed to tweak it so it would behave decently in real life. Smartass is a complete rewrite of the code plus more. I think its a success. Performance is on par with the "old" minmax and I think smartass is a bit more responsive. Battery life is hard to quantify precisely but it does spend much more time at the lower frequencies. Smartass will also cap the max frequency when sleeping to 245Mhz (or if your min frequency is higher than 245 - why?! - it will cap it to your min frequency). Lets take for example the 998/245 kernel, it will sleep at 245. No need for sleep profiles any more!
The performance for each can varry by kernel due to the fact that some devs slightly tweak the governors to their liking. Without any tweaking they should be the same accross all kernels.
Also note that tinys kernel has an interactive X governor and also a smartass 2 governor. These are basicky just tweaked versions of the original governor.
pianoplayer said:
What's the difference between / features of:
Interactive
Conservative
Ondemand
Smartass
Smartassv2
Performance (is it run at the maximum?)
Powersave (is it run at the minimum?)
And does performance for each vary per kernel? What I mean is will, say, Interactive be better than Conservative on Incredikernel AOSP but worse on Tiny GB Sense?
Click to expand...
Click to collapse
This is a good resource for governors. It is quite technical though. It doesn't include smartass though smartass is similar to smartassv2.
CPU Governors
Let me know if you still have questions after reading it.
The answer to your second question is no. The build of the governors are about 95% the same between kernels and with the exception of the smartass governors all those listed are stock android kernels.
Interactive should be smoother than conservative or ondemand but similar in performance to the smartass governors.
SmartassV2 is found to give the best performance/battery life combo across the board.
Edit: Good writeup cmlusco. In practice yes, smartassv2 is better all around I think. Interactive from Nexus S/Galaxy Nexus kernel source should be good but I've yet to be able to backport it to work on this phone property. It turns into a performance governor really.
And a side note. If the phone is actually in deep sleep state (reported by CPU Spy) the governor will not really matter then. Only time screen off matters is when it's awake but screen is off. Governor is most critical when screen is on really, so if you go for performance, screen on performance is what matters.
Edit 2: And I read some interesting viewpoints recently on maximizing battery that are different than the minimize CPU speed.
Right now I'm at 1.35GHz with Francos stock settings, so 700 for the minimum. Should I expect to see much of a loss in battery life? And what is the difference between the different governors? I could never find much info about them.
The OC itself dosent affect battery, it's how much time your phone is in whatever state(350, 700, 1350, etc..) also setting the minimum to 700 is either really good or really bad for battery, if you turn on your screen ever 5 minutes then it will be better to have it at 700 but if you only turn on your screen once every couple hours you will get much better battery with the absolute minimum. As for governors
Code:
interactive - 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.
smartass - Is an improved version of interactive governor
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.
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.
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 CPU load.
powersave – Available in some kernels. It will keep the CPU running at the “min” set value at all times.
userspace – A method for controlling the CPU speed that isn't currently used by SetCPU. For best results, do not use the userspace governor.
brazilianwax - Very agresive version of smartass
interactiveX - Tweaked Interactive governor by Imoseyon by adding more features like suspend/wake profile
ondemandX - Tweaked and ported from 2.6.38 base Ondemand governor by Imoseyon by adding more features like suspend/wake profile
This is taken from the lord module kernel from the desire HD forum as it has a list of many governors, you may have to try a couple governors until you find one that balances speed and battery life for your personal needs, on more governor on our devices is hotplug which will turn off one of the CPU cores when the screen is off.
Seen a lot of conflicting comments stating using smartass governor means there is no need for profiles to be setup and can actually be detriment to the battery life and speed of phone.
Is this true or could I benefit from setting up profiles to get my usage optimised.
Below is a quote which will explain you everything about smartass governor
From it's developer:
"smartass governor - is based on the concept of the interactive governor. I have always agreed that in theory the way interactive works - by taking over the idle loop - is very attractive. I have never managed to tweak it so it would behave decently in real life. Smartass is a complete rewrite of the code plus more. I think its a success. Performance is on par with the "old" minmax and I think smartass is a bit more responsive. Battery life is hard to quantify precisely but it does spend much more time at the lower frequencies. Smartass will also cap the max frequency when sleeping to 352Mhz (or if your min frequency is higher than 352 - why?! - it will cap it to your min frequency). Lets take for example the 528/176 kernel, it will sleep at 352/176. No need for sleep profiles any more!"
Click to expand...
Click to collapse
This is not my work, i adjusted a bit (take several Governor out) , so all credits go to droidphile.
i will myself accept THANKS
Explanation of Different Governors
1. GOVERNORS
These are the 9 governors we're talking about.
1) Ondemand
2) Ondemandx
3) Conservative
4) Interactive
5) SmartassV2
6) Intellidemand:
7) Lagfree
8) Userspacce
9) Performance
1) Ondemand:
Default governor in almost all stock kernels. One main goal of the ondemand governor is to switch to max frequency as soon as there is a CPU activity detected to ensure the responsiveness of the system. (You can change this behavior using smooth scaling parameters, refer Siyah tweaks at the end of 3rd post.) Effectively, it uses the CPU busy time as the answer to "how critical is performance right now" question. So Ondemand jumps to maximum frequency when CPU is busy and decreases the frequency gradually when CPU is less loaded/apporaching idle. Even though many of us consider this a reliable governor, it falls short on battery saving and performance on default settings. One potential reason for ondemand governor being not very power efficient is that the governor decide the next target frequency by instant requirement during sampling interval. The instant requirement can response quickly to workload change, but it does not usually reflect workload real CPU usage requirement in a small longer time and it possibly causes frequently change between highest and lowest frequency.
2) Ondemandx:
Basically an ondemand with suspend/wake profiles. This governor is supposed to be a battery friendly ondemand. When screen is off, max frequency is capped at 500 mhz. Even though ondemand is the default governor in many kernel and is considered safe/stable, the support for ondemand/ondemandX depends on CPU capability to do fast frequency switching which are very low latency frequency transitions. I have read somewhere that the performance of ondemand/ondemandx were significantly varying for different i/o schedulers. This is not true for most of the other governors. I personally feel ondemand/ondemandx goes best with SIO I/O scheduler.
3) Conservative:
A slower Ondemand which scales up slowly to save battery. The conservative governor is based on the ondemand governor. It functions like the Ondemand governor by dynamically adjusting frequencies based on processor utilization. However, the conservative governor increases and decreases CPU speed more gradually. Simply put, this governor increases the frequency step by step on CPU load and jumps to lowest frequency on CPU idle. Conservative governor aims to dynamically adjust the CPU frequency to current utilization, without jumping to max frequency. The sampling_down_factor value acts as a negative multiplier of sampling_rate to reduce the frequency that the scheduler samples the CPU utilization. For example, if sampling_rate equal to 20,000 and sampling_down_factor is 2, the governor samples the CPU utilization every 40,000 microseconds.
4) Interactive:
Can be considered a faster ondemand. So more snappier, less battery. Interactive is designed for latency-sensitive, interactive workloads. Instead of sampling at every interval like ondemand, it determines how to scale up when CPU comes out of idle. The governor has the following advantages: 1) More consistent ramping, because existing governors do their CPU load sampling in a workqueue context, but interactive governor does this in a timer context, which gives more consistent CPU load sampling. 2) Higher priority for CPU frequency increase, thus giving the remaining tasks the CPU performance benefit, unlike existing governors which schedule ramp-up work to occur after your performance starved tasks have completed. Interactive It's an intelligent Ondemand because of stability optimizations. Why??
Sampling the CPU load every X ms (like Ondemand) can lead to under-powering the CPU for X ms, leading to dropped frames, stuttering UI, etc. Instead of sampling the CPU at a specified rate, the interactive governor will check whether to scale the CPU frequency up soon after 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 very busy between exiting idle and when the timer fires, then we assume the CPU is underpowered and ramp to max frequency.
5) SmartassV2:
Version 2 of the original smartass governor from Erasmux. Another favorite for many a people. The governor aim for an "ideal frequency", and ramp up more aggressively towards this freq and less aggressive after. It uses different ideal frequencies for screen on and screen off, namely awake_ideal_freq and sleep_ideal_freq. This governor scales down CPU very fast (to hit sleep_ideal_freq soon) while screen is off and scales up rapidly to awake_ideal_freq (500 mhz for GS2 by default) when screen is on. There's no upper limit for frequency while screen is off (unlike Smartass). So the entire frequency range is available for the governor to use during screen-on and screen-off state. The motto of this governor is a balance between performance and battery.
6) Intellidemand:
Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (or moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of CPU. Lower idling time (<20%) causes CPU to scale-up from current frequency. Frequency scale-down happens at steps=5% of max frequency. (This parameter is tunable only in conservative, among the popular governors )
To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.
7) Lagfree:
Lagfree is similar to ondemand. Main difference is it's optimization to become more battery friendly. Frequency is gracefully decreased and increased, unlike ondemand which jumps to 100% too often. Lagfree does not skip any frequency step while scaling up or down. Remember that if there's a requirement for sudden burst of power, lagfree can not satisfy that since it has to raise cpu through each higher frequency step from current. Some users report that video playback using lagfree stutters a little.
8) Userspace:
Instead of automatically determining frequencies, lets user set frequencies.
9) Performance:
Sets min frequency as max frequency. Use this while benchmarking!
So, Governors can be categorized into 3/4 on a high level:
1.a) Ondemand Based:
Works on "ramp-up on high load" principle. CPU busy-time is taken into consideration for scaling decisions. Members: Ondemand, OndemandX, Intellidemand, Lagfree.
1.b) Conservative Based:
Members: Conservative,
2) Interactive Based:
Works on "make scaling decision when CPU comes out of idle-loop" principle. Members: Interactive, InteractiveX, Smartass, SmartassV2,
3) Weird Category:
Members: Userspace, Performance.
__________________________________________________ __________________________________________________ ____________
II) QUESTION TIME
Q. "Ok. Enough of explanations. Tell me which governor is for performance and which one is for battery life."
A. Tough question! smartassV2 for a balance between performance and battery. For light weight tasks. To get maximum performance, use a tweaked ondemand or conservative, but never complain about battery. NOTE: If you don't know how exactly to do it, stay away from it or you will end up complaining about battery drain!
Q. "Hey, almost forgot. How do i change governors?"
A. Best way is to use apps such as system tuner,android tuner,kernel tuner etc.
Q. "How do i know which governor is best for me?"
A. It depends on what you need and your daily usage pattern. Performance or battery. Better choose a governor that's balanced for battery/performance. Or tweak a governor to give performance an upper-hand as compared to battery. We can always re-charge the phone: In car when off to work, or overnight. But we can not recharge performance!
Q. "I can feel slight lags here and there with a governor. For ex: while scrolling through app drawer/vertically scrolling browser, etc. I really love this governor and don't tell me to use another governor. Can i diminish this lag?"
A. Hmm well, you can. Basically what we have to do is make the governor "poll" less often to scale-down cpu. Increase down-sampling-time of your governor (whichever parameter that corresponds to), so that the cpu will stay longer on a frequency before scaling down. This should eliminate the lag.
Q. "Even though i don't have too much uv/oc, once in a while; may be once in two weeks, i experience a freeze/lock/reboot. I'm using governor X. How do i solve this?"
A. Well, a random reboot/freeze once in a while signifies that we're android/ enthusiast. If everything go smooth as silk, what's the fun? We could use stock rom/kernel/governor and be happy. A rare reboot or freeze is nothing to worry about. Just restart the phone.
Q. "OK. I want to tweak these governors according to my usage pattern, because i'm not happy with the default behavior of these governors".
A. You can tweak the governors using an init.d script to echo suitable values into:
/sys/devices/system/cpu/cpufreq/name-of-active-governor/name-of-the-paramater-to-tweak
screen-on will not drain too much battery like you think!
HIT THE THANKS IF THIS INFORMATION WAS HELPFULL
Same exact thing can be found here http://forum.xda-developers.com/showthread.php?t=1369817
So I suggest you give droidphile a "Thanks" aswell
i was wondering how the governors work on our devices ~
Thanks for your shareing! it's really helpful!
jasperlin1996 said:
i was wondering how the governors work on our devices ~
Thanks for your shareing! it's really helpful!
Click to expand...
Click to collapse
On a single core cpu, smartass v2 is always recommended for performance/battery balance.
If you got a S4 Dual or S4 Quad device on JB rom, that is another story. On-demand or even interactive actually works well.
TheEndHK said:
On a single core cpu, smartass v2 is always recommended for performance/battery balance.
If you got a S4 Dual or S4 Quad device on JB rom, that is another story. On-demand or even interactive actually works well.
Click to expand...
Click to collapse
thanks for your recommend!