[Update: Developer Guilherme Rambo has discovered the software system, powerd (short for power daemon), that Apple put in place in iOS 10.2.1. powerd controls CPU/GPU speed and power. It also responds to thermal pressure and helps iPhones from catching fire.
Since powerd was first released in 10.2.1, this looks to be separate from the Low Power Mode feature and directly related to the performance and battery age issues.]
Last week we reported on the news that a new battery could solve performance issues with older iPhone models like the 6s. Today, Geekbench founder, John Poole, published an article describing his findings after diving deeper into the relationship between iPhone performance and battery age.
The Reddit thread that gained a lot of traction with comments from almost 1,000 users included some insightful ideas about what could be happening.
Many people might remember that iPhone 6S battery fiasco, which for many, was fixed with iOS 10.2.1, and that seemed to be the end of it. Apparently, the way it did this is by dynamically changing the maximum clock speed relative to the voltage that the battery is outputting, so that your phone can’t draw too much power and shut down.
While Apple at first thought the battery issues were limited, it later released an update for the widespread problem.
Apple said that more users were affected than it initially thought, and said a fix was coming in the form of a software update. The company eventually released iOS 10.2.1 and touted that shutdowns were reduced by 80 percent on iPhone 6s devices and by 70 percent on iPhone 6 devices.
While many individuals used Geekbench to test out their own devices, founder John Poole set out to do his own in-depth testing to look into the relationship between iPhone performance and battery age.
To answer these questions I’ve plotted the kernel density of Geekbench 4 single-core scores for the iPhone 6s and the iPhone 7 running different versions of iOS. Scores obtained in low-power mode are not included in the distribution.
As can be seen in the results above, Poole notes that the issues become pronounced moving from 10.2.0 to 10.2.1 to 11.2.0.
When it came to the iPhone 7, the issue didn’t appear to be present, until the test with iOS 11.2.
Poole concludes that the performance issues will increase over time and are caused by both battery age and changes to iOS.
First, it appears the problem is widespread, and will only get worse as phones (and their batteries) continue to age. See, for example, the difference between the distribution of iPhone 6s scores between 10.2.1 and 11.2.0.
Second, the problem is due, in part, to a change in iOS. The difference between 10.2.0 and 10.2.1 is too abrupt to be just a function of battery condition. I believe (as do others) that Apple introduced a change to limit performance when battery condition decreases past a certain point.
Poole believes that Apple added a software adjustment for iPhone 7 with iOS 11.2, similar to what it did to correct the iPhone 6s shutdown issues with 10.2.1. He goes on to share Apple may have created a misleading “third state” of slower iPhone performance without any notification that could convince users to upgrade their devices earlier than planned.
If the performance drop is due to the “sudden shutdown” fix, users will experience reduced performance without notification. Users expect either full performance, or reduced performance with a notification that their phone is in low-power mode. This fix creates a third, unexpected state. While this state is created to mask a deficiency in battery power, users may believe that the slow down is due to CPU performance, instead of battery performance, which is triggering an Apple introduced CPU slow-down. 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 obsolecense” narritive.
Read Geekbench founder, John Poole’s full article here.