flutter/dev/benchmarks/macrobenchmarks
liyuqian a44f174efc
Shader warm up (#27660)
This patch adds a default shader warm up process which moves shader compilation from the animation time to the startup time. This also provides an extension for `runApp` so developers can customize the warm up process.

This should reduce our worst_frame_rasterizer_time_millis from ~100ms to ~20-30ms for both flutter_gallery and complex_layout benchmarks. Besides, this should also have a significant improvement on 90th and 99th percentile time (50%-100% speedup in some cases, but I haven't tested them thoroughly; I'll let our device lab collect the data afterwards).

The tradeoff the is the startup time (time to first frame). Our `flutter run --profile --trace-startup` seems to be a little noisy and I see about 100ms-200ms increase in that measurement for complex_layout and flutter_gallery. Note that this only happens on the first run after install or data wipe. Later the Skia persistent cache will remove the overhead.

This also adds a cubic_bezier benchmark to test the custom shader warm up process.

This should fix https://github.com/flutter/flutter/issues/813 (either by `defaultShaderWarmUp`, or a `customShaderWarmUp`).
2019-02-22 15:37:02 -08:00
..
android Revert "Upgrade the Gradle script to Android plugin version 3.3.0 (#26913)" (#27045) 2019-01-24 14:29:08 -08:00
ios Roll engine to 05fee4eeee0ff6b219b1fcc394371e5f6963cc46 (#26713) 2019-01-21 21:23:04 -08:00
lib Shader warm up (#27660) 2019-02-22 15:37:02 -08:00
test_driver Shader warm up (#27660) 2019-02-22 15:37:02 -08:00
pubspec.yaml Reland #27754, now that bsdiff has moved to flutter/packages. (#28291) 2019-02-21 21:59:41 -08:00
README.md Add cull opacity perf test to device lab (#25381) 2018-12-17 22:01:07 -08:00

Macrobenchmarks

Performance benchmarks using flutter drive.

Cull opacity benchmark

To run the cull opacity benchmark on a device:

flutter drive --profile test_driver/cull_opacity_perf.dart

Results should be in the file build/cull_opacity_perf.timeline_summary.json.

More detailed logs should be in build/cull_opacity_perf.timeline.json.