Back to results for “Fundamentals”
Flutter › Flutter Performance Optimization

What does frame rate genuinely mean in the context of a Flutter app, and why is consistently maintaining roughly sixty frames per second generally considered the ideal, genuinely smooth target for typical mobile devices?

Beginner

Answer

Frame rate refers to exactly how many individual complete frames your app can actually successfully render and display every single second, and consistently maintaining a rate of roughly sixty frames per second, meaning each individual frame needs to be fully rendered within roughly sixteen milliseconds, is generally considered the standard, ideal target for a genuinely smooth, fluid feeling animation and scrolling experience on most typical mobile devices, and whenever a specific frame actually takes noticeably longer than that available sixteen millisecond budget to properly render, the resulting visible stutter is generally referred to as jank, which users can genuinely and quite easily notice, particularly during scrolling or animation.
// Enabling the performance overlay to visually monitor frame rendering times
MaterialApp(showPerformanceOverlay: true)
Real-world example A shopping app's product list noticeably stutters while actively scrolling, and the development team specifically discovers through careful performance profiling that several individual frames were genuinely taking well over thirty milliseconds each to properly render, considerably exceeding their available sixteen millisecond ideal target budget.

Common follow-ups: What specifically causes a single frame to actually exceed its available sixteen millisecond rendering budget?;How does frame rate expectation genuinely differ on devices that actually support a higher refresh rate, such as one hundred and twenty hertz?