As PC enthusiasts, we're no strangers to situations arising where performance gets dinged over time. Most recently, we identified the Radeon R9 290X's bad habit of heating up and shedding clock rate during heavy 3D loads, prompting AMD to introduce a new driver that pushed fan speeds higher to keep up with cooling. That's not as easy of a behavior to address in the mobile space, though. Devices aren't cooled actively, so balancing performance, thermals, and battery life becomes a delicate matter of industrial design, materials, and carefully-defined profiles.
Generally, operating systems become more resource-taxing as features pile up. But Google preached numerous efficiency gains in moving to Android 4.4 KitKat. We recently applied Samsung's update to our Galaxy S4 and discovered some interesting performance behaviors that weren't a part of previous builds.
In short, Samsung's stock 4.4 ROM for the Galaxy S4 employs an exceptionally aggressive dynamic voltage and frequency scaling (DVFS) algorithm. Compared to previous versions of Samsung's ROM, we've found that in 4.4 it takes far less load/heat to reach the threshold at which the SoC starts throttling back. At its worst, you'll see CPU complex frequencies of 918 MHz, which is less than half of the Snapdragon 600's 1.9 GHz ceiling.
Our main points of comparison are between 4.4 and 4.2, as 4.3 is tainted with specially-programmed behavior when the ROM detected the presence of a named benchmark and force the phone to run the Snapdragon 600's clock rate up to 1.9 GHz and hold it there when it detected a specified APK, such as 3DMark, so long as the SoC's temperature remained somewhere under a Qualcomm-defined Tj temperature. The Galaxy Note 3 was also guilty of this under Android 4.3.
We ran a bevy of benchmarks and consistently found that the Galaxy S4's CPU complex (and presumably GPU as well) would throttle so aggressively that performance results tanked after just a couple of iterations. Running the exact same tests within the same time window under room temperatures on 4.2 did not exhibit nearly anywhere near the same degree of throttling. We confirmed our findings in other benchmarks as well.
This sort of behavior isn't limited to benchmarks, unfortunately. We fired up EA's Real Racing 3 and watched the frequency drop from 1890 MHz, down several steps, before settling at 918 MHz. As the CPU complex throttles down, we have evidence to suggest that the GPU scales back as well in defined steps.
With no changes to the hardware design or thermal setup, the clear culprit is Samsung's DVFS algorithm. Mind you, both 4.2 and 4.3 employed DVFS as well, but Samsung clearly altered the implementation in 4.4 to affect the throttle points. It's not clear if this has anything to do with LucidLogix's GameXtend technology; the company wouldn't comment when we asked for feedback. Nor do we have data to reflect real-world battery life gains garnered from a quicker-to-spin-down version of the S4.
But the community at XDA-Developers already came up with a hack to disable Samsung's DVFS, essentially unshackling the Snapdragon 600 to perform more aggressively. This does not force the SoC to run at full-tilt, as it does under its application-detected Android 4.3 ROM. Rather, it raises the thermal limit to what's still believed to be within engineered guidelines. It's important to note that installing any sort of modification will void your warranty and lead to risks of bricking your phone. It's also going to burn through power more quickly, as higher clock rates and added heat work against efficiency.
When purely looking at performance from a "first run from cold" perspective, 4.4 delivers mostly the same as 4.2. Aside from gaming, most phone use is in short, sporadic bursts, allowing the SoC to drop back to idle.
This new behavior from Samsung's 4.4 ROM is disappointing for those wanting maximum performance from their SoC, especially given that the new DVFS system actually results in something far less consistent than the two major software versions before it.
A positive side effect of such conservative SoC behavior is its effect on power consumption and heat; lower voltages and frequencies generally result in less of both. Samsung could possibly be accounting for the fact that the first S4s off the line are now a year old with declining battery capacity, and this software tweak will preserve the company's original battery claims. That said, Samsung designs its phones with removable batteries, making it a cinch to replace. Having a phone that now slows down under heavy load could lead to conspiracy theories now that there's the newer, faster Galaxy S5 heading to stores worldwide.
Special thanks to Zackariah Khazraeinazmpour and Jon Carroll for their help in running benchmarks on their phones to help us characterize performance.