Why is Apple hiding its performance issues?

Following the badly-handled iPhone throttling controversy and a series of widely-reported bugs in iOS 11, senior people at Apple are finally being forced to acknowledge that something is going wrong with the fundamental quality of their products. But are we just talking about clumsy management and poor pre-release testing? Or is it possible that Apple's bugs are actually helping the company to mask a more damaging truth about the underlying performance and battery life of its phones, especially relative to Android-based rivals?

I can't prove whether it's deliberate or not, but I believe that Apple's recent software bugs are collectively and consistently reducing transparency about the way iPhones and iPads behave under real-world workloads. This lack of transparency is bad for consumers, who have to make increasingly blind purchasing decisions. It's also bad for app and game creators, who urgently need reliable performance metrics in order to deliver a good experience. And perhaps worst of all, it's bad for iOS as a platform, because hiding optimisation problems is the surest way of causing these problems to multiply down the road. After years of monitoring and rating the quality of mobile products, we at GameBench can already see this happening. 

Take power consumption for instance: Everyone knows that iOS 11 has had issues with excessive battery drain, but developers struggle to optimise their apps around this problem because of a long-standing bug that is preventing the iPhone 8 and iPhone X from showing their instantaneous energy usage. This energy metric used to be present in iOS developer tools, but now it's simply not working and it's been months since we reported the bug to Apple. This isn't a low-priority issue: we're talking about mobile here, so power consumption is critical to pretty much every user and that's why Android devices now spit out a brilliant array of power metrics (current, voltage, temperature etc.). 

Then there's excessive CPU usage, which is a major contributor not only to battery drain but also to poor performance (frame rate drops) and long wait-times in apps. Unlike Google, Apple has always preferred to hide the impact of CPU clock speed changes from developers, instead revealing only unnormalised CPU metrics that are of limited use for optimisation. But at least those unnormalised metrics were present and basically credible; nowadays, developers can't even rely on that. As of iOS 11, Apple's developer tools are suddenly reporting that CPU usage for all apps has dropped by an order of magnitude to levels that sound too good to be true. Only 1% of CPU usage to play Sonic Forces? Only 2% of CPU usage to play WWE: Champions? It doesn't seem plausible and yet there's no documentation from Apple to explain what this metric means or why it has changed. On paper though, Apple's CPUs are looking better than ever: rival Android devices use up to 12 percent of their CPUs to play these games.

Lastly, there's the issue of frame rate, which is an essential metric for developers who want to optimise the visual fluidity of their products. Good luck trying to get reliable frame rates out of Apple's newest devices: 120fps experiences on the iPad Pro are reported as 60fps, as are streaming video experiences that are quite clearly running at 24fps. And whereas Android makes it easy to reveal additional graphics metrics such as janks (which can cause visible stutters and laggy touch inputs), Apple does not. So it should come as no surprise that the top-of-range iPhone X has severe janks issues that prevent popular games like Mobile Legends from playing smoothly even at 30fps.

It wasn't always like this. Thanks to its Metal graphics API and a host of other initiatives, Apple set the standard for mobile gaming until very recently. Our report published at the end of 2015, entitled The Performance Gap, revealed a lead for iOS that looked unassailable. But this lead is evaporating and I think Apple's lack of transparency over performance and battery drain is a major culprit, because how can game developers optimise when they're kept in the dark? 

Hero Hunters widget.png

Take a look at GameBench's public ratings page and you'll see that newer games like Into the Dead 2 and Hero Hunters play with a better balance of performance and battery life on Android devices than they do on more expensive iPhones. Our battery ratings for Androids like the Samsung Galaxy S8 are nearly always green, showing they deliver more than five hours of gameplay, while iPhone ratings are nearly always yellow or red. It's only a matter of time before more consumers start to realise this, not least because GameBench ratings are now being shown on review sites like PocketGamer. Unless Apple is deliberately trying mislead developers and dodge transparency, then the solution is clear: Stop hiding behind bugs and start giving developers functioning, uncensored metrics to help them optimise their apps for your phones.