[One (M9) General] Mostafa Wael:
Thermal Performance​

Why does it matter to keep it cool?

Well, some people think that it is crucial to keep the skin temperatures cool just so that the consumer doesn't get pissed off or only in order not to sweat his hands, which is quite the contrary. Thermal performance plays a big role in battery life as well. A warm phone means that the battery is losing a considerable amount of its energy in the form of heat energy, so the percentage of wasted energy increases, and that translates to lower battery life stats (less screen-on time and battery drain from nowhere!), which means that the warmer the phone, the more inefficient it becomes. So that is indeed quite an obstacle to be taken in consideration.

HTC and taming its dragon...

As an M9 owner, I indeed knew that the M9 is prone to some so-called 'overheating' issues, with it being equipped by the controversial partly flawed Snapdragon 810 chipset, prior to purchasing the device, where I was to choose between the M9 and the overhyped S6. Naturally I went with the M9 after the terrible experience with my last Samsung device :laugh:

But it was somehow hotter than my taste with the first pre-release 1.32.401.8 build, whereas my phone received a maintenance update immediately after days to throttle the phone, and that wasn't quite a perfect solution since you are sacrificing performance for the sake of lower skin temperatures, and also it wasn't completely cured from being warm most of the time. Then came the 1.40.401.8 update and made quite an improvement in this area, followed by the infamous Android 5.1 update with the 2.10.401.1 build that made a dramatic improvement compared to all the previous updates. Lots of CAF commits where introduced, the minimum frequency of the high-power A57 cluster was reduced from 633 MHz to 384 MHz, the A53 cluster was throttled a bit during usage compared to the previous 1.40 build, and other under-the-bonnet changes as well, such as newer, more optimized GPU drivers that boasted the graphical performance relatively. You see, from the trend you can tell that big.LITTLE setup was still in the 'infant' stage where HTC was still trying to tame the furious child. But, compared to the rock solid Snapdragon 801 devices, it still leaves something to be desired in this department. Messing up with your UI may ramp up the temperature to 36 degrees if you kept swiping between your pages for long time, or if you kept reading your news feed from the beloved blinkfeed page, whereas other devices don't break a sweat. Also reaching 39 degrees when browsing the internet on your phone certainly wasn't something to show off. Then came the new sweet treat with the 3.35.401.12 build, which took it completely to another level!

Google offering a hand....

I was one of the happiest people on earth when the first rumors emerged saying that the larger sibling of the Nexus phones will adopt the Snapdragon 810, though the thermal problems would have left some concerns. But that company does know what it does for sure, and I was quite confident that this is going to benefit me as an M9 user which carries the same SoC used in the Nexus 6P. Of course the company went for some hardware modifications to tone down the skin temperatures while sustaining the highest average frequency possible, like resting the SoC between the metal mid-frame as well as applying extra thermal paste on it to allow for better heat dissipation and letting the screen act as a heat sink to get rid of extra heat much quicker, but that didn't mean software solutions and tweaks done by google in the Marshmallow update was few. Doze was introduced as a Marshmallow exclusive feature that promised a lot less idle drain and to put background drain problems to death, one of the most deadly 'backfire' obstacles that the Snapdragon 810 had been facing. More precisely, whenever the phone gets woken up by some random unwanted background app, ehm..... or by the rude Google Play Services, the A53 cluster naturally kicks in, which is, combined with the 20 nm manufacturing process, quite inefficient and therefore the theoretical advantage of this cluster gets lost in the dust of the planar 20 nm manufacturing process and the plague of background apps continuously running in the background, not to mention the infamous wicked memory leak of Lollipop. With Doze in action, the phone enters an even deeper sleep mode and deprives wakelocks from waking up the phone, as well as increasing the sync interval time, so the phone does not get too busy syncing the accounts while you are taking a mid-day nap with the phone lying lazily on the desk beside you. This indeed helped with the thermal performance, since the phone is starting from a much lower initial temperature rather than already starting from something like 28 or 30 degrees. Not only idle drain was improved, but also active drain was getting some care from the engineers over at Mountain View. Google introduced "cpusets", which allocates foreground and background tasks to certain clusters based or workload calculations instead of firing up all the clusters to work on every thing, which means the higher power cluster can interfere and finish tasks faster instead of lazily relying on the piss poor A53 cluster to finish the task, hence better battery life since the phone goes back to the idle state faster. Other stuff was introduced like "power hints", which limit frequencies and change certain CPU values while executing a task for more efficiency. And I am sure there is even more have been changed like CPU governor related changes, migrating more to 64-bit code, improving the GPU drivers for much smoother experience,...etc

How did all this fare?

As you can see here in the previous screenshots of general/medium use, temperature is spiking between the low thirties with maximum temperature of 34 degrees, which was almost unachievable on Lollipop.

And this is with more than 1.5 hours of drooling merciless multitasking and switching back and forth between the apps, with more than 9 active apps in the play! And it is very obvious here how much I was struggling to rise the temperature to 37 degrees where it kept in the 35-36 degrees zone, which used to ramp up alarmingly quickly to 39 degrees, and may even go for a totally undesired higher temperature of 41 degrees, under same usage and similar circumstances. That is utterly brilliant to say the least!

And with these improvements and changes done here and there, performance has been dramatically improved and battery life of course, which I shall talk about later on....

The verdict;

the furious Snapdragon 810 won't be crushed by its thermal weight anymore, and now you can show off how cool your phone is confidently, and that 'overheating issues' should be put to death mercifully.