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

  • hangfirew8 - Friday, April 4, 2014 - link

    In summary, many of these items were addressed in past reviews, but were not in this review... and THAT is depressing.

    Hopefully this is just a transitional issue and AT will cover more technical detail again in the future. This is still one of the best M8 reviews on the Web, but sadly that is not a high bar.
  • Human Bass - Thursday, March 27, 2014 - link

    The cel seems great...but 4MP Camera is way too low. Camera sensors already evolved enough to perform quite good with 8MP with very little noise. And it seems they forgot that when you have more MPs, you can actually chose to go lower. Im sure the Galaxy 5 camera will perform incredbly well at 8 or 4MP if I am in an enviroment that noise worries me more than resolution.
  • deskjob - Thursday, March 27, 2014 - link

    Great review. It was surprisingly to see the significant improvement in battery life between the S600 and S801, or even the the S800 and the S801. Now imagine if HTC bucked its trend of putting smaller than average batteries in its flagship! Come to think of it, the Butterfly S is probably just as tall as the M8, and it packs a 3200mah cell. That would be yummy.

    M9 wishlist - 3200mah+ battery cell, 8MP ultrapixel rear shooter with Nokia level OIS, S805 (or whatever comes after that), even louder and better stereo speakers and DACs for headphones. Keep the microSD!

    Bonus material - somehow fit all that in the OG One's dimension! Water/dust resistant would also be cool and actually useful.

    In the mean time, I will continue to rock the OG One...
  • asaini007 - Thursday, March 27, 2014 - link

    I notice that it says the M8 has DDR3 RAM here (LPDDR3). But every single other site I've read claims it has DDR2 (for example http://goo.gl/JeDTgQ) Am I missing something?
  • Anand Lal Shimpi - Thursday, March 27, 2014 - link

    HTC's original reviewer's guide incorrectly stated DDR2, they updated it to DDR3, but there's LPDDR3 inside.
  • JacksonSparks - Thursday, March 27, 2014 - link

    Hey Anand, your old pal Jackson here. Spot on review: I just got a sweet 2 for 1 deal from Verizon with $100 bill credit. Bottomline, that's two of these beauties for $160 and a 2 year contract. I don't see anyone beating out Verizon's coverage and reliability anytime soon, I am happy with my first smartphone purchase ever.
  • asaini007 - Thursday, March 27, 2014 - link

    As usual, love the detail of the AnandTech review... However, I'm wondering why things such as radio performance/call quality and speaker (BoomSound) performance are not analyzed?
  • asaini007 - Thursday, March 27, 2014 - link

    Never mind, after reading the comments I've seen this question has been addressed. But I'm still wondering about the RAM - is it DDR2 or the faster DDR3?
  • sferrin - Thursday, March 27, 2014 - link

    Please God, tell me they ditched the abominable Blink Feed. I went from an EVO with 7-screens and multiple scenes to 5 screens with one unusable due to Blink Feed.
  • thedenti5t - Thursday, March 27, 2014 - link

    Blinkfeed is there but you can remove that garbage

Log in

Don't have an account? Sign up now