* Add test case for Flutter Issue #27677 as a benchmark.
See https://github.com/flutter/flutter/issues/27677
I got the following results running the test on a Moto E2 which
will help us determine how much we can gain by analyzing the
operations and eliminating unnecessary repaints based on
dirty rectangles/regions.
no blurs - avg 216.0 fps over 3 samples
blur the group - avg 22.9 fps over 3 samples
blur each txt - avg 3.4 fps over 3 samples
* Added the new benchmark to be tracked on the dashboard.
* Merge in changes for inline widgets
* Make analyzer happy, fix tests
* Fix analyzer
* Add missing doc
* Docs on RichText
* Fix analyzer some more
* Remove whitespace at end of line
* Update goldens
* Text fixes
* Analyzer
* Clean up some flutter_tools tests
* Remove arbitrary retry that happens even for fundamental errors, and generally clean up _DevFSHttpWriter.
* Update dependencies (requires fixes; see next commit)
* Fixes for new dependencies.
This is a re-land of #31561, after fixing performance regressions.
Added change listening to the MouseTracker so that the Listener and tooltip can react to whether or not a mouse is connected at all. Added a change check to make sure Listener only repaints when something changed.
Fixes#22817
* add trailing commas on list/map/parameters
* add trailing commas on Invocation with nb of arg>1
* add commas for widget containing widgets
* add trailing commas if instantiation contains trailing comma
* revert bad change
## Description
This moves another 15-20ms from the animation jank of one of our important client to the startup latency. Unfortunately, this is probably not captured in our current benchmarks (presumably some other bottlenecks overshadow this shader compilation in the worst_frame benchmark). Considering that drawing images is such a common operation, maybe we should add one in the future to benchmark this.
We need this PR to land soon for our client because this changes the API to return Future.
## Related Issues
https://github.com/flutter/flutter/issues/813
This reverts commit adc8e159a548121a45ff7a45b4e556aff998d4bd.
This should be safe to land once https://github.com/flutter/flutter/pull/28530 gets merged
Merge on yellow doc test because the doc test is actually green.
This reverts commit a44f174efc218ac1b4b94b9d77dafdb5dfea1432.
Reason: start_up tests become flaky.
See https://github.com/flutter/flutter/issues/28374
TBR: xster
Merge on red to fix the tree
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`).