2 questions about battery life - Vibrant Q&A, Help & Troubleshooting

So I just wanted to know does having extra launchers like go launcher or launcher pro use extra battery? And what about if theyre installed but not used?
and my second question is does setting your cpu max and min to the same number save battery life? Someone on here told me that and idk if its true or not, ive been trying it and it doesnt seem to die as fast but doesnt give a noticable increase in life. If it does save battery should I set it to 400,400 (works great games lag) 800,800(games lag a tiny bit) 1000,1000 or 1200,1200(for performance). Just some thoughts that were in my head and I just wanted answers thanks to anyone who helps
Sent from my SGH-T959 using XDA Premium App

Anyone?
SneakySnake16 Proud noob to XDA

if you have alternative launchers installed, as long as you are not using them they shouldn't consume resources.
as far as setting min/max for CPU speeds, stick to the basics 100 min 1000max for stability. setting your minimum at high frequencies is just wasting more energy.
as far as performance is concerned, start easy by playing with the schedulers (ie. vr, deadline, cfq, bfq, noop, etc.) and governors (ondemand, smartass, conservative, etc.)

Alright thanks for the help
SneakySnake16 Proud noob to XDA

As xtone mentioned, alternative launchers which are not in use, wont eat up your battery.
About the battery life -- It's usually best to keep your min at 100 (some prefer 200) because when the phone is not in use, it will rev down to your lowest and save battery. If you have it set for 400 for example, it will never go lower than that, and be using more battery than if it were at 100 (presumably so). The best bet would be to first change your governors and schedulers, then learn about undervolting. After than, learn about freezing unnecessary system processes, and investing in a solid task-killer/system monitor (I recommend system panel).
Here is some good info on schedulers/ governors: http://forum.xda-developers.com/showthread.php?t=1242323
Undervolting varies from user to user because the distinctness of hardware...always good to start with lower values (such as -25) and test it a few days, and decide if you want to push further until you get a restart/freeze.
My undervolt values are something like...
1000 - 50
800 -75
600 - 100
400 - 125
200 - 150
100 - 175
Here is some further reading about improving battery life: http://forum.xda-developers.com/showthread.php?t=1389069

Xenoism said:
As xtone mentioned, alternative launchers which are not in use, wont eat up your battery.
About the battery life -- It's usually best to keep your min at 100 (some prefer 200) because when the phone is not in use, it will rev down to your lowest and save battery. If you have it set for 400 for example, it will never go lower than that, and be using more battery than if it were at 100 (presumably so). The best bet would be to first change your governors and schedulers, then learn about undervolting. After than, learn about freezing unnecessary system processes, and investing in a solid task-killer/system monitor (I recommend system panel).
Here is some good info on schedulers/ governors: http://forum.xda-developers.com/showthread.php?t=1242323
Undervolting varies from user to user because the distinctness of hardware...always good to start with lower values (such as -25) and test it a few days, and decide if you want to push further until you get a restart/freeze.
My undervolt values are something like...
1000 - 50
800 -75
600 - 100
400 - 125
200 - 150
100 - 175
Here is some further reading about improving battery life: http://forum.xda-developers.com/showthread.php?t=1389069
Click to expand...
Click to collapse
Wow thanks I'll definitely take a look at those guides
SneakySnake16 Proud noob to XDA

Related

Best SetCPU Settings for hero???

Knowing the Hero hasn't got a amazing battery, many users try and get the best out of their battery by overclocking etc, but like me, I want to know the best settings to look after my battery, can you help??? Basically, I use mostly Froyo (Elelinux's Roms), and set setCPU or cyanogen CPU settings at smartass min 176 max 652, I only usually play a few games and browse using opera mini, text a lot and a few calls, but I think the battery could be WAAAAY better, so please post what ROMS you use your setCPU/Cyanogen settings at, and what governer is better and a good CPU setting? Hopefully you could help me and many other users....
Thanks.... Regards....GARY
salsa sense rc 2
overclocked smartass 176 - 729
with auto backlight maybe 2 hours gaming some youtube/music and a lot of texting i've got 12 hours before empty
(try batterycalibration from the market (free) to calibrate and optimize your battery.. gave me 2h more batt.)
SalsaSense RC2, LV 0.4.7
Profiles:
Screen Off: 176-264 smartass, priority 100
Charging: 352-633 ondemand, priority 90
Battarey<17%: 176-518 ondemand, priority 80

Optimus V: Overclocking

What are the best settings to have you phone's CPU speed set at? I'm looking for both good performance and good battery. Also I am using the default overclocker, what is the best one? Thank you guys for your time.
Sent from my LG-VM670 using XDA Premium App
I use SMARTASS as my CPU speed governor and I set my CPU to 480-748 MHz, seems pretty stable for me.
Sent from my LG-VM670 using xda premium
thaunknownartist said:
What are the best settings to have you phone's CPU speed set at? I'm looking for both good performance and good battery. Also I am using the default overclocker, what is the best one? Thank you guys for your time.
Sent from my LG-VM670 using XDA Premium App
Click to expand...
Click to collapse
Overclocking values differ from phone to phone. Test it out with different values and use the one which is stable for you.
This was just discussed in the IHO technical-discussion thread, as a matter of fact.
My phone is stable for most stuff at 806 MHz, but sometimes the camera will cause a freeze/reboot. So I run at a 786 MHz max. Your phone will be different; this has to do with minute physical differences between individual chips.
The thing to keep in mind when overclocking is that the processor in our phone (unlike those of many other phones) does not make use of dynamic voltage scaling. There are only two voltage levels: a lower one if the phone is running at or below (or is it just below? correct me if I'm wrong, guys) 480 MHz, and a higher one if the phone is running above. So below 480 MHz, the system will give the processor a certain amount of voltage (period), and above, the processor will get a certain higher amount of voltage (period).
Because of that, the tests that have been done indicate that 806 MHz is the sweet spot for battery efficiency when the phone is in use--and the closer you get to 806, the better. Thus, I've had the following settings for quite some time:
786 MHz min
786 MHz max
Performance governor
which has treated me pretty well. On a day of light to moderate use, I'd end up with 65-75% battery left (occasionally more like 80%), depending on cell signal where I am et al. And it gives me probably the best performance I'm gonna get out of this phone.
However, I very recently decided to change the minimum to below that 480 MHz threshold and see what a lower voltage when idling would do for my battery life. My current settings are:
320 MHz min (may change to 480)
786 MHz max
Smart*** governor
There is actually a noticeable performance decrease when I first wake the phone up, so I may switch governors as well. In any case, I've had those settings for only one full day now, but for that one day the battery life was noticeably better. I'll post an update when I've had a few more days to test.
As always, it's difficult to quantify battery life in a reliable/rigorous manner (much less a universally applicable one), so YMMV.

Share your SetCPU settings!

I'm looking for a good baseline to see what works best on this phone.
list everything, screenshots prefer and please specify your rom, kernel, and theme.
Mine are as follows...
all info in my sig. I use 500-1400 conservative with a 500-500 power save profile set for when the screen is off.
My battery lasts between 28-42 hrs pending my usage level from high - low. YMMV.
Miui
200 to 1200
Conservative
Noop
Using no-frills
Same settings when using perception. Awesome battery life, almost two days.
Sent from my SGH-I777 using Tapatalk
CM7
200-1400 On demand
nothing else changed in setcpu
using red drop them for theme changer
CM7 launcher (ADW)
Widgetlocker for lockscreen theme
So, I'm heavily themed, but not much in widgets.
Seems good on battery, can last ~14 hours with moderate to high use.
Stable as well, no major crashes other than the usual browser and market.
I use Voltage Control myself and I've UV'd all across the board by -50. I've also dropped max speed to 1000Mhz. The rest should be pretty self explanatory...
Oh and I can't really list battery life because my usage really varies day to day, by quite a bit. I will say that I definitely get through an entire day with very high usage with no problems at all. Much... MUCH better than when I was running stock.
Default voltages and frequencies, ondemand, ignore nice load
llescaflownell said:
CM7
200-1400 On demand
nothing else changed in setcpu
using red drop them for theme changer
CM7 launcher (ADW)
Widgetlocker for lockscreen theme
So, I'm heavily themed, but not much in widgets.
Seems good on battery, can last ~14 hours with moderate to high use.
Stable as well, no major crashes other than the usual browser and market.
Click to expand...
Click to collapse
Do you notice any difference at all in performance? How much display time do you get?
Cansomeone tell me the stock voltages I think mine are messed up
Sent from my SAMSUNG-SGH-I777 using xda premium
roadrash7 said:
Cansomeone tell me the stock voltages I think mine are messed up
Sent from my SAMSUNG-SGH-I777 using xda premium
Click to expand...
Click to collapse
Add 50 to each of the ones in my picture posted in the reply up above.
Simba501 said:
Default voltages and frequencies, ondemand, ignore nice load
Do you notice any difference at all in performance? How much display time do you get?
Click to expand...
Click to collapse
Day to day performance, there really is no difference than stock, but to compare quadrant, I got ~3300 stock, but at this OC I get ~4400. It's gonna be smooth as butter either way, I just like numbers
Display time, I'm not too sure, but my settings are at its 1/3 highest (so not too bright, but not too dim either for me). If I were to approximate, I would say a good 2 hours of the display being on, give or take an hour or too (not the best estimate, but Ill try and keep track next time and report back).
Rooted stock
No themes
I get a good 14 to 18 hrs (minimal usage during the day and heavier usage evenings/nights - lots of wifi or data intensive apps)
Kadin said:
Add 50 to each of the ones in my picture posted in the reply up above.
Click to expand...
Click to collapse
thanks but it looks like that is not stock settings, turns out if you click revert in setcpu it tells you how to get back to stock. they are...
1200-1275
1000-1175
800- 1075
500 - 975
200 - 950
my new settings are...
1200-1175
1000-1100
800 - 1000
500 - 925
200 - 850
all is well so far. stress test with no probs.
Here's my settings
Main Profile: 200Mhz Min 1Ghz Max running conservative governor. During the day. Conservative is performing better than ondemand for me.
I've also been toying with the up and down thresholds on the conservative governor to find a difference. Haven't really experienced any lag unless I set the up threshold to 90 or over.
Screen Off: 200 Min 500 Max also conservative
Charging: 200 Min 1400 Max ondemand
Battery <25% 200Min 800Max conservative
I've been finding the phone is just as good running at 800mhz max on the main profile. It's amazing how much faster this thing is then my captivate.
As far as voltages
1600: 1450
1400: 1325
1200: 1225
1000: 1100
800: 1000
500: 900
200: 825
Been getting amazing battery life. Been on battery for 10 hours now. Still 65% battery. Not bad.
My phone absolutely blows for overclocking. anytime i try the settings posted here it locks up
Also using No Frills here. Settings are:
Max: 1200
Min: 200
Conservative and Noop
I unplug it at 7am and by the time I get off of work at 5:30ish I still have 60%+ of my battery left. Running MIUI with quite a few widgets and I leave wifi on all the time.
roadrash7 said:
thanks but it looks like that is not stock settings, turns out if you click revert in setcpu it tells you how to get back to stock. they are...
1200-1275
1000-1175
800- 1075
500 - 975
200 - 950
my new settings are...
1200-1175
1000-1100
800 - 1000
500 - 925
200 - 850
all is well so far. stress test with no probs.
Click to expand...
Click to collapse
Thanks for this!
DJSLINKARD said:
My phone absolutely blows for overclocking. anytime i try the settings posted here it locks up
Click to expand...
Click to collapse
Might have to Overvolt. I had to overvolt 1400Mhz by 25mv in order to get it stable.
Also I've noticed lately when it's not happy with the setCPU settings I'm using the phone seems to emit a high pitched frequency when you put your ear to the back cover. When I get stable it appears to stop.
roadrash7 said:
thanks but it looks like that is not stock settings, turns out if you click revert in setcpu it tells you how to get back to stock. they are...
1200-1275
1000-1175
800- 1075
500 - 975
200 - 950
my new settings are...
1200-1175
1000-1100
800 - 1000
500 - 925
200 - 850
all is well so far. stress test with no probs.
Click to expand...
Click to collapse
Not sure what to tell ya. I just installed SetCPU and this is the default settings showing - the same as Voltage Control and what I was referring to. I deleted the boot and profile settings first from Voltage Control and then rebooted, then installed SetCPU.
The only thing I can think of is that since I'm running UnNamed with Entropy's daily driver, maybe the voltage was tweaked from him? I'm only assuming because reading through his thread doesn't seem to indicate that he upped the default voltage on all levels. Unless I missed it somewhere.
This is in Entropy's Daily Driver thread - http://forum.xda-developers.com/showpost.php?p=18433190&postcount=213
Kadin said:
Not sure what to tell ya. I just installed SetCPU and this is the default settings showing - the same as Voltage Control and what I was referring to. I deleted the boot and profile settings first from Voltage Control and then rebooted, then installed SetCPU.
The only thing I can think of is that since I'm running UnNamed with Entropy's daily driver, maybe the voltage was tweaked from him? I'm only assuming because reading through his thread doesn't seem to indicate that he upped the default voltage on all levels. Unless I missed it somewhere.
This is in Entropy's Daily Driver thread - http://forum.xda-developers.com/showpost.php?p=18433190&postcount=213
Click to expand...
Click to collapse
Thanks for the clarification
I'm still trying to find settings that give the most performance and give the best battery life
bump...
No one cares to share?
Stock voltages and frequencies - on demand
Charging - stock frequencies - on demand
screen off - 200-500 conservative

[GUIDE] Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life!

(Scroll down to The Money Shot if you just wanna know the settings to use and skip all my preamble, but be aware that you may sacrifice results if you don't understand everything fully! You've been warned!!)
The Introduction
I'm about to tell you how to get buttery smooth, lag free performance with insanely good battery life, using an old school governor featured in practically every kernel... This tweak is applicable to every phone with any ROM or kernel--stock or custom--that provides the Interactive Governor. :good:
Yeah, yeah... everyone promises good battery with great performance, but who actually delivers? Maybe it isn't as smooth as you want, or maybe it requires something your kernel or ROM don't support. Or maybe the battery life promises just aren't what you expected. There's always some awful compromise. Not here!
This isn't a guide to get 36 hour battery life... provided you never use your phone. That's deep sleep optimization, which is lovely and all, but what good is the phone if you can never use it?! I'm talking about 7-14 hour screen on, actual hands-on usage times! Without compromising anything, you can get 7-8 hour screen on usage with regular, no-compromise usage habits: daytime visible screen brightness, both radios on, sync on, network location on, all the regular usage features, the whole kit and kaboodle... all smooth as a baby's butt and snappy as a Slim Jim! (Up to 14+ hours if you can stand minimum brightness and WiFi-only! And this is with stock voltages and full frequency range--you'll likely get even more if you choose to optimize those as well!)
However, it should be noted that this does not apply to gaming, heavy camera use, etc. Anything that is an automatic battery killer in and of itself. There's nothing that can be done about anything that forces the phone to utilize its maximum resources all the time. But you should know that by now. Further, this guide is about optimizing the CPU as much as possible. It does not cover things like eliminating wakelocks so your phone sleeps well, removing unnecessary and battery draining stock apps, keeping your screen brightness down*, and all that stuff that's been covered in other posts ad infinitum. Those optimizations are up to you.
*At least on the EvoLTE, you shouldn't be turning your screen brightness above about 60%. It should be more than viewable in sunlight at that brightness, and keep in mind that the brightness power requirements increase exponentially, so a 100% bright LCD screen will use about 3.5-4.5x more power than a 60% bright screen. I don't see that fact brought up often, so I thought I'd mention it here.
The Background
I got my first Android phone (Galaxy S4) about 8 months ago, and after dropping it in the toilet a couple months ago, I had to get something cheap. Enter the EvoLTE.
Performance on the EvoLTE was not what I was used to, and that disappointed me. (I should rephrase. Performance while getting similar battery life was disappointing. What good is a fast phone if you can't use it cuz it's dead?) While I had immediately caved and ROOTed and installed a new ROM (CM 10.2), I soon pined for a new kernel with promises of overclocking, under-volting, new fangled governors, etc.
So, I S-OFFed and installed Haunted Kernel. Played with overclocking, used the suggested governor (smartmax), under-volted, all that jazz. One problem: constant reboots. My focus shifted from performance and battery to just getting it to run reliably.
To my dismay, I learned that my phone has no tolerance for overclocking, so I lost that speed boost. Further, it has no tolerance for under-volting, so I lost that power savings. And then I discovered the recommended governor (which gave pretty good battery life and so-so performance) was too buggy to be reliable, so I lost that balance.
I was never fully satisfied with the performance of that governor. It promised a lot. People raved about it. It was certainly very power-friendly and lag free, but it stuttered. Notice how everyone promises lag free, but rarely do they talk about smoothness as things slow down. You know what I mean... quick scroll through a webpage or list, and as it slows down it hops and jerks. I hate, hate, HATE that! But hey, you can't have all three--smoothness, snappiness, and stutter-free... right?
Wrong! (But I'm getting to that!)
Shifting back to stock CPU settings (clock speed and voltages) I turned my focus to the governors. Surely, I thought, one of these other fancy governors will satisfy my needs. But after weeks of tweaking and testing, I had to make a compromise in one way or another. None of them delivered the results I wanted, no matter how I tweaked them. They were better than the standard governors in many ways, but still didn't meet my expectations. I sat there, so disappointed. All these cool features to boost performance, save battery, all that... out of my reach. I was back to square one. Stock speeds, stock voltages, basic governors...
Basic governors...
...basic governors...
...basic governors..?!
Well that's something I hadn't looked into much, I thought.
I mean, why bother? Either they keep your CPU at a low clock speed, or a high one, or slowly scale between the two, or jump quickly between the two. Pretty basic stuff. The new fangled governors were designed to more efficiently finesse these brute choices to improve performance and battery life, so what would basic governors have to offer?
Nothing, I thought. Until I looked at the kernel source and realized that the Interactive Governor had some advanced features I'd never seen anyone use in their recommended settings. On any forum. Ever.
That's not to say it's some well-kept secret or that I'm the first person in the world to post about such things. But it's certainly not widely known or promoted well. Most people just jump onto some new fangled governor with default settings to provide some features that, in all honesty, we can find in a governor featured in practically all kernels, and actually may out-perform the new fangled governor in both performance and battery life!
After a bit of tweaking and experimenting, I developed some settings that provide absolutely incredible battery life, buttery smooth performance, and a lag free experience. And you don't need a fancy governor, or a custom kernel, custom clock rates, or even an EvoLTE. This will work on any ROOTed phone with the Interactive governor!
Enough long winded preamble! Let's get down to...
The Nitty Gritty
Before I lay out all the settings so you can blindly enter them into your governor control, I should to explain some of the principals I employed to get the results I did. The primary thing to understand before I do is: little might you know, the settings in the Interactive governor can be tweaked on a clock range basis. That is to say, you can finely control how the governor responds at a variety of clock rates, thus better dictating how it should operate under various loads. This is integral to the configuration, because it means the difference between jumping from the slowest speed to the highest speed under load and sustaining lower clock speeds for tasks that don't really require higher clock speeds.
By default, the Interactive governor will jump from lowest speed to a "nominal" speed under load, and then scale up from that speed as load is sustained. That is lovely, but still too twitchy to provide serious efficiency and power savings. It spends most of its time at 2 or 3 clock speeds and barely hits other clock speeds that are ideal for other tasks or usage patterns.
Instead, what we want to do is configure it to handle different types of loads in different ways. A load suited for scrolling through a webpage is not the same as a load suited for decompressing streaming video is not the same as a load suited for snappy loading of an app is not the same as a load suited for high performance gaming. Every kind of load has different tolerances at which their minimal speed is indistinguishable from their maximal speed.
To understand what's best under a variety of tasks, we have to identify two types of load profiles: nominal clock rates and efficient clock rates.
Nominal Clock Rates
Nominal clock rates are the minimum CPU clock rates that perform a given task smoothly and without stuttering or lag. To find the nominal clock rate for a given task, turn on both cores using the Performance governor and turn them both down incrementally until you find the minimum clock rate that works best for what you're trying to do, without introducing hiccups, and multiply that clock speed by your number of cores.
For example, on my EvoLTE, scrolling (not loading, simply scrolling) through a large webpage smoothly will occur when the both CPUs clock rates are no less than 432Mhz. (This is on mine without background tasks taking any CPU. Yours may be different depending on services running, the browser you use, your ROM, kernel, etc.) Because the EvoLTE has 2 cores, we multiply 432Mhz * 2 = 864Mhz. Thus, the nominal clock rate for scrolling a webpage on my EvoLTE is 864Mhz.
Now, here's the rub. If you turn off one of the cores and turn the other core to 864Mhz, you will not find that it is smooth anymore. I will not write a dissertation regarding why this is the case. Suffice it to say, despite what is often incorrectly conveyed, multi-core usage is more efficient in multi-dimensional processing loads--such as rendering graphics, playing sound, or decoding video--than a single core's performance because the time spent at a given clock rate is non-linearly less than if it were processed on a single core at a higher frequency. We want a balance of battery life and performance, and that requires using both cores. The other core will kick on when necessary to "fill in the gaps" under such a load, so our measurement stands. For our purposes, the nominal frequency for a given task is the sum of the frequencies of all cores always on at a given clock rate.
Efficient Clock Rates
Efficient clock rates are CPU clock rates that are unique in that they are the most optimal frequency given the range of voltage requirements. If you map out the frequency jump and the voltage requirement jump between each of the available clock rates, you will find that occasionally the voltage requirement will jump significantly without the frequency jumping proportionally to the previous differentials. For example, using stock voltages, the EvoLTE's msm8960 chipset clock/voltage ratios jump significantly higher from 702Mhz to 810Mhz than the ratios from 594Mhz to 702Mhz.
Using stock voltages, the EvoLTE's efficient clock rates are:
384Mhz
702Mhz
1026Mhz
1512Mhz
These are the clock rates that are at the top tier of each of their voltage ranges, before each anomalous ratio jump. These are the most voltage efficient clock rates using stock EvoLTE voltages. If you are using a custom kernel or have changed your voltages (or a totally different phone altogether), your efficient clock rates may be different. Calculate them as applicable to your setup! List the clock rate differences between each frequency step and the differences for each frequency's voltages. You will see an anomalous voltage jump every several frequency steps. The frequency before this jump is the next efficient clock rate. Write it down and keep going through the frequency steps until you have exhausted them.
Clock Rate Biases
Using the information provided above, figure out both your nominal clock rates for the tasks you perform most often and your efficient clock rates depending on your kernel/custom voltage settings. For me, since I am using stock voltages, I use the efficient clock rates listed above. For the tasks I generally perform on my phone, my nominal clock rates are as follows:
Idle - 189Mhz
Page Scrolling - 864Mhz
Video - 1134Mhz
App Loading - 1350Mhz
High Load Processing - 1512Mhz
(Note that my nominal idle speed is less than stock. This is why you must calculate the values that are optimal for your phone for best battery and performance! Each phone is different because of the ROM, kernel, background tasks, etc!)
Once you've listed all of your nominal clock rates, try to consolidate them if you have more than 3. (This is not entirely necessary as you'll see later, but it simplifies things significantly until you're more comfortable dictating more than a few clock rates for your needed task loads.) If you have any tasks that rest in the far upper portion of the frequency spectrum, discard them! We are by no means underclocking anything, but we are trying to keep the CPU clock rate as low as possible for as long as possible. However, the fastest frequencies will be available for sustained load processing, as you will see later. In my case, in addition to discarding the "high load processing", I'll sacrifice a (very) little app loading speed and consolidate video and app loading:
Idle - 189Mhz
Page Scrolling - 864Mhz
Video/App Loading - 1134Mhz
With this done, you will want to start the fine tuning phase! Correlate the efficient clock rates with their closest nominal clock rates, similar to below:
Idle - 189Mhz efficient / 189Mhz nominal
Page Scrolling - 710Mhz efficient / 864Mhz nominal
Video/App Loading - 1026Mhz efficient / 1134Mhz nominal
Keep these handy, as they're going to be necessary for...
The Set Up
Now that we know what are the most efficient clock rates we want to focus on and what the most optimal are for what we want to do, we will start low and scale up as necessary. It's always better to begin with underperforming and tweak the settings upward until we're satisfied with the performance of our target tasks.
In its default state, the Interactive governor has a hair trigger that will raise and lower the clock rates, which means it spends too much time at unnecessary clock speeds, wasting power, and scales down too quickly, leading to stuttering performance. We will take advantage of a seldom used feature of the Interactive governor. Specifically, that with which it determines when it is okay to scale up to each higher clock rate, on a frequency by frequency basis.
We have two primary goals: respond as quickly as possible to each load request for a lag free experience and exceed the desired clock rate for a given task as little as possible. To do this, we will instruct the Interactive governor to trigger certain clock rates in different ways depending on our expected load.
I won't explain all of the settings of the Interactive governor--there are plenty of summaries all around. (Go search now if you don't know what any of the settings for Interactive governor do. I'll wait here.) However, I will explain an incredibly powerful feature of the Interactive governor that is rarely included in those summaries: multiple frequency adjustments.
The above_highspeed_delay setting, for example, defines how long the governor should wait before escalating the clock rate beyond what's set in highspeed_freq. However, you can define multiple different delays that the governor should use for any specified frequency.
For example, we want the above_highspeed_delay as low as possible to get the CPU out of the idle state as quickly as possible when a significant load is applied. However, we don't want it to jump immediately to the fastest clock rate once it's gotten out of idle, as that may be overkill for the current task. Our target trigger (which you will later adjust to suit your system and usage profile), will begin at 20000μs. That means 20,000μs (or 20ms) after our idle max load has been reached, we want to assume idle has been broken and we want to perform an actual task. (We want this value as low as possible without false positives, because it is one of a few factors that determine how snappy and lag free the CPU's response is.)
But at this point we're not ready to take on a full processing load. We may just be briefly scrolling a webpage and don't need the full power of the CPU now that we've allowed it to break out of idle. So we need it to reach a particular frequency and then hold it there again until we're sure the load is justified before we allow it to push the frequency even higher. To do that, rather than just setting
above_highspeed_delay - 20000​
we will instead use the format "frequency:delay" to set
above_highspeed_delay - 20000 702000:60000​
"Waaaait... What does that do?!"
This tells the Interactive governor to hold out 20ms after our target load when it's at our highspeed_freq (which we're actually using as our idle frequency--not a burst frequency as originally intended), but then it tells the governor to hold for 60ms after it's reached 702Mhz. (If you don't know what I'm talking about when I say "highspeed_freq" then you didn't go search for the basic Interactive governor settings and read about it! Go do that before you read any further, because I will not explain the basics of this governor!)
So now that we know how to specify different settings for different frequency ranges, let's finish it all up with...
The Money Shot
If you've made it this far, you're ready to put these strategies into play! If you have not read the previous sections, DO NOT COMPLAIN IF THE DEFAULT SETTINGS DON'T PROVIDE WHAT YOU'RE LOOKING FOR!! These settings are templates only and these need to be adjusted for each case based on your system and usage patterns! IF YOU ARE NOT GETTING THE PERFORMANCE OR BATTERY LIFE PROMISED, ***READ THE SECTIONS ABOVE!!!***
With that out of the way... let's rock!
If you are using an EvoLTE, use the following Interactive governor settings and then tweak with the instructions below:
(If you are using a phone other than an EvoLTE, you must read the above sections and replace the frequencies with your own efficient clock rates!)
above_highspeed_delay - 20000 702000:60000 1026000:150000
boost - 0
boostpulse_duration - 80000
go_highspeed_load - 99
hispeed_freq - 384000
io_is_busy - 0
min_sample_time - 40000
target_loads - 98 384000:40 702000:80 1026000:95
timer_rate - 30000
timer_slack - 80000
These defaults work fine for me, but I have otherwise optimized my system fully, so they are at the minimal adequate values. If you have background tasks that consume any somewhat significant amount of CPU on a constant basis, you will most likely see awful, stuttery performance and poor battery life! So you must adjust them to suit your system before you see results!!! Anything more than about 15-20% idle CPU use at any given time will negatively affect the results you see without further tweaking!
Optimize Idle Frequency
Now that you've got the base configuration, we need to tweak it so that the CPU stays at your efficient idle frequency (384Mhz in this case) without spontaneously jumping when your phone is actually idle. To do this, open a CPU monitor that displays the current core frequencies (I like CoolTool, but you can use what you like as long as it doesn't significantly impact the CPU use--you're best off using a passive monitor and checking the results after 30-60 seconds of no activity), watch the frequencies and see how often they go above your efficient idle frequency when you're not doing anything at all, and adjust the following:
timer_rate - If your idle frequency is not being exceeded much, adjust this downward in increments of 5000 until it is, then increase it by 5000. If your idle frequency is being exceeded often, adjust this upward in increments of 5000 until your CPU primarily stays at or below your desired idle frequency.
above_highspeed_delay - Only if your timer_rate has matched or exceeded 50000 and still won't stay at or below your desired idle frequency most of the time, set timer_rate to 50000 and adjust the "20000" portion of the value upwards in increments of 5000 until the idle frequency has stabilized.
The lower these two values are, the more snappy/lag free your system will be. So try to get them as low as possible without the idle frequency being exceeded too much, as this inversely affects the snappiness and efficiency of your phone when you're not doing anything. Lower = snappier but uses more CPU when you're not doing anything (such as reading a webpage); higher = less snappy but stays in a power saving state more often reducing CPU use when you're not interacting with the device. These are the most critical in determining your idle power savings, so keep that in mind if you want the most battery life!
Enhance Task Responsiveness
Now use the efficiency and nominal clock rate correlations you made for your master clock rate list in the section above and adjust your frequencies to suit your usage patterns. For example, I had web page scrolling as my 710Mhz/864Mhz rates, so I will open a web page and scroll and see how everything feels. If it feels sluggish, I will increase all the references to "710000" in both above_highspeed_delay and target_loads upwards to the next available clock rate until that task is smooth. What you are looking for is constant poor/sluggish performance when the task you're testing for is using its highest CPU use. If the task becomes sluggish/stuttery as it winds down (such as a scrolling webpage slowing to a stop), we will address that next, so do not take that behavior into consideration as you adjust these values! If the task is smooth until (or after) it slows down, then you have reached your optimal clock rate and can move on.
If you need to exceed your nominal clock rate for a particular task, first measure it again just to be sure you had it correct. If you did indeed have it correct, leave it at your nominal clock rate and adjust the value after the colon next to the task frequency you're tuning downward in increments of 5. For example, if my setting of "864000:80" is still not sufficient, I will adjust it first to "864000:75", then "864000:70", and so on until the task is smooth. However, it almost certainly won't come to this, but if you reach ":50" and the task still isn't performing how you want, set it back to ":80" and increase the clock step once more, then decrease the ":80" until it is smooth.
Do the same for each other frequency in your master clock rate list until you are satisfied. If you have chosen to use more than 2 primary clock rates, add them and use ":##" values between the two surrounding frequency values.
Fix Stuttering
Now that you have adjusted your frequencies for optimal high CPU use in each given task, you may notice some stuttering as the task winds down. (Such as a scrolling webpage slowing to a stop.) If this bothers you, you can tweak this at the expense of some (minor) battery life by adjusting min_sample_time up in increments of 5000 until you are satisfied.
If you have exceeded a value of 100000 for the min_sample_time setting and still are not satisfied, change it back to 40000 and increase (and re-optimize) your idle frequency by one step. This will impact battery life more, but less than if you were to keep increasing the value of min_sample_time.
Adjust High Load Clock Rates
You're almost done! Now you can leave everything as is and be satisfied with your amazing, buttery smooth, snappy experience, or you can optionally tweak things further to either increase the responsiveness of high load tasks (such as loading image previews in Gallery) or increase battery life somewhat.
Adjust the final delay value in above_highspeed_delay to suit your needs. The default ("150000") means that the CPU load at the highest set frequency (default "1026000") will have to be sustained for 150ms before it allows the load to go above that frequency. Increasing this value will prevent the CPU from reaching higher frequencies (which may be unnecessary) as often, saving battery life. This will come at the expense of burst-type high CPU load tasks. Reducing it will allow the CPU to reach higher frequencies more often, at the expense of battery life. However, adjusting this is probably unnecessary, as it will most likely not yield any perceptible difference in performance. It is recommended to leave this value at its default.
The Conclusion
I have achieved unprecedented performance, smoothness, snappiness, and battery life with the default settings I outlined above. However, your mileage may vary, as every phone, ROM, kernel, installed applications, etc are different. This is a very sensitive governor profile and must be tweaked to just meet the requirements of your system and your usage patterns!
If it is not optimally tuned, performance and battery life will suffer! If you're not seeing buttery smooth, snappy performance, you have not correctly tuned it for your system!! However, if you do have superb performance (and you tweaked the values conservatively and not in large steps), then you will also get the aforementioned battery life.
I will be happy to answer any questions, or provide any guidance I can. However:
You must otherwise optimize your phone first! This will not "fix" a poorly optimized system and will, in fact, reduce performance and battery life without further optimization and proper tweaking.
I will not answer questions about "what is a governor?" There are plenty of resources available already, so search for them.
I will not answer questions about "how can I tweak [some other] governor?" This is about the Interactive governor only.
I will not respond to "nuh uh! show proof!" posts. The fact that I spent 12 hours writing this up should be proof enough that I am satisfied with the results. You can take it or leave it; makes no difference to me. The default settings should work with any fully optimized EvoLTE, so just try them on your own. If you're not absolutely satisfied (and trust me, either it'll work out-of-the-box with flying colors and you'll know it works for your system, or it'll be an awful experience which means you must tweak it), then you haven't adequately adjusted the settings to suit your system.
Lemme know what you think, and good luck!
Really nice write up! Easy to read and understand. One question, how exactly are you changing the above high-speed delay. I input exactly but when I save and go back it's bank only to 20000
Sent from my EVO LTE using XDA Premium 4 mobile app
Great article!
jmkarnai01 said:
Really nice write up! Easy to read and understand. One question, how exactly are you changing the above high-speed delay. I input exactly but when I save and go back it's bank only to 20000
Sent from my EVO LTE using XDA Premium 4 mobile app
Click to expand...
Click to collapse
I was wondering the same thing.
jmkarnai01 said:
Really nice write up! Easy to read and understand. One question, how exactly are you changing the above high-speed delay. I input exactly but when I save and go back it's bank only to 20000
Sent from my EVO LTE using XDA Premium 4 mobile app
Click to expand...
Click to collapse
I use the the fku updater app the paid version and all my settings stick on my g3 and my m8
Nice write up. Just the sort of info I've been looking for
Well done sir
Great information here!
Finally someone makes complete guide on this governor
hello..i am not an advanced user like you guys..great work !..i try my best to understand,i read threw every word,even though i dont have your device.i am useing a htc m8 on sprint..i flashed the kernal after reading all about it..i do want amazeing battery life,i work all the time,constantly networking and listening to music,useing data all the time really,i understand these things will kill battery no matter what..i also know you said if we have abother device other than the evo the device you laid out exact settings for,we would have to tweak on our own..and without you haveing the device i have im sure be hard to give some advice..couple questions?- 1.)if i just use default settings,and change nothing will it benifit me at all,or did i just flash the kernal for nothing,since im not advanced enough to really tweak kernal on my own..2)is there anyway possible to get exact instrutions for my device like you gave for the evo...just wanted to add how lucky users of that device are for you to of givein these details,you seem to of really mastered that device..thanks for hard work either way..if i cant get nothing out of this,its ok i can allways just wipe device and restore back up without the kernal installed...
Very nice, well-written guide. Thanks a lot!
@soniCron: How do I turn on and of cores one by one? I have quad core.
Hi soniCron, I just wanted to let you know that I followed your guide and tweaked my OnePlus One. Great results so far, and stellar battery life. I'm very happy with it, thanks
Phazonclash said:
Hi soniCron, I just wanted to let you know that I followed your guide and tweaked my OnePlus One. Great results so far, and stellar battery life. I'm very happy with it, thanks
Click to expand...
Click to collapse
Can you share your changes/parameter settings?
Maybe via pm if not using the thread?
solar666 said:
Can you share your changes/parameter settings?
Maybe via pm if not using the thread?
Click to expand...
Click to collapse
above_hispeed_delay 20000 652800:20000 1190400:40000 1497600:60000 2265600:80000
boost 0
bootpulse duration 80000
go_hispeed_load 99
hispeed_freq 652800
io_is_busy 0
mac_freq_hysteresis 10000
min_sample_time 60000
target_loads 98 652800:40 1190400:70 1497600:80 2265600:90
timer_rate 30000
timer_slack 40000
How the lemon does this guide only have 2 pages?
Great guide, thanks a lot, going to try it with my oneplus one now
thewind730 said:
I use the the fku updater app the paid version and all my settings stick on my g3 and my m8
Click to expand...
Click to collapse
Can you share please your M8 settings and tell if it really had an impact on performance and battery life. Thanks.
Also I cannot save the edited parameters files under /sys/devices/system/cpu/cpufreq/interactive although I have full root. Any suggestions? I have an HTC One M8 with ViperOneM8 4.3, rooted and S-Off.
Sent from my HTC One_M8 using Tapatalk
tghandour said:
Can you share please your M8 settings and tell if it really had an impact on performance and battery life. Thanks.
Also I cannot save the edited parameters files under /sys/devices/system/cpu/cpufreq/interactive although I have full root. Any suggestions? I have an HTC One M8 with ViperOneM8 4.3, rooted and S-Off.
Sent from my HTC One_M8 using Tapatalk
Click to expand...
Click to collapse
Sent from my HTC One_M8 using Tapatalk
I'm testing this guide on my LG G2 and it seems to work pretty well.
Good job :good:
Awesome! I just tweaked mine now to the lowest frequencies that is lag free and will check tomorrow if battery life of my htc one m9 has improved somehow.
Also you might want to add this link to kernel cpu governor documentation. Which pretty much explains the other variables.
tghandour said:
Sent from my HTC One_M8 using Tapatalk
Click to expand...
Click to collapse
Can u share ur m8 settings to try out please...... Thanks
HTC m8 on arhd 43 using dark blue Tapatalk from jokerpoker1

Best Swappiness for the moto e?

Currently it looks like the swappiness in kernel settings is set to 100%...typically this is around 60...on hi ram devices it might be set to something low like 10 to be resistant to swapping...still 100% seems really high....I've also noticed when several apps have been installed to the device after a while of sitting it becomes unusable due to non-responsiveness. Reboot it and it will be allright for a while...so I think the apps are eating up the memory and the swap is dragging everything to a crawl. Anyone have some suggested "Kernel Adiuter" settings?
famewolf said:
Currently it looks like the swappiness in kernel settings is set to 100%...typically this is around 60...on hi ram devices it might be set to something low like 10 to be resistant to swapping...still 100% seems really high....I've also noticed when several apps have been installed to the device after a while of sitting it becomes unusable due to non-responsiveness. Reboot it and it will be allright for a while...so I think the apps are eating up the memory and the swap is dragging everything to a crawl. Anyone have some suggested "Kernel Adiuter" settings?
Click to expand...
Click to collapse
I had tons of performance isssues, which were easily solved by flashing Squid Kernel on my device. I followed the isntructions given by squid my device performance much better and also has great battery life.
squid2 said:
My new Lionfish governor combines traits of the conservative, ondemand, and interactive governors. It is designed to maximize battery life without noticeably impacting performance. It responds quickly to heavy loads (similar to ondemand and interactive) while staying within the region of optimal CPU performance per watt. With moderate loads, it periodically votes to raise, maintain, or decrease the frequency. When there are enough votes to change the frequency, it is ramped up and down gradually. The voting mechanism reduces frequency jitter compared to ondemand and conservative. My testing had found that this governor uses moderate frequencies (where efficiency is optimal) more effectively than interactive, ondemand, and conservative. This improved frequency distribution results in a moderate reduction in CPU power consumption while maintaining responsiveness comparable to the interactive governor.
IntelliPlug is enabled by default in this kernel. The default governor is still interactive. For optimal performance and battery life, I recommend using the fiops IO scheduler, Lionfish governor, and lowering the CPU idle frequency to 400 MHz (from the default of 800 MHz). The combination of IntelliPlug, Lionfish, undervolting, and reducing idle to 400 MHz should result in a CPU power consumption reduction of around 20% compared to the stock kernel. This will typically correspond to 8-15% increase in battery life compared to the stock configuration.
Click to expand...
Click to collapse
famewolf said:
Currently it looks like the swappiness in kernel settings is set to 100%...typically this is around 60...on hi ram devices it might be set to something low like 10 to be resistant to swapping...still 100% seems really high....I've also noticed when several apps have been installed to the device after a while of sitting it becomes unusable due to non-responsiveness. Reboot it and it will be allright for a while...so I think the apps are eating up the memory and the swap is dragging everything to a crawl. Anyone have some suggested "Kernel Adiuter" settings?
Click to expand...
Click to collapse
Wikipedia says: "Swappiness can be set to values between 0 and 100 inclusive. A low value causes the kernel to avoid swapping, a higher value causes the kernel to try to use swap space. The default value is 60, and for most desktop systems, setting it to 100 may affect the overall performance, whereas setting it lower (even 0) may decrease response latency." This value set to 100 is definitely the source of non-responsiveness. I would recommend 40 if you are using apps that are heavy on RAM (advanced games) and 60 if not but you may find better values yourself.

Categories

Resources