There are several reports now claiming that Samsung has cranked up the GPU clock speed in two international Galaxy S 4 smartphones to 533 MHz in certain benchmarks while keeping the GPU at 480 MHz in other benchmarks of apps and games. The reports also point to a string within an app for the GS4 that reveals something called "BenchmarkBooster" which overclocks the SoCs when specific benchmark apps are running.
For starters, the GPU frequency can be easily obtained over adb: 480 MHz. But when tested in GLBenchmark 2.5.1, the GPU clock speed increases up to 532 MHz as it also does in AnTuTu and Quadrant. However GFXBench 2.7.0 (formerly GLBenchmark 2.7.0) shows the 480 MHz clock rate. There's speculation that this latter benchmark isn't allowed, aka white-listed, to run the GPU at the higher setting.
The performance boost isn't locked to the GPU portion of Samsung's Exynos 5 Octa chip either. "Using System Monitor I kept an eye on CPU frequency while running the same tests," reports AnandTech. "Firing up GLBenchmark 2.5.1 causes a switch to the ARM Cortex A15 cluster, with a default frequency of 1.2 GHz. The CPU clocks never drop below that, even when just sitting idle at the menu screen of the benchmark."
But when running GFXBench 2.7, the chip switches over to the Cortex-A7 cluster running at 500 MHz (250 MHz virtual frequency). Thus it would appear that GLBenchmark 2.5.1 is the only benchmark allowed to run the higher performance mode. AnTuTu, Linpack, Benchmark Pi, and Quadrant reveals the same behavior: a fixed CPU governor.
"Note that the CPU behavior is different from what we saw on the GPU side however," the AnandTech report states. "These CPU frequencies are available for all apps to use, they are simply forced to maximum (and in the case of Snapdragon, all cores are plugged in) in the case of these benchmarks. The 532MHz max GPU frequency on the other hand is only available to these specific benchmarks."
As for "BenchmarkBooster", it's a string within the TwDVFSApp.apk that's actually allowing the frequency changes. This string specifically names benchmarks that are allowed to use the higher settings including Quadrant standard/advanced/professional, Linpack (free, not paid), Benchmark Pi, and AnTuTu.
Naturally once the report surfaced and began to spread, Samsung came forth to defend its benchmarks:
Under ordinary conditions, the GALAXY S4 has been designed to allow a maximum GPU frequency of 533MHz. However, the maximum GPU frequency is lowered to 480MHz for certain gaming apps that may cause an overload, when they are used for a prolonged period of time in full-screen mode. Meanwhile, a maximum GPU frequency of 533MHz is applicable for running apps that are usually used in full-screen mode, such as the S Browser, Gallery, Camera, Video Player, and certain benchmarking apps, which also demand substantial performance.
The maximum GPU frequencies for the GALAXY S4 have been varied to provide optimal user experience for our customers, and were not intended to improve certain benchmark results.
Samsung Electronics remains committed to providing our customers with the best possible user experience.
I would like to highlight this part for you:
I would like to highlight this part for you:
"Meanwhile, a maximum GPU frequency of 533MHz is applicable for running apps that are usually used in full-screen mode, such as the S Browser, Gallery, Camera, Video Player, and certain benchmarking apps, which also demand substantial performance."
Anyhow, a benchmark is supposed to push the hardware to its limit. If the limit is higher than what your hardware usually uses, that's only because certain programs don't push it to the limit, like a benchmark does.
I never check benchmark results when buying phones. Never. All I care about are battery size and some minimum specs.
2. Apple still spanks your GPU when it comes to same generation hardware - make better GPUs, it's not rocket science...
3. Using Franco Kernel, I can dynamically push my Nexus 7's GPU for specific games - It would be great if Samsung gave the users that ability but doing it behind your back and then only for specific apps (benchmarks) speaks volumes.
4. I would love to see the same people make the same excuses if Apple had done the same... Inflating benchmark results beyond what normal apps use deceitful.
Do you understand what they're doing? They're essentially putting explicit instructions that when a benchmark is being done, inflate its GPU clock speed. Benchmarks are to get accurate results of its performance, Samsung is trying to fool it to give misleading results so its product has more marketing value.
A benchmark pushes the device to get its upper-bounds not be tricked into getting results that non-benchmark apps would get.
Whether you use the specs in your purchasing is one thing, but trying to fool results so stats are inflated for the sake of marketing is wrong in me eyes.
If Apple did this you it would have a 100 comments by now...
The Tegra 3 can switch on different cores depending on workload. Is that also cheating if all 4 cores fire up during a heavy test?