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

  • fokka - Wednesday, March 26, 2014 - link

    same here. i had hoped they keep it the same size and the bigger screen will be compensated by the on screen buttons. but seeing this huge black bar with the htc logo under the screen just about puts me off considering the new one is almost 1cm taller than the old.

    the problem is now that the m8 is here i would also feel dumb for buying an m7, the battery and sd slot alone are big selling points for me. but man is this thing big...
  • madwolfa - Wednesday, March 26, 2014 - link

    Remaining happy camper with my M7.. M8 is not a worthy upgrade for me.. Guess shoulda wait for M9. I have another year of contract anyway.
  • hangfirew8 - Wednesday, March 26, 2014 - link

    My feelings as well, the M8 is a good fast phone, but I'm happy with my fast-enough M7. I still wish for a better still camera but the video is indeed good and it looks like we'll have to wait for the M9 to get the 6-8MP we need to make UltraPixel both sensitive and detailed.
  • puremind - Saturday, March 29, 2014 - link

    Take the new HTC One Mini. It will probably fit thebill
  • hangfirew8 - Saturday, March 29, 2014 - link

    Considering how much less the original Mini was compared to the M7, I doubt the new Mini will be better than my M7- which would make it better than the One M8.
  • UltraWide - Wednesday, March 26, 2014 - link

    HTC needs to make sure to follow up with prompt Android updates and not drop support for phones like the ONE X+, etc.
    At the end of the day, I will probably check out the HTC One M8, praise it for all the great points highlighted in this article and just buy the Galaxy S5 because it makes less sacrifices in the name of design.
  • tipoo - Wednesday, March 26, 2014 - link

    They did really well with 2013 One updates, I don't know as much about the One X but I think that got pretty good update speeds too.
  • sigmatau - Wednesday, March 26, 2014 - link

    "HTC clearly saw design where others were more focused on cost optimization."

    Not sure if that matters when "cost optimization" is not passed on to the customer. When they came out, the Galaxy S4 cost more than the HTC One.
  • Death666Angel - Friday, March 28, 2014 - link

    That's almost solely a function of hype/demand. After the great success of the Galaxy S2, Samsung had its bed made and simply needed to offer the new phone with everything a bit improved. Because of HTCs horrible marketing and naming scheme, they didn't have the same level of branding, so their new releases aren't nearly as covered, hyped and sought after.
    But as I said in my own comment, now the HTC M7 is the priciest of the former flagship phones, coming in at 410€ for the 32GB version, with the other brands bein 300 to 330€ for their 16GB versions. If you compare like to like, it is a bit closer.
  • hangfirew8 - Saturday, March 29, 2014 - link

    Savings from the cost optimization goes into Marketing.

Log in

Don't have an account? Sign up now