It turned out that third-party app animations cannot take advantage of the new iPhone 13 Pro ProMotion displays that allow for adaptive refresh rates from 10Hz to 120Hz, while Apple’s own apps have no such limitations. Third-party apps can scroll and perform full-screen transitions at 120Hz but the animations in these apps dial the refresh rate down to 60Hz, which does not provide the best user experience.
Apple has acknowledged this as a bug and third-party apps should be able to take advantage of the 120Hz PromMotion refresh rate by adding an entry to the app’s plist. It is unclear whether Apple missed this out before, as the company says that it will be providing updated documentation to developers with details of the required plist entry, as shared by MacRumors.
Developers will have to manually enable 120Hz ProMotion animations support
The issue was initially noticed by developer Christian Selig, who makes the popular Apollo app for Reddit.
Am I correct in seeing that UIView.animateWithDuration APIs aren't clocked at 120Hz on iPhone 13? On UIScrollView, system ones, and Metal by the looks of it, rest is still 60Hz? pic.twitter.com/t3MeM9cj0E
— Christian Selig (@ChristianSelig) September 24, 2021
As noted by 9to5Mac, James Thomson, the developer behind PCalc app, tweeted a workaround that requires setting CADisableMinimumFrameDurationOnPhone to true in the app’s Info.plist. However, it was unclear whether Apple’s App Review team would approve this as it is an undocumented entry.
— James Thomson (@jamesthomson) September 24, 2021
Thomson later tweeted that the plist key would be officially documented soon. The reason that Apple has made this opt-in and not default is to save battery life. The company will also be fixing a bug in Core Animation frame rate in an upcoming software update.
I got some details on the ProMotion stuff on iPhone. In short, the key I mentioned is due to be officially documented soon, but is intended as an opt-in thing to save battery life. There is also a bug affecting Core Animation frame rate which will be fixed in an upcoming release.
— James Thomson (@jamesthomson) September 25, 2021
While it makes sense that Apple wants to make 120Hz animations opt-in for third-party developers, it does not make sense that the company’s all apps all default to the high refresh rate. This gives the apps a smooth user experience at the cost of battery life, while all third-party developers have to put in some effort to ensure their apps can be on the same level.
It is important to note that Apple did not do this with iPad Pro, which has supported 120Hz ProMotion tech since 2017. Third-party apps could automatically take advantage of smooth animations at 120Hz. So this seems to be a specific optimization only for iPhone 13 Pro only.