HTC noted during the review process that our devices were running non-final software, and we received an OTA update that significantly changed the thermal throttling characteristics of the device, but this seems to have only affected performance in situations where the SoC was nearing maximum acceptable skin temperatures as performance in these benchmarks were relatively unchanged.
For those that are unfamiliar with how HTC's CPU cheats work, HTC continues to rely on some level of benchmark detection, and it seems that when a benchmark is detected it enables a "High Performance" mode in the developer settings with no option to disable this mode. It's possible to work around this mode by using benchmarks that evade such detection mechanisms (and we do), but it's also possible manually toggle this mode on and off if a benchmark isn't detected. This benchmark mode appears to relax throttling constraints, but more obviously it enables one to go from a maximum of 1.6 GHz to the rated 2.0 GHz of the Snapdragon 810 for extended periods of time. However, even in this mode we can see that a sustained load of a single thread on the A57 cluster will cause the cluster to throttle to 1.7 GHz in this mode, while without this mode enabled we see that a single thread will eventually cause the A57 cluster to clock around 1 to 1.2 GHz. If the normal governor does allow the SoC to reach 1.9 GHz, I can't really perceive the amount of time that it does reach such a speed.
The most concerning result is WebXPRT, which is a bursty workload that runs over a few minutes, which suggests that we’re already seeing thermal throttling in the M9.
Unfortunately, in battery life HTC manages to fall somewhat flat as the combination of the Snapdragon 810 and the loss of panel self-refresh causes a significant regression in battery life despite the increase in battery size. I’m not sure how much HTC could’ve done to prevent this, but the removal of PSR is definitely something HTC could’ve kept to try and keep battery life similar to the One M8. This is really the first generation to my memory that actually regressed on battery life in our benchmarks, which is concerning for any device with a Snapdragon 810 SoC. It may be that this is just HTC’s problem, but given that HTC has generally managed to do well at extracting maximum battery efficiency from previous platforms I’m not sure if other OEMs will be able to improve the situation here.
The SoC is better, but I can’t help but feel that Snapdragon 805 ends up being a better choice than Snapdragon 810 for a flagship smartphone at this time. The Snapdragon 808 may be better suited as an upgrade to the Snapdragon 805, but given the performance of the 810 I’m not really holding my breath. Given all of these issues, I’m almost tempted to point to the One M8 as the better phone, but until we get the full picture we won’t be coming to any final conclusions about the One M9.