Giter Site home page Giter Site logo

bugrevealingbme / flutter_smooth Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fzyzcjy/flutter_smooth

0.0 0.0 0.0 7.91 MB

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

Home Page: https://fzyzcjy.github.io/flutter_smooth/

License: MIT License

JavaScript 3.26% Ruby 0.99% C++ 5.82% Python 9.55% C 0.40% Objective-C 0.96% Java 0.83% Kotlin 0.38% Dart 70.93% TypeScript 0.30% CSS 0.40% Swift 0.49% HTML 0.51% CMake 5.20%

flutter_smooth's Introduction

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 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 SmoothListView, MaterialPageRoute 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 documentaiton - 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 :)

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

๐Ÿ“–

More specifically, thanks for all these contributions:

  • @Hixie (Flutter team): Consider details of my several proposals to the Flutter framework/engine such as requiring zero-overhead principle. Construct concrete cases when the initial proposal becomes fragile.
  • @dnfield (Flutter team): Provide a canonical janky case inside Flutter framework to help prototyping. Point out slowness of sync generators which avoids detouring.
  • @jonahwilliams (Flutter team): Elaborate shortcomings of the old gesture system proposal (later I made a much more natural one).
  • @gaaclarke (Flutter team): Share his pet theory that slowness is caused by memory locality, indicating another potential application of the package.
  • @Nayuta403: Fix link.

flutter_smooth's People

Contributors

fzyzcjy avatar allcontributors[bot] avatar nayuta403 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.