Last year, Samsung got into some hot water for including an automatic "high power mode" for certain apps, dialing up the processor and GPU scaling. There's nothing wrong with that in theory, but these changes were enabled specifically for benchmark apps, giving the benchmarks results that, while not technically incorrect, were artificially inflated and unlikely to be indicative of everyday performance.

Yesterday, popular custom ROM family CyanogenMod added similar state-dependent modes to its latest batches of code, and as soon as the power profiling function was added, specific triggers for the popular Quadrant and Antutu benchmarks were added as well. This means that once the changes make it into nightly builds, devices running the latest CyanogenMod builds will see higher scores in Quadrant and Antutu. Again, while these higher scores aren't technically incorrect (the hardware is operating within its standard parameters), they do reflect a level of performance that's unlikely to be achieved in other apps, like high-powered games, without similar profiling. User-accessible controls for specific apps are marked for development later.

Performance Profiles is going to grow into a much more powerful feature which can apply advanced optimizations or power saving techniques depending on both the state of the hardware as well as the current applications in use. -Steve Kondik, CyanogenMod code review

Cyanogen, Inc. founder and CTO Steve Kondik merged the changes into the primary CM11 build himself. When a user commented that Futuremark was likely to ban devices running CyanogenMod from the public rankings of the 3DMark benchmark if a similar mode was enabled for that app, Kondik had this to say:

I think its totally fair. Every Qualcomm device already does this, and you can already engage performance mode manually. This will improve the situation because you'll be able to turn it on and off as you please.

Also, it won't really do much for 3dmark since our GPUs already scale pretty damn well.

Kondik went on to say that HTC's implementation of similar power profiles on the new One M8 was one of his reasons for making the change. Notably, Futuremark has indeed banned the One M8 from its public rankings for the above behavior.

Again, the mere function of changing the power profile to increase or decrease speed based on the needs of the current app load isn't in question - that's simply good software design. It's the tagging of benchmark apps, which are ostensibly designed to be objective tests of typical hardware power, which will cause some users to balk.

<!-- Automatic power profile management per app.

Each item should list the fully-qualified activity

name and the power profile id, separated by a comma. -->

<string-array name="config_auto_perf_activities" translatable="false">





A move like this would probably go unnoticed for most custom ROMs. But CyanogenMod is installed on millions of devices and, more importantly, now has a for-profit company developing and promoting it. That causes a problem: many users install custom ROMs to gain performance benefits over stock manufacturer software, but with these changes made, the Quadrant and Antutu benchmarks are not objectively reliable tests of comparable performance between the two ROMs. The change could be seen as a way of making CyanogenMod look artificially better in comparison to stock software.

Source: CyanogenMod code review 1, 2, 3 - thanks, Utkarsh Gupta!