fzyzcjy / flutter_smooth

Achieve ~60 FPS, no matter how heavy the tree is to build/layout
https://fzyzcjy.github.io/flutter_smooth/
MIT License
1.52k stars 65 forks source link
dart flutter fps smooth

flutter_smooth

logo

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

🎼 3-second video

https://user-images.githubusercontent.com/5236035/196152010-09a2d829-c94c-48b4-80ed-0633430329ec.mp4

(left = without smooth, right = smooth; captured by external camera to maximally demonstrate end-user perception. High-resolution video here. Deliberately made it super janky for clear demonstration.)

📚 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:

🚀 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 :)

💭 Current status

Now I am working on pull requests to Flutter framework and engine (i.e. not directly modifying code in this repository), such that you can use this package with standard stable Flutter. An auto-generated list of PRs can be seen here, or conversations here.

Contributors

All Contributors

Thanks goes to these wonderful people (emoji key following all-contributors specification):

fzyzcjy
fzyzcjy

💻 📖 🤔
Ian Hickson
Ian Hickson

🤔
Dan Field
Dan Field

🤔
Jonah Williams
Jonah Williams

🤔
gaaclarke
gaaclarke

🤔
Nayuta403
Nayuta403

📖
pajlada
pajlada

📖

More specifically, thanks for all these contributions: