Android Rooted: setCPU and Profiles

by Brent on March 11, 2010 · 3 comments

by Brent on March 11, 2010 · 3 comments

setCPU

For me personally, there were two driving reasons why I took the plunge of “rooting” my Android device: first, the ability to do screen captures; and second, the possibility of over/under-clocking my device to both get better performance and better battery life.

setCPU for Root Users

This application, available in the Market for $0.99, allows a user who has root access on their Android phone to change the CPU clock settings on that device. By default, on the Motorola Droid, the Cortex-A8 processor runs at 550 MHz (although the nominal rating of the CPU is listed as 600MHz). It is interesting to note that even though running at 550 MHz, the Cortex-A8 CPU on the Droid is designed for considerably better through-put and performance than the ARM11 CPU (running at 528 MHz) found on earlier Android devices. That being said, almost all processors are clocked near the lower end of their possible speeds. The lower the speed, the less heat generated. The less heat, the longer the processor will last, or at least that is how the argument goes. Also, running at a lower clock should offer better battery life.

One of the questions you need to ask yourself is this: How long do I intend to use this device? 2 years, 3 years, or perhaps more? If you intend to purchase and keep your device for a long time, and you don’t want to be bothered with managing a process that could be harmful to the hardware if allow to get out of control, then this is not for you. However, if you are like most of us who will purchase a device like the Droid and perhaps use it a year to the day, and are willing to spend a little bit of effort to understand the risks, then this can yield a device who’s performance can be breath-taking!

One of the outstanding features of setCPU is that it not only allows you to boost the clock speed of your Cortex-A8 CPU, but it also allows you to drop it. In the current version (1.50) and on the Motorola Droid, the default clock speed is set at 600 MHz, rather than the default 550 MHz. Beyond that, you can boost the clock to 800, 1000, and 1200 MHz. Of course, with each boost, the heat generated gets greater. On the flip side, the application also gives you the ability to drop your clock speed to 250 MHz, when you don’t really need all that processing power.

setCPU Profiles

All of this is accomplished through profiles. These profiles allow you to specify when to boost the clock speed and how high, and when to pull it back, and how low. Here are the options:

  • Charging: Actually, this is one of the times when a device is most susceptible to over-heating, because the recharging process generates a lot of heat too. And you are likely not doing a lot with your phone. This could correspond to a time when you have it in a multimedia dock at night, for example. You might want to clock it down.
  • Sleep/Standby: When you press the power button on your device and turn off the screen (usually the single largest consumer of battery), what do you expect your phone to do? If nothing, then you could clock it lower. For me, it is not uncommon to use that time to update and download podcasts, etc. so I like a little extra clock speed. If nothing is happening, then it will sink to the lowest clock specified, saving battery.
  • Power < XX%: I think that the default is 60 or 70% to start ramping down the speed vs. battery life. For me, after using this for a while, I found that I could very safely operate at higher speeds down to a much lower battery level. You see mine is currently set to change at 35% battery life remaining.
  • Failsafe Profile: This is a profile that watches the actual temperature of the device and regardless of whatever else is happening will lower the clock speed if the unit heats too much. You can also adjust the top temperature. I have left mine at the default for now, but may lower it later. I have never approached this temperature, to my knowledge.

Note that you can choose to also turn on notifications, which will inform you when the application changes processor clock speeds. I have left mine on for now, as I want to get a better feel for when and why it changes. The application also lets you set these change to occur on-demand, or to tune for conservative use or high performance in general. I have left mine at on-demand.

I will also point out that it is very likely that your device may become less stable at higher clock speeds. For this reason, I do not recommend the 1200 MHz setting. I ran with 800 MHz as my top range for a long time, but for the last week (as you can see from my profiles) I have boosted the top end to 1000 MHz and the difference in performance is very noticeable and quite spectacular “feel”, but I have experience only one possible occurrence that might perhaps be attributed to the high clock speed. If you want to be very conservative, and yet still earn benefit, 800 MHz seems to be a very safe top level. Because my device seems to spend long periods of time in my Seidio Holster (in standby mode), I also get the benefit of the lower clock speeds to conserve battery. Over all, my unscientific opinion is that I am getting slightly better overall battery life than I got without the setCPU application installed. I do find myself watching the device temperature, but this has turned out very well indeed for me. I am very pleased with the results and would recommend it if you are willing to manage the risks associated. Enjoy!

Related Posts

    • None Found
  • http://benpike.net Ben Pike

    Thank you so much for doing this rundown! I had often wondered how to approach the Profiles section of setCPU and you’re breakdown was a big help!

    Another option for tweaking setCPU are the Profiles. I found simple breakdown of what they are here: http://www.droidforums.net/forum/droid-hacks/21309-setcpu-1-4-6-what-cpu-governor-options-mean.html

  • http://benpike.net Ben Pike

    heh… and by profiles in the last portion i mean CPU Govenor…

  • http://simplemobilereview.com Brent

    Thanks for the link! DroidForums.net is the best place to find anything about all this, IF you have the time and persistence to go through it. There is so much stuff to just KNOW that I often don’t even know what questions to ask, so searching is out of the question. :-)