Apple says it is working to fix an issue that is preventing iPhone 13 Pro from running animations in third-party apps at 120Hz and limiting them to 60Hz
One of the biggest new features exclusive to the iPhone 13 Pro and iPhone 13 Pro Max this year is the inclusion of high-refresh rate displays, or what Apple calls “ProMotion.”
9to5MacBenjamin Mayo
Context & Ripple Effects
Apple positioned the iPhone 13 Pro line around ProMotion’s 10Hz-to-120Hz refresh range at launch. The newly identified third-party-app limitation leaves that differentiator unevenly delivered at the point when developers and early buyers are testing it.
First-order effects
Apple must close a gap between the iPhone 13 Pro’s advertised display capability and the animation behavior available to third-party apps.
Third-party iPhone developers are currently limited to 60Hz animations on affected Pro models, preventing their apps from matching the hardware’s top refresh rate.
Second-order effects
The issue makes animation smoothness dependent on whether users are in Apple software or third-party software, raising the practical importance of Apple’s fix for app makers’ user experience.
Early iPhone 13 Pro buyers receive an inconsistent version of the ProMotion benefit until Apple resolves the limitation, rather than a uniformly available 120Hz experience.
Third-order effects
The episode underscores that premium hardware features are delivered through the operating system and the developer ecosystem, not the device specification alone.
If similar integration defects recur, Apple’s software-update cadence becomes a more important part of how developers and buyers assess new iPhone capabilities.
The trend: Premium smartphone differentiation is increasingly contingent on coordinated hardware, operating-system, and third-party-app support.
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? https://twitter.com/...
There is a workaround for the 60fps frame rate cap on iPhone 13 Pro. Set CADisableMinimumFrameDurationOnPhone to true in your Info.plist. https://developer.apple.com/ ... https://twitter.com/...
I hope what was genuinely an innocent dev question didn't make anyone at Apple's Friday harder than it needed to be, and sorry if I did. I'm sure Apple will fix it. https://twitter.com/...
Looks like there's a new API/plist key to uncork 120Hz animations on iPhone 13 Pro for apps! ‘CADisableMinimumFrameDurationOnPhone’: https://developer.apple.com/ ... I can only get it working with CADisplayLink and SceneKit though, still doesn't seem to work with UIView/CALayer.
@jamesthomson Right? Was legitimately just trying to find an answer but things go places you didn't think they would. ;_; And Apple's really good about this stuff so I don't think there's much reason for concern.
Interestingly, while Dice can detect the 120Hz display of the iPhone 13 Pro Max, and I'm requesting 120Hz output from SceneKit, I don't see anything above 60Hz. Not so on an iPad Pro running the same code. I'm guessing/hoping that's a bug... https://twitter.com/...
@MishaalRahman @RyneHager The fact that they didn't give this to developers earlier is a perfect example of how Apple's obsession with secrecy hurts them and the market.
Update: Apple says Core Animation frame rate bug will be fixed in future OS update. Documentation on opt-in plist key is coming soon (I dunno why it wasn't ready last week with the RC) https://9to5mac.com/...
This is a really weird situation and still not 100% sure if it's a bug or intentional — but on iPhone 13 Pro most animations in third-party apps are limited to 60Hz, and iOS seems to specifically exempt Apple's apps from this limit. https://9to5mac.com/...