By now we all know the Galaxy S4 like the back of our hand. The US version runs the Snapdragon 600 while the International version is running on the Exynos 5 Octa processor. The Exynos 5 Octa GPU runs at 480MHz. Until you are running a Benchmarking app.
Back in February, a forum member at Beyond3D suggested that Samsung overclocks their GPU to 532MHz while you're running benchmarking tests that are intended to show off how powerful the device is. Then throttling it to just 480MHz when you're actually using it. In fact, Anandtech recently tested and researched on these claims and discovered code that Samsung uses to speed up the processor when you're running popular speed testing suites like GLBenchmark, AnTuTu or Quadrant.
Some may think that this is Samsung simply cheating benchmarks. Which it kind of is. As the GPU is even marketed as running at 480MHz and not 532MHz. Now how many of us buy devices based on the benchmarks? Probably not too many of us. I know I don't.
AnandTech also discovered that it's not just the GPU, but also the CPU. Certain benchmarking suites like GLBenchmark, can trigger the CPU to jump to 1.2GHz, while others like GFXBench are not triggered at all and use a default CPU speed with lower performance, at just 250MHz. Linpack hits the device at 1.6GHz and and the Snapdragon 600 Galaxy S4 uses 1.9GHz on GLBenchmark.
It also appears that Samsung has included a settings application, TwDVFSApp.apk, which has hard-coded CPU settings for the different benchmarks, including a "boost mode" that kicks both the CPU and GPU in higher gear. So it looks like this was no mistake.
It's definitely going to be interesting to see what Samsung says in reference to these findings, if they say anything at all. But it's rather sad that Samsung had to resort to overclocking the CPU and GPU to get better benchmarks, when the CPU and GPU has plenty great benchmarks at their normal speeds. Just optimize the software a bit more next time Samsung.