Achieve ~60 FPS, no matter how heavy the tree is to build/layout

  Flutter App, Layout

flutter_smooth

logo

Achieve ~60 FPS, no matter how heavy the tree is to build/layout.

🎼 3-second video

 output_small.mp4 

(left = without smooth, right = smooth; captured by the external camera to maximally demonstrate end-user perception. High-resolution video here.)

📚 1-minute explanation

Purpose

No matter how heavy the tree is to build/layout, it will run at (roughly) full FPS, feel smooth, has zero uncomfortable janks, with negligible overhead. (Detailed reports here)

Usage

Two possibilities:

  • Drop-in replacements: For common scenarios, add 6 characters (“Smooth”) – ListView becomes SmoothListViewMaterialPageRoute becomes SmoothMaterialPageRoute.
  • Arbitrarily flexible builder: For complex cases, use SmoothBuilder(builder: ...) and put whatever you want to be smooth inside the builder.

🚀 What’s next

The documentation – https://fzyzcjy.github.io/flutter_smooth/, with usage, demo, benchmark, insights, and more.

Note Feel free to create an issue if you have any questions/problems. I usually reply quickly within minutes if not hours, except for sleeping 🙂

Download and/or contribute to this package on GitHub

Achieve ~60 FPS, no matter how heavy the tree is to build/layout
https://github.com/fzyzcjy/flutter_smooth
66 forks.
1,540 stars.
31 open issues.

Recent commits: