[Nexus 4 Android Development] spezi77:
FAQ:

Tc 5.x and 6.x are the most up-to-date and stable toolchains provided by UBER devs. Tc 7.0 was temporarily in use (experimental).

1: OnDemand

Ondemand is one of the original and oldest governors available on the linux kernel. When the load placed on your CPU reaches the set threshold, the governor will quickly ramp up to the maximum CPU frequency. It has excellent fluidity because of this high-frequency bias, but it can also have a relatively negative effect on battery life versus other governors. OnDemand was commonly chosen by smartphone manufacturers in the past because it is well-tested and reliable, but it is outdated now and is being replaced by Google's Interactive governor.

2: Performance

The performance governor locks the phone's CPU at maximum frequency.

3: Conservative

This governor biases the phone to prefer the lowest possible clockspeed as often as possible. In other words, a larger and more persistent load must be placed on the CPU before the conservative governor will be prompted to raise the CPU clockspeed. Depending on how the developer has implemented this governor, and the minimum clockspeed chosen by the user, the conservative governor can introduce choppy performance. On the other hand, it can be good for battery life.

The Conservative Governor is also frequently described as a "slow OnDemand". The original and unmodified conservative is slow and inefficient. Newer and modified versions of conservative (from some kernels) are much more responsive and are better all around for almost any use.

4: Interactive

Interactive scales the clockspeed over the course of a timer set by the kernel developer (or user). In other words, if an application demands a ramp to maximum clockspeed (by placing 100% load on the CPU), a user can execute another task before the governor starts reducing CPU frequency. Because of this timer, Interactive is also better prepared to utilize intermediate clockspeeds that fall between the minimum and maximum CPU frequencies. It is significantly more responsive than OnDemand, because it's faster at scaling to maximum frequency.

Interactive also makes the assumption that a user turning the screen on will shortly be followed by the user interacting with some application on their device. Because of this, screen on triggers a ramp to maximum clockspeed, followed by the timer behavior described above.

Interactive is the default governor of choice for today's smartphone and tablet manufacturers.

5: BadAss (has been removed in r11)

Badass removes all of this "fast peaking" to the max frequency. To trigger a frequency increase, the system must run a bit with high load, then the frequency is bumped. If that is still not enough the governor gives you full throttle. (this transition should not take longer than 1-2 seconds, depending on the load your system is experiencing)

Badass will also take the gpu load into consideration. If the gpu is moderately busy it will bypass the above check and clock the cpu to max frequency. If the gpu is crushed under load, badass will lift the restrictions to the cpu.

6: Pegasusq

The Pegasusq is a multi-core based on the Ondemand governor and governor with integrated hot-plugging. It is quite stable and has the same battery life as Ondemand. Ongoing processes in the queue, we know that multiple processes can run simultaneously on. These processes are active in an array, which is a field called "Run Queue" queue that is ongoing, with their priority values ​​arranged (priority will be used by the task scheduler, which then decides which process to run next).

To ensure that each process has its fair share of resources, each will run for a certain period and will eventually stop and then again placed in the queue until it is your turn again. If a program is terminated, so that others can run the program with the highest priority in the current queue is executed.

7: Smartmax

Smartmax is a mix between Ondemand and Smartassv2. It behaves mostly like Smartass with the concept of an "ideal" frequency. By default this is configured for battery saving, so this is NOT a gaming or benchmark governor! Additionally, to make it "snappy", Smartmax has "touch poke". So input events from the touchscreen will boost the cpu for a specific time to a specific frequency. Developed by XDA user Maxwen.

8: IntelliMM

A rewrite of the old Min Max governor and has 3 cpu states: Idle, UI and Max. Intelliminmax (intellimm) governor is designed to work with the newer SOCs with fixed voltage rails (ie MSM8974+ SOCs). It is designed to work within those fixed voltage ranges in order to maximize battery performance while creating a smooth UI operations. It is battery friendly and spends most of the time at lower frequencies.

9: Impulse

An improved version of interactive modified by neobuddy89. Impulse aims to have a balance between battery and performance just like interactive but has some tweaks to save battery.

10: ElementalX

The ElementalX CPU governor has been specifically designed and tuned to get the best balance between battery life and performance. By default, it is more conservative than Ondemand. During routine usage, the CPU frequency does not ramp up very often. If gboost is enabled, during gaming or any other graphics intensive situation, the CPU frequencies boost much easier in order to maintain maximum performance. There is also a built in input boost.

11: Alucard

A favourite choice and one of the original governors that Alucard_24 made. Alucard is based on ondemand but has been heavily tweaked to bring better battery life and performance. It has been known to be battery friendly without sacrificing much performance.

12: Hellsactive

A heavily modified intelliactive governor by hellsgod that has been tweaked to improve battery life. Hellsactive is less aggressive compared to intelliactive so the battery life will be more like the original interactive.

1: Simple

It's a new governor for the gpu frequency scaling. It will allow a more fine grained control over how the gpu scales up and down then the previous ones. Depending how you tune it, it can be better for battery life or performance.

2: Ondemand

Much like the CPU governor, Ondemand will ramp up the frequency when a load is detected. A good balance between performance and battery savings. This is a widely used governor in qualcomm devices.

3: Powersave

Like the CPU governor, this keeps your GPU running at the lowest possible frequency. Best battery life, extreme lag in games.

4: Conservative

Like the CPU governor, this one is the opposite of Interactive; it is slow to ramp up the frequency, then quickly drops the frequency once the GPU is no longer under a certain threshold of load.

5: Performance

As the name suggests, this keeps your GPU running at the max frequency. This is a governor if you want the best possible experience in games but you don't care about your battery life.

1: MPDecision (disabled by intension -- do not even think of enabling it)

Qualcomm's default hotplugging driver. One of the most widely used hotplug drivers in all android devices.

2: Alucard-Hotplug

A great hotplugging driver by Alucard. It is known to be very battery friendly on devices.

3: Mako-Hotplug

A new popular hotplugging driver found in Francokernel. This is a highly configurable driver that can be configured to use dual core for light-loads and quad-core for heavy loads.

4: Zen-Decision

ZEN only onlines all cores when screen is on, it also takes thermal events into account and wont online any core back, if you're under 15% battery, or currently have a thermal event because of heat. So in the end it isn't a "real" hotplug driver, because it doesnt have any code for active hot plugging in it. That means you can't change its behavior.

5: Bricked Hotplug (has been temporary added, but then removed again from this kernel)

Conservative hotplug driver by showp1984. It is based on mpdecision but has been optimized for better balance between battery life and performance.

6: msm_sleeper (always on by default)

The main feature with this hotplug is that you can customize the screen off frequency. Two cores are always on, the third and fourth are independent and come online if needed. By default, if the load is over 80 for 400ms another core comes online. The third and/or fourth cores stay online as long as the load demands it or for a minimum of one second. While the screen is off, it goes down to a single core. Created by flar2.

7: AutoSMP

A highly-efficient hotplug driver by mrg666, works in-sync with the CPU governor to enable off-line cpu cores when the the CPU frequency reaches a high threshold and still more compute power is needed. Therefore, touch boost bloat is removed.

For a good performance you don't have to tweak anything, but use my defaults (AutoSMP/Hellsactive).

Using ElementalX as CPU governor will apply a GPU boost when GPU is at max power which should have a positive effect on gaming performance.

Using Pegasusq as CPU governor allows you to reach the highest end score in Antutu Benchmark tool.

Change CPU hotplug to Alucard and CPU governor to Smartmax or Intellimm.

Partially based on: http://androidmodguide.blogspot.de/p/blog-page.html