Early findings on M9 / 810 - anecdotal thermal and throttling stuff.
For a primer, the only other phone out there with 810 is G Flex 2. So that's going to be one of our main points of comparison. And no, this isn't about trashing the M9, it's about evaluating Snapdragon 810. I like the M9 just fine so far.
Relevant figures: S810 - 4x A57 CPU cores at ~2GHz, 4x A53 (low-power) cores at ~1.6GHz.
Tools: Geekbench CPU stress test (not publicly available), Seek Thermal IR camera, my eyeballs / hands, CPU-Z for monitoring core clock speeds.
G Flex 2 exhibits probably some of the most aggressive processor throttling of any smartphone in existence. A CPU stress test turns 2 of its "high-power" A57 cores off within two minutes to keep under LG's set thermal ceiling, and within another few minutes, the remaining two A57s go into limp mode at 384MHz. During this time, the A53 low-power cores stay active at the full 1.6GHz. Once the A57s are in limp mode, the A53s are doing basically all the heavy lifting, and the phone slows down a lot. This is because LG is doggedly managing the internal temperature of the phone, even in benchmarks.
The M9 exhibits similar behavior under a CPU stress test, but seems to have a higher thermal ceiling under "ordinary" usage than the G Flex 2, so the throttling is less aggressive. The A57 cores, under high load, all stay active, but in no time during my testing did I observe them above 1.7GHz (1728MHz to be exact), despite being rated for 2.0GHz... which is kind of concerning. For the first few minutes, the A57s bounced between 1GHz and 1.5GHz playing thermal hot potato while the A53s stayed locked in at 1.6GHz (as on the G Flex 2). After a few minutes, though, as temperatures rose to what I'm guessing is HTC's thermal ceiling, the A57s slowed down to 900-1200MHz, then to 800-1200MHz, then to 700-1000MHz, then to 600-900MHz. Eventually (maybe 10 minutes in), the A57s all just dropped to 633MHz and stayed there, indicating limp mode was achieved, and the A53s were doing most of the work.
Now, a CPU stress test isn't actually a great way to generate external heat. The best way to make a mobile device hot is to run the GPS and cellular radio a lot (download an app, use navigation) or in some cases work the GPU playing intensive games. The CPU stress test shouldn't really get a phone all that hot because the main source of heat is being very actively controlled by the CPU governor to keep temperatures down.
The point of this test is to show that, when bogged down with heat-soak contributed to by other components, the Snapdragon 810 will resort to pretty aggressive throttling, and do so relatively quickly. A Snapdragon 805 in the same situation will throttle some, but the comparative loss in performance will be substantially lower.
Because HTC has left the M9 basically un-governed in benchmark apps, it's hard to tell how much the throttling impacts CPU performance statistically. It's quite happy to run Geekbunch CPU bench loops until it hits 115F+ (46C) external temperature, which is pretty warm. The G Flex 2 has managed thermals even in benchmarks, so it takes a 40-60% single-thread performance hit and a 30%+ multi-thread performance hit once it's at that thermal "ceiling," but the temperature doesn't get very high at all.
For a control, a Snapdragon 805 in a Note 4 was used, and that device experienced maybe a 10-15% single-thread drop and a 5-10% multi-thread performance drop when running through the Geekbench 3 CPU cycles.
The peak temperatures aren't really important so much as the mounting evidence that Snapdragon 810 just isn't a very good high-end chip in something as small as a phone. The thermals require aggressive CPU management in daily usage that effectively neuters the processor during extended usage or high thermal load situations (navigation, high data consumption, high screen brightness, etc.).