A recent reddit post sparked speculation that Apple is underclocking the CPU of iPhones with degraded batteries to prevent unintended shutdowns and extend battery life.
To test this, tech geeks plotted the kernel density of Geekbench 4 single-core scores for the iPhone 6s and the iPhone 7 running different versions of iOS.
As you can see, there is only one large peak in scores for the iPhone 6s until iOS 10.2.1 when scores are distributed across five peaks. This was the firmware Apple released to fix unexpected shutdowns. The peaks become even more pronounced with iOS 11.2.
Because degraded batteries last much less and end up with a lower voltage, Apple’s solution was to clock down the CPU performance to prevent unwanted shutdowns.
Here is Apple’s statement on the issue
“Our goal is to deliver the best experience for customers, which includes overall performance and prolonging the life of their devices. Lithium-ion batteries become less capable of supplying peak current demands when in cold conditions, have a low battery charge or as they age over time, which can result in the device unexpectedly shutting down to protect its electronic components.
Last year we released a feature for iPhone 6, iPhone 6s and iPhone SE to smooth out the instantaneous peaks only when needed to prevent the device from unexpectedly shutting down during these conditions. We’ve now extended that feature to iPhone 7 with iOS 11.2, and plan to add support for other products in the future.”