Subtle Cheating: New Benchmark Optimizations

We’ve been tracking the state of benchmark optimizations among Android OEMs for a while now. It wasn’t too long ago that we published a piece calling out nearly all Android OEMs for optimizing for benchmarks. The optimizations are pretty crude. Upon detecting a whitelisted benchmark by APK identifier alone, most OEMs would enable a performance mode that would:

1) Plug in all CPU cores
2) Run all cores at max frequency
3) Raise thermal limits to eliminate/reduce throttling

Defeating the optimization was just as simple: thorough renaming of the benchmark and all internal application IDs. For the past several months we’ve been working with benchmark, silicon and handset vendors to curb the behavior. Although we found the optimizations to have minimal impact on our test results, it’s still a messy practice that isn’t worth doing.

We’ve seen early (encouraging) indications that some vendors have reconsidered their position on benchmark optimizations. Unfortunately HTC isn’t quite there yet.

The M8’s Android 4.4.2 build includes a new, more subtle form of benchmark optimization that we hadn’t seen in previous devices. Benchmarks are still detected according to their application identifier, but instead of hot plugging in all CPU cores and driving them to max frequencies, everything appears to be normal at launch.

Here’s the state of the CPU cores after launching the Play Store version of any optimized benchmark:

Everything looks just fine. But look at what happens if we monitor CPU frequency over time on the Play Store and a special renamed version of 3DMark:

Average CPU frequency is about 15% higher while running the Play Store version of 3DMark. I still need to run some thermal analysis on the device but I don’t think HTC is raising thermal limits. Instead what appears to be happening is HTC is simply more aggressively tuning the governor response to performance demands, allowing for higher frequencies. Note that the frequency response latency is now so low that I couldn't even grab the 300MHz screenshot above in the Play Store version of 3DMark. As soon as the device detected a button press it would ramp up to 1.7GHz.

The impact on performance goes hand in hand with the increase in average clock speed. I measured performance during 3DMark’s Physics test (which is CPU bound). The difference was about 15%.

I also tracked GPU clock speed over time. Thankfully the optimization seems limited to CPU frequencies alone:

The list of optimization targets has also expanded since we last looked at HTC. The latest versions of GFXBench, BaseMark X and BaseMark OS II are now included in the benchmark whitelist.

HTC made one small concession - it’s allowing users the ability to run their device in this high performance mode at all times. Under developer tools (tap on the build number 5 times in Settings > About > Software information > More), you’ll find an option to enable high performance CPU mode. Checking that box will put your device in the same mode that’s enabled when a whitelisted benchmark is detected.

I do appreciate that HTC is exposing the optimization control, the only thing missing is the ability to toggle the benchmark optimization off (not to mention that I’d prefer if it was disabled to begin with). I fear that HTC’s justification in all of this is that everyone else is doing it so why opt out. The reality seems to be trending the other direction however. We’ll have to see what Samsung does with the Galaxy S 5, but I have a feeling that HTC is going to end up on the wrong side of history with this move. All of our benchmarks are already immune to the optimization, so it’s really a matter of sacrificing integrity for no real gain. There’s nothing more to say other than I’m disappointed.

Sense 6.0, Motion Launch & Sensor Hub Snapdragon 801 Performance
Comments Locked

222 Comments

View All Comments

  • piroroadkill - Thursday, March 27, 2014 - link

    Agreed. Z2 is the real Android flagship.
  • Blairh - Thursday, March 27, 2014 - link

    Very odd that not a single word was written about BoomSound.

    M8 is a big let down IMO. I would recommend it, but personally I find it too tall and heavy this round. A hypothetical 5" screen on the same footprint as the M7 would have been superior. Poor camera, ugly bezel, too tall. I hope HTC comes back stronger next year.
  • flashbacck - Thursday, March 27, 2014 - link

    I've been say'n, if they're going to cheat on performance benchmarks, you should use those same benchmarks to measure battery life!
  • flashbacck - Thursday, March 27, 2014 - link

    Hmm. The low light seems ok, but it's not dramatically better than anything else.
  • bhupatib - Thursday, March 27, 2014 - link

    Disappointed that Anand didn't do any audio quality test. GSMArena's analysis suggests impeccable audio output but I really doubt their testing methodology. But I'm happy HTC gave us bottom headphone jacks! Don't troll me on that, but I just think USB and headphone jack belong at the bottom. I know G2 does that too but going by AT's audio benchmark, it has less than stellar audio quality.
    Someone posted about the next One mini being the more reasonable buy and I agree (unless the next Moto X beats it to it). We won't get SD801, but if it looks just as good with the same port placement, audio quality and battery life, great ! Paying extra for that gimmicky dual camera to get the kind of effects I was doing when I first learnt Photoshop - bad, amateurish, no thank you! I'm not averse to camera features on a phone, I just think HTC missed an opportunity to implement something awesome instead of creating another fancy name (UltraPixel).
    My take? A single, large sensor (at least 1/2.3", ideally 1") camera optimized primarily for shooting 4K videos. Why? A frame grab from a 4K video with well implemented codec has just as much detail as any good 8MP still shot - so 4K gets you the eyeballs and without any further effort you get decent stills quality. SD801 is capable enough, HTC just needed to add improved optical stabilization and at least 50mbps H.264 profile. That, along with 1080p60 and 720p120, would have been much more logical.
    Pretty certain iPhone 6 will have some advanced OIS and the fusion of videography and photography is the way to go in the 4K era.
  • Anand Lal Shimpi - Thursday, March 27, 2014 - link

    Audio quality testing happens out of a physically different location, we're working on it next though :)
  • Laxaa - Thursday, March 27, 2014 - link

    Does it still have the "HDR Mics" as the M7 had? The one's that doesn't distort loud noises?
  • Biln3 - Thursday, March 27, 2014 - link

    i know the screen in the new one is .3" bigger but aren't they effectively the same size since the new one has screen shrinking onscreen buttons?
  • hughlle - Thursday, March 27, 2014 - link

    Rather what i was thinking. They removed the old buttons, but maintained the black bar. It all seems rather counter productive.
  • TrackSmart - Thursday, March 27, 2014 - link

    BINGO! This *really* annoys me the One M8! The new display makes the phone larger, but doesn't provide extra screen real estate. It's a lose-lose situation.

    Sure, the on-screen buttons are more versatile and can be updated with the software, but lost screen real estate is a painful compromise. Especially, when you the phone doesn't get any smaller for the loss of capacitive buttons. The Moto X is probably the only flagship device that actually used on-screen buttons as a way to reduce phone size. Almost every other implementation was a lost opportunity.

Log in

Don't have an account? Sign up now