[How-To] SetCPU profiles

KSmithInNY

#winning
Oct 7, 2009
3,536
1,441
0
I figured I'd document a fairly comprehensive profile setup in SetCPU to save battery but keep the phone acting snappy as ever.

[Warn] CM7 users!! You need to make sure Menu>Settings>Cyanogenmod settings>Performance>CPU - "Set on boot" is not checked! If this is checked, please uncheck it, reboot the phone, then proceed.[/warn]

Prereqs:
- Phone must be rooted
- You need the SetCPU app. There are 2 ways to obtain the app. The first is to buy it from the market. Yes, this costs money BUT your supporting a developer of an awesome app and anytime he updates said app you get notified through the market and can easily install the newest version. The second way to obtain the app is free from the developers thread on XDA.
- Make a fresh NAND backup of your phone (just in case you get crazy)
- An OC-able processor is suggested otherwise you need to adjust some numbers based on your phones inability to OC

Concept:
What we're going to do is setup specific scenarios which will control your CPU. These scenarios can be based on performance, battery saving, or general protection of your device. The profiles I am going to describe below are a mixture of these three things.

How-To setup profiles
- Open SetCPU
- Grant it SU permission
- Click the profiles tab
- Click enable profiles then click add profile
- Make your screen look like this (explanation/description below)
snap20110708_130114.png
snap20110708_130123.png


  • The first profile is to protect your phone from ... YOU! If the device gets to hot, it will automatically scale the processor down to allow it to cool. Once it cools it will obey the profile it would typically follow. This is the highest priority profile which is why it's at the top of the list. This profile will take priority over any other profile which is a good thing.
  • The second is to save battery while the screen is off. This will lock the CPU between these lower frequencies when the screen is off, using less mv, resulting in less battery usage. Think about it like this, do you need your phone to scale to 748MHz just to receive a text then of course scale all the way back down? No!
  • The next is for when the phone is charging. This includes USB and AC charging. The first 2 rules we discussed above have a higher priority so the phone will obey them first, but where this charging profile comes in to play is, even if you have 10% battery once you plug your phone into a charging source it will then be allowed to freely scale back up to 748. Without a charging profile the phone would stay locked at whatever frequency it's told to follow by a battery % profile.
  • Our first battery profile!!! I'm going to go really in depth and explain how this works in hopes it gives you a better idea on priorities. I will not do this for the rest of the battery profiles but the concept is the same.

    What this profile means is ... When the phone is cooler than 104 degrees F, and the screen is on, is not plugged into an AC or USB power source, and has less than 10% battery remaining to set it so the CPU can only scale between 480 and 480.

    What i just did was type out exactly how the phone views profiles based on priority. It's first priority is to protect from heat. It's second is to save battery when the screen is off. It's 3rd is to increase performance while charging, and finally it considered percentage of battery left. Hope that helps.
  • The rest are all battery profiles by reading my above description, they should make sense.

Of course these numbers are all dependent on your preference and your device. If you prefer to clock up to 768, make the necessary adjustments to your profiles. If you want to have the phone clock up to 748 while on AC power and only 729 while on USB power, make the necessary adjustments. This list is not the end all be all. It's very organic and very user dependent. My goal was to provide a pretty good setup for those who do not know all the in's and out's.

Enjoy.

EDIT - For those that may be curious, my phone was unplugged at 6:00am and has been used to browse, moderate forums :p, gtalk, send and receive about 10 emails, received about 30 emails on my corporate account, couple calls for a few minutes each, few calendar reminder events ... what i consider standard usage. The battery was at 79% at 1pm so with all that usage i averaged 3% per hour and that while OC'ed to 25% higher than standard running CPU not too shabby
 
Last edited:
Not to undermine your excellent how-to but I was under the impression that the new breed of governors like Smartass, Smoothass, Scary, and SavagedZen have "profile data" essentially built in. The only thing needed is to set min/max.

The above how-to is needed if using "old" governors like Ondemand, Performance, and Powersave. Is this correct?
 
Not to undermine your excellent how-to but I was under the impression that the new breed of governors like Smartass, Smoothass, Scary, and SavagedZen have "profile data" essentially built in. The only thing needed is to set min/max.

The above how-to is needed if using "old" governors like Ondemand, Performance, and Powersave. Is this correct?

The only one of the governors you listed that I've ever heard of is smartass and smartass only monitors screen off/on state. The setup above controls screen on/off, cpu temp, battery percentage, and usb/ac power source so it's significantly more comprehensive than smartass.

After doing some googling, it appears the gov's you mentioned are all variants of smartass, so my logic says that while they may tweak or twist this or that, they probably only controlling screen off and or maybe one other select state for cpu min/max.

Here's a quote from the savagedzen creator about the savgedzen gov (all other gov's had non-existing information) - SavagedZen CPU Governor is Based off of the SMARTASS gov. Brings the smartass goodness plus a few more tweaks.

It would seem profiles are still the proper answer for CPU control with an APK. If you'd prefer not to use an APK then the best GOV your going to get is smartass (or the new ones based off smartass), or use a script like the collin_ph battery mod i posted which will control everything i listed in this profile setup sans screen off which the smartass gov already does.

Cheers!
 
  • Like
Reactions: Turducken

Trending Posts

Forum statistics

Threads
954,723
Messages
6,962,641
Members
3,163,118
Latest member
lewismonroe