Has anybody done any serious measurements as to effects of SetCPU (or a similar power-saving app)?

I mean, are Google and Linux developers really that stupid not to properly implement power management in-system? Especially so considering the Android's paramount problem of battery life.

The SetCPU promo video only shows how the MHz numbers jump up and down, but is it noticeably better for the battery than processor idling done by the OS itself?

  • If you take a look at the Waklock implementation (the system not taking care for abandoned Wakelocks even when the corresponding app closed), you don't ask about this one XD But we are not a discussion-forum, where your question better fits -- not being well-suited for our Q&A style, it's very likely to get closed soon (see our FAQ for details). – Izzy Dec 11 '12 at 21:38
  • Understandably, this is a controversial topic, but I'm asking about hard numbers from real observations - the hours of battery life gained or the percentage of power saved. – Alexander Shcheblikin Dec 11 '12 at 21:43
  • 1
    Your question rather looks like a "survey". To prevent it from being closed, I'd strongly suggest a rephrasing then, or at least include your last comment with the question itself to make that clear :) – Izzy Dec 11 '12 at 21:49
  • 3
    Using SetCPU to manually idle a device that would already idle itself properly probably isn't the right way to do it. In fact I understand than capping the maximum CPU frequency can sometimes increase battery usage during syncing operations, since the radio has to be used for a longer period while the data is processed more slowly. That doesn't mean devices that don't idle very well don't exist. TL;DR You seem to already know the answer -- "it depends". – Matthew Read Dec 11 '12 at 22:28

In general, the slower your clock speed, the less power consumption will be used on your device. But if you're lowering your clock speed... then things will run sluggish, especially if you drop below the 500mhz range.

SetCPU has different "profiles" that controls the behavior of your CPU. You can make it run at full maximum performance (for best response times and worst battery usage), but typically you use the default one where it only "speeds up" the processor when it is actually used and needed.

You could, for example, have SetCPU lower your clock speed to something much lower than normal when the screen is off.

Kernels also matter. Some people have made "low voltage" kernels that can help with your battery life. But your mileage will vary with using kernels other than the stock one because they usually go outside the bounds of your CPU's specifications (so a "low voltage" kernel may work well on one device but not another device).

Device manufacturers want you to have a good experience with your device at stock settings. By changing the clock speed (to a lower speed), you should be expecting a degradation in performance at the cost of better battery life.

  • Yes, I know I should be expecting better battery life from using SetCPU. But does it really work? For example, I suspect that when the screen is off the processor is put into idle state by the OS anyway, regardless of the frequency, and it wakes up periodically to do routine tasks. – Alexander Shcheblikin Dec 11 '12 at 21:36
  • 1
    @AlexanderShcheblikin As I don't write kernels or ROMs, I can't give you a very good answer to that. The real question is: can you manually changing the clock speed more smartly than the OS's algorithm? Maybe, maybe not. But if you force the clock speed, for instance, to always run at the slowest clock speed, then yes, that should be better as the OS's algorithm would ideally at some point speed up the clock speed for when you need performance. However, I would really not recommend running at such a low clock speed. – Bryan Denny Dec 11 '12 at 22:07

Not the answer you're looking for? Browse other questions tagged or ask your own question.