Apple may be deliberately slowing down its iPhones to improve their battery life, says a Geekbench report by Primate Labs researcher John Poole. The issue was first noticed by iPhone users on Reddit, who linked the degradation of their smartphone's performance to its battery age. Redditors suggested that Apple fixed the unexpected shutdown issue on its iPhone 6/6S phones with the iOS 10.2.1 update, which “dynamically changed the maximum clock speed relative to the voltage that the battery is outputting”. To confirm this, Poole performed multiple tests on the Iphone 6S and the iPhone 7 running on different versions of iOS.
In his tests, Poole plotted the kernel density of Geekbench 4 scores for both the smartphones. He started off by performing tests on the iPhone 6S running on different iOS versions and discovered that the smartphone’s performance dropped sharply on iOS 11.2.0 and showing signs of being downclocked. The same tests were repeated on the iPhone 7, which offered the same result.
In his post, Poole notes that consumers will experience reduced performance without any prior notification on their devices. He says, “This fix will also cause users to think, 'my phone is slow so I should replace it' not, 'my phone is slow so I should replace its battery'. This will likely feed into the ‘planned obsolescence’ narrative.” The researcher adds that the battery fix introduced by Apple’s updates creates an unexpected change as users may believe that the decreased CPU performance is caused by the company.
UPDATE: Apple has issued a statement on the subject confirming that they indeed lower the CPU frequency on older iPhones. However, they said that their intent is of delivering overall performance and "prolonged battery life" and not forcing customers to upgrade to a newer model. The company said, "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," They further added, "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."
An iOS developer, Guilherme Rambo has also confirmed the same by digging into the iOS code, where he found a ‘Powerd’ subroutine. He says that it can reduce the processor’s speed on devices running iOS 10.2.1 and above. Rambo tweeted that the subroutine controls the CPU/GPU speed and power usage based on iPhone’s battery health and controls CPU power based on thermal pressure, which makes sure “your iPhone doesn’t catch fire”.
Looks like powerd is responsible for controlling the CPU/GPU speed and power usage based on iPhone battery health — Guilherme Rambo (@_inside) December 18, 2017