System Animation Frame Rate Changes in iOS 12
Apple introduced iOS 12 with an intense focus on system responsiveness and performance optimization, particularly on older devices. Rather than altering the target frame rates of 60 frames per second (fps) on standard displays or 120 fps on ProMotion displays, iOS 12 fundamentally restructured how the operating system handles processor frequency scaling to consistently maintain those frame rates without dropping frames or stuttering during animations.
Immediate CPU Clock-Speed Ramp
Prior to iOS 12, the mobile operating system relied on a conservative CPU governor curve. When an animation was triggered—such as opening an app, bringing up the keyboard, or flicking to scroll—the processor ramped up its clock speed gradually. This ramp-up delay frequently caused the first few frames of an animation to render late, leading to visible micro-stutters and dropped frames known as "hitching."
iOS 12 changed this dynamic behavior. The system was modified to spike the CPU to its maximum performance state the exact millisecond an input or animation is triggered. Once the workload completes and the animation stabilizes, the CPU scales back down rapidly to preserve battery life. By delivering burst power up front, the rendering thread has sufficient processing power to draw every single frame on time, ensuring consistent 60 fps rendering from the first millisecond of interaction.
Optimized Frame Consistency Across Core Animations
By preventing initial frame drop, iOS 12 dramatically improved frame rate stability across several primary system transitions:
- App Launches and Multitasking: The zoom animation when opening apps achieved sustained 60 fps delivery, eliminating the visual stutter that previously occurred when the app window expanded from an icon.
- Keyboard Deployment: The animation showing the software keyboard sliding up from the bottom of the display was optimized to render up to 50% faster, maintaining a solid 60 fps throughout the entire upward travel.
- Camera from Lock Screen: Swiping from the lock screen to the camera interface removed the transition lag, sustaining consistent animation pacing.
- Scrolling in Heavy Apps: iOS 12 prioritized the main UI rendering thread during scrolling motions, preventing background operations from stealing compute cycles and causing frame pacing jitter in list-heavy applications like Safari, Mail, and Social Feeds.
Preservation of ProMotion Refresh Rates
For devices equipped with ProMotion hardware, such as the iPad Pro, iOS 12 improved the transition thresholds of the variable refresh rate engine. The dynamic scaling between 24Hz, 48Hz, 60Hz, and 120Hz was synchronized more tightly with touch detection. As soon as a finger contacted the display, the refresh pipeline immediately locked to 120Hz, ensuring animations and pencil-input tracking maintained absolute smoothness without transitional stutter.