UPDATE | More evidence of Apple throttling the CPU in iPhones with worn batteries
Update: Apple has responded regarding these claims on throttling on older iPhones with worn batteries. They have confirmed that this is connected to an update previously released to iOS which was designed to limit peak power draw on cells that weren’t operating at optimal performance, which has a noticeable impact on benchmark performance. So, as we speculated below, this isn’t a planned obsolescence but is instead a way to avoid iPhones with worn batteries from exhibiting random shutdown problems.
“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.”
For a few years now there have been rumors and jokes made about Apple using iOS updates for older devices to create a planned obsolescence to encourage users to ditch their old iPhone for a shiny new model. Evidence for this throttling showed last week when a Reddit user ran Geekbench 4 on their iPhone 6S before and after a battery replacement and found that performance was only around 55-60% 'before' compared to the 'after' score.
Now more owners of older iPhones are reporting improved performance after replacing the battery, including one who noticed their 3-year-old iPhone 6 had become recently slowed down. They found that the CPU was running at only 600 MHz, but after replacing the battery, it returned to the factory speed of 1400 MHz.
This probably isn’t a planned obsolescence on the part of Apple, based on how the performance returns when a fresh battery is inserted. It appears that Apple has decided that it is more important for their customers to maintain a longer battery life rather than sustained performance. We can’t speak as to which option users would choose if given a choice, but we agree with Geekbench’s John Poole and The Verge when they say that this is more likely to cause users to believe it is time to replace their slow phone. Without the underclocking, users would be more likely to think it is time to replace the battery on their phone because of the need for frequent charging, or they would at least make the decision to sell the phone knowing what the real problem is.
If Apple is truly doing this by design, then they need to inform customers so they fully understand what their options are. Alternatively, they could provide a choice on phones that pass a certain level of battery wear, such as a toggle between ‘battery life mode’ and ‘performance mode’ which would override this underclocking, or to stop throttling devices so that the real problem is evident to consumers.
Note: These screenshots can't be verified. The creator claims that both screenshots show the maximum speed the CPU was clocking up to. He has also posted Geekbench 4 screenshots showing a similar before/after performance improvement. There are also a couple of other comments on the Twitter thread claiming that they noticed no difference after a battery replacement and that the iOS version had a larger impact on performance.
So it's true Apple intentionally slow down old iPhones. Proof: My iPhone 6 was bought 3years ago and recently got really slow. APP 'CPU DasherX' shows iPhone CPU is under clocked running at 600MHz. After a iPhone battery replacement. CPU speed resumed to factory setting 1400MHz. pic.twitter.com/pML3y0Jkp2— Sam_Si (@sam_siruomu) 20 December 2017