Over/Underclocking: The Android perspective
Most people don’t venture into this part of CPU control because they really don’t need it and it has the potential to damage the processor and leave you with a dead device. Well, its MYTHBUSTER TIME!
Lets go over the basics first,
Overclocking is the process of running the device processor at a higher clock speed than factory settings. Eg. running a 600MHz processor at 700MHz. Doing this can harm your device if you’ve set the bar too high. Usually overclocking does not cause immediate damage but reduces the life of the processor(eg. from 7 years to 5 years). You’ll probably never use the phone long enough to actually reach that stage. So within those conditions overclocking can be declared “safe.”
Underclocking is the process of running the device processor at a lower clock speed than factory settings. This procedure is completely safe because in Android (and all other mobile OSs) the processor is continuously being scaled up and down between the max and min processor frequencies. The scaling is done to save battery and to reduce the load on the processor when the device is idle.
Processor Scaling is the process of continually changing the speed at which the processor runs according to the demand of the phone. If you’re doing some major multitasking or playing heavy games then the processor will run at full speed. However if you’re just listening to some music the processor will run at a speed which is good enough to sustain the music app. This system is implemented to save battery and reduce the load on the processor as and when allowed.
This article’s agenda is to explain to the readership the best way to utilize an over/under clocking arrangement through the use of event-triggered profiles to maximize productivity and battery saving on the Android platform.
Before we start, you’ll need the following
- A rooted Android phone
- Overclocking support (only required for overclocking, underclocking is supported by default on Android)
- SetCPU app from the Android market (it’s a paid app). It’s an app which we’ll be using to manage the CPU and set event triggered profiles to control CPU behavior and implement our over/underclocked values.
And now I’m going to put the quintessential idea behind this whole system in your head
- If I overclock my phone when I’m using it, it’ll finish whatever it’s doing faster hence making it reach the idle state quicker. If it reaches the idle state quicker, the battery won’t have to provide that extra juice. Hence I just saved battery! Makes sense?
- Now I’m not using the phone. It’s screen is off. Suppose my phone is underclocked when it’s screen is off, it’ll use very less battery for processing and I could get potential battery saving!
There is only one problem with this system: What values will result the above mentioned scenario? Well, that is a question which I can’t answer. All I can do is show you a template based on which you can model your own over/under clocking profiles.
I’ll be using my Xperia X8 and my Motorola RAZR for the values and specifics of this demonstration.
Xperia X8 Setup: My Xperia X8 has a 600MHz processor. I run Android 2.3.7 on it. My current over/underclocking values are as follows
- Condition: When screen on, Processor min/max values: 122/716MHz
- Condition: When screen off, Processor min/max values: 122/245MHz
Performance change: Well, the phone feels snappy with the overclocked processor. I experience no lag when I turn my phone on from screen off state.
Battery savings: Before I started using the above values I used to get 20 hours from my phone. Now I get about 45 hours without charge. I use my phone for calls, mass texting and music.
Motorola RAZR Setup: My RAZR has a 1.2GHz dual core processor. It runs on Android 2.3.6. It’s processor is more that enough to run applications and I feel that a lot of unnecessary processing is put into applications. My current over/underclocking values are as follows
- Condition: When screen on, Processor min/max values: 245/1000MHz
- Condition: When screen off, Processor min/max values: 245/600MHz
Performance change: Despite the fact that my RAZR is underclocked in both states, I feel that there is no performance loss. The interface and all my apps run the same as before.
Battery Savings: Before I started using the above values I used to get 18 hours from my phone. Now I get about 40 hours without charge. I use my phone for gaming, music, calls, texting and emails.
This system really works, all you have to do is put some effort into it!
For rooting your phone head over to XDA-Developers Forums and search for your device.
A tutorial for using SetCPU to setup processor over/underclocking profiles can be found @,
http://forums.androidcentral.com/lg-vortex/101464-how-setcpu-profiles.html
Pingback: Battery Optimization on Android | Gadgetronica