Software Engineering & Digital Products for Global Enterprises since 2006
CMMi Level 3SOC 2ISO 27001
Menu
View all services
Staff Augmentation
Embed senior engineers in your team within weeks.
Dedicated Teams
A ring-fenced squad with PM, leads, and engineers.
Build-Operate-Transfer
We hire, run, and transfer the team to you.
Contract-to-Hire
Try the talent. Convert when you're ready.
ForceHQ
Skill testing, interviews and ranking — powered by AI.
RoboRingo
Build, deploy and monitor voice agents without code.
MailGovern
Policy, retention and compliance for enterprise email.
Vishing
Test and train staff against AI-driven voice attacks.
CyberForceHQ
Continuous, adaptive security training for every team.
IDS Load Balancer
Built for Multi Instance InDesign Server, to distribute jobs.
AutoVAPT.ai
AI agent for continuous, automated vulnerability and penetration testing.
Salesforce + InDesign Connector
Bridge Salesforce data into InDesign to design print catalogues at scale.
View all solutions
Banking, Financial Services & Insurance
Cloud, digital and legacy modernisation across financial entities.
Healthcare
Clinical platforms, patient engagement, and connected medical devices.
Pharma & Life Sciences
Trial systems, regulatory data, and field-force enablement.
Professional Services & Education
Workflow automation, learning platforms, and consulting tooling.
Media & Entertainment
AI video processing, OTT platforms, and content workflows.
Technology & SaaS
Product engineering, integrations, and scale for tech companies.
Retail & eCommerce
Shopify, print catalogues, web-to-print, and order automation.
View all industries
Blog
Engineering notes, opinions, and field reports.
Case Studies
How clients shipped — outcomes, stack, lessons.
White Papers
Deep-dives on AI, talent models, and platforms.
Portfolio
Selected work across industries.
View all resources
About Us
Who we are, our story, and what drives us.
Co-Innovation
How we partner to build new products together.
Careers
Open roles and what it's like to work here.
News
Press, announcements, and industry updates.
Leadership
The people steering MetaDesign.
Locations
Gurugram, Brisbane, Detroit and beyond.
Contact Us
Talk to sales, hiring, or partnerships.
Request TalentStart a Project
Mobile Development

Achieve 120 FPS UI on iPhone 16 Pro & Pixel 10 Without Device-Specific Code

GS
Girish Sagar
Technical Content Writer
July 24, 2025
6 min read
Achieve 120 FPS UI on iPhone 16 Pro & Pixel 10 Without Device-Specific Code — Mobile Development | MetaDesign Solutions

Introduction

In a world where flagship phones push 120Hz displays, users expect buttery-smooth animations. Whether on an iPhone 16 Pro or a Pixel 10, even a momentary lag can break immersion. The biggest culprit? Unoptimized rendering pipelines.

This blog explores eliminating frame drops and achieving 120 FPS without resorting to per-device hacks, using tools like Impeller, Flutter's concurrency model, and real-world tuning strategies.

Understanding Frame Drops

Devices like the iPhone 16 Pro and Pixel 10 support 120Hz refresh, meaning your app must deliver 120 frames per second — that's ~8.33 ms per frame. Common bottlenecks include:

  • Heavy layout rebuilds
  • Shader compilation delays
  • CPU-GPU synchronization stalls
  • Poor asset loading strategies

Rule of thumb: If your build() method exceeds 4 ms or you block the main thread, 120 FPS is impossible.

Introducing Impeller: Flutter's GPU-First Engine

Flutter's Impeller engine is purpose-built to eliminate runtime shader compilation and pre-render ahead of time. Key features include:

  • GPU-accelerated via Metal (iOS) and Vulkan (Android)
  • Predictable frame pacing
  • Eliminates first-frame jank
  • Rich diagnostics via DevTools

Both iPhone 16 Pro and Pixel 10 benefit from Impeller's zero-compilation path.

Best Practices for 120 FPS Without Device Hacks

  • Widget Tree Optimization: Use const constructors, minimize rebuild areas with ValueListenableBuilder/BlocBuilder, and avoid deeply nested widgets.
  • RepaintBoundary: Segment animations and UI regions that update independently to prevent cascading rebuilds.
  • Preload and Cache Assets: Use precacheImage() during splash/init and compress images with cacheWidth/cacheHeight.
  • Avoid Layout Thrashing: Animate transform or opacity instead of position or padding.
  • Throttle Expensive Operations: Debounce user input and use Isolate or compute() for CPU-heavy tasks.

Real-World Benchmark: 120 FPS in Action

A fitness tracker app with live animations was tested on iPhone 16 Pro and Pixel 10:

  • Original: 89–100 FPS with animation lag
  • Optimized: Impeller enabled, repaint boundaries added, lazy loading images
  • Result: 120 FPS sustained, no dropped frames in animation test loop

Transform Your Publishing Workflow

Our experts can help you build scalable, API-driven publishing systems tailored to your business.

Book a free consultation

Conclusion

You don't need device-specific hacks to deliver top-tier performance. With Flutter + Impeller, intelligent widget structuring, and platform-aware asset handling, you can hit 120 FPS consistently on the most demanding devices.

Profiling and Diagnosing Frame Drops at 120fps

At 120fps, each frame has only 8.33ms to render — half the budget of 60fps. Common causes of frame drops include: main thread JavaScript execution blocking UI updates, complex layout calculations triggered by dynamic content, image decoding on the main thread, and excessive re-renders from unoptimized state management.

Profiling tools: use React Native's Performance Monitor overlay to track JS and UI frame rates separately. For deeper analysis, Flipper's Performance plugin shows frame-by-frame timing, while Xcode Instruments (iOS) and Android Studio Profiler provide native-level frame timing data. Focus on P95 frame times rather than averages — occasional frame drops are more perceptible than consistent slight slowness.

MetaDesign Solutions: Mobile Performance Optimization

MetaDesign Solutions optimizes mobile applications for 120fps performance on modern devices — from React Native and Flutter apps to native iOS and Android applications. Our mobile performance engineers profile frame rendering, optimize animation pipelines, and implement architecture patterns that maintain smooth UI performance at scale.

Services include mobile app performance auditing, 120fps optimization for ProMotion and LTPO displays, animation pipeline optimization, memory and battery usage optimization, and ongoing performance monitoring integration. Contact MetaDesign Solutions to deliver buttery-smooth 120fps experiences on flagship devices.

FAQ

Frequently Asked Questions

Common questions about this topic, answered by our engineering team.

Impeller is Flutter's GPU-first rendering engine that eliminates runtime shader compilation, providing predictable frame pacing and eliminating first-frame jank on both iOS (Metal) and Android (Vulkan).

At 120 FPS, each frame must be rendered in ~8.33 ms compared to ~16.67 ms at 60 FPS. This halved time budget means any inefficiency in layout, painting, or asset loading becomes a visible frame drop.

No. Using universal optimization techniques like Impeller, const constructors, RepaintBoundary, and asset preloading, you can achieve 120 FPS on both platforms without device-specific code.

Use Flutter DevTools' Frame Chart and Performance Overlay to identify frame jank spikes, shader compilation delays, build/layout/paint timing, and asset loading blocks.

No. Both iOS ProMotion and Android LTPO displays automatically render at higher refresh rates when the app is capable. Focus on universal performance optimization: offload animations to the native driver, minimize main thread work, use efficient list virtualization, and avoid synchronous layout calculations. These optimizations benefit all devices regardless of refresh rate.

Discussion

Join the Conversation

Ready when you are

Let's build something great together.

A 30-minute call with a principal engineer. We'll listen, sketch, and tell you whether we're the right partner — even if the answer is no.

Talk to a strategist
Need help with your project? Let's talk.
Book a call