Code Monkey home page Code Monkey logo

performance's Introduction

performance Pub version demo badge Twitter Follow

Performance overlay for Flutter apps that works on web.

sample

Reading the charts

You can read the charts in the performance overlay like this:

  • Every bar represents a single frame.
  • The height of each bar represents the total time it took to render the frame.
  • The line indicates the target frame time (e.g. 16ms for 60 FPS) and frames that cross that line turn red.
  • The overlay is divided into three charts.
    • UI: the time it takes the UI to build.
    • Raster: the time it takes to rasterize the frame.
    • High latency: the total time between vsync start and raster finish, i.e. the time it takes from an input to seeing the next frame.
  • The "max" value shows how long the worst sample in the displayed range took.
  • The "avg" value represents the average of all samples in the displayed range.
  • The displayed FPS value indicates the best logically possible number of frames that could have been rendered per second. This might not be the actual value, but the actual value is definitely not greater than this. This is computed based on the average.

Limitations

The package is based on the FrameTiming API. Everything documented there applies. This should correspond one to one with the values you see in the framework performance overlay on mobile and on native desktop. So if you like how this looks better, you can also use this package on mobile and native desktop :)

On web, however, it shows somewhat limited data. This is because performance data from the GPU on web is not available in the FrameTiming instances (which would be part of the raster duration on native). What is included in the raster duration on web are only parts of what is done on the GPU thread on native (due to limitations on the web which require running the computations on the UI thread). If you want to access the GPU performance data, you can use Chrome DevTools or chrome://tracing for example.

Repo structure

This repo currently contains the following packages:

Package Contents
performance The actual performance Flutter package for the performance overlay that is also hosted on Pub.

performance's People

Contributors

creativecreatorormaybenot avatar github-actions[bot] avatar valentinvignal 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.