The Android Governor: Overclocking Is More Than Just Clock Speeds
Whenever we think about computing speed we usually limit ourselves to Gigahertz — how fast the processor is that’s crunching all the data inside our devices. The number of cores and the architecture of the chip obviously have some bearing, but we can’t change those without buying a new device that includes the latest and greatest chip inside it.
When we want to speed up our current smartphones and tablets, our minds turn to overclocking: running the chip faster than the device manufacturer intended it to run. You can also “over-volt” your processor, which supplies it with more power than was originally intended, to try an eek more performance out of it.
There is another way to increase your mobile processor’s performance, which doesn’t have anything to do with overclocking or over-volting. It all has to do with the Governor.
What is the Governor?
According to Wikipedia, a Governor is a device used to measure and regulate the speed of a machine, such as an engine. Big rigs, the diesel trucks that run on our highways, use Governors to regulate the top-speed at which the trucks can run. “Governing” the top speed makes tucks safer, and arguably reduces fuel costs that would otherwise have been squandered by running at higher speeds.
In computers, Governors are a little more intelligent than just capping the top speed. Instead, these Governors are a set of policies that allow the system to adapt to conditions and adjust the CPU frequency accordingly. There are different Governors available and each is optimized for a different usage profile. Changing your Governor to a profile that better matches your usage patterns could give you better performance, or better battery life — depending on which you use.
Manufacturers pre-select the Governor that their devices use. If you want to get in and change it you’ll need to root and run a ROM and/or Kernel that supports different Governors, and allows you to switch between them. Most Custom ROMs allow you to do this.
How Many Governors Are There?
There are a lot of Governors. For the purpose of this article we’re only going to talk about the more popular ones. Your ROM may support a few or several Governors on this list.
As its name implies, the OnDemand Governor will increase the clockspeed of your processor to the maximum setting as load increases, then will slowly step back down to the minimum when the demand decreases. Because this governor responds quickly to increased demand it can have a negative effect on battery life as compared to other governors.
OEMs will often pre-set their devices to the OnDemand Governor because it’s well-tested and very reliable.
An enhanced version of this Governor is the OndemandX Governor which includes suspend/wake profiles to add a bit more battery-friendliness over the basic version.
The Interactive Governor and the OnDemand governor are quite similar. They both dynamically adjust the CPU clock-speed as the work load increases. Interactive scales up more quickly than OnDemand, as a result it’s quite a bit more responsive, but may have a greater battery demand. To combat this, Interactive works better with “in between” frequencies than OnDemand, which helps offset its battery demand. Alas, Interactive can stay at maximum longer than OnDemand, which some say negates the battery savings that its “in between” handling brings.
Interactive is arguably the best performing Governor available today.
The Powersave Governor tries to keep your device at the lowest CPU frequency as long as possible, and ramps up your speed when demand requires it. The attempt is to keep power consumption low so battery life is increased. Some would argue that lower clock-speeds take longer to run tasks, and could cause your battery to drain faster than it would have if tasks completed quicker.
If you want speed, this is probably the Governor for you. Instead of starting at the bottom and moving, up, think of Performance as doing the opposite: it starts at the maximum frequency and then “races to idle”. This means tasks should get finished faster, and the device can then start idling sooner. Some say this answers the performance requirement of many power users, but also can extend battery life since tasks get done sooner.
The Conservative Governor tires to use the lowest clock-speed that it can as often as it can. This Governor requires a larger and more persistent load on the CPU before it speeds up. This can be good for battery life since the demand has to be “proven” before additional speed is granted. Unfortunately, your user experience may not be quite as snappy as it could have been if another Governor was used.
- Min Max
Although I’ve tried to be somewhat complete, I’m sure there are many more Governors are out there. If I missed your favorite, please let me know in the comments! Also, let us know your favorite Governor (and why) in the comments, too!