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`).
* Add ability to set shadow color for chips and for chip themes
* Add selected shadow color as a property as well
* Update phrasing of documentation
* Address PR feedback
The wrapping for some commands was never actually turned on, so this turns it on.
Also, it shortens the `valueHelp` for the `--sample` option to be just "id" instead of "the sample ID of the desired sample from the API documentation website (http://docs.flutter.io)", which was causing the line to get far too long.
Fixes#23074
This reverts commit 1c021506df.
The pre-commit tests never actually ran, so it looked green when it wasn't. This breaks 16 tests that depend on the argument existing, even though it isn't actually used.
* Add outer try block for obtainKey errors. Add docs.
* change to // from ///, and do specific error handling
* Add return statement after error
* Add test
033f2072c3...163a2fd5e1
git log 033f2072c315d48b4d7680d4cbbe856012b1259b..163a2fd5e140d10a30645e73031054ef39105d87 --no-merges --oneline
163a2fd5e Revert "Android embedding refactor pr3 add remaining systemchannels (#7738)" (flutter/engine#7849)
0d6ff1669 Shut down and restart the Dart VM as needed. (flutter/engine#7832)
256db4bc2 Android embedding refactor pr3 add remaining systemchannels (flutter/engine#7738)
02d7ca31d Don't call static method from instance variable (flutter/engine#7841)
10cee612b Delete GL textures when they are released from the texture registry. (flutter/engine#7836)
69e460607 Fix NullPointerException in SurfaceTextureRegistryEntry (flutter/engine#7837)
9a965bc3d Fix NullPointerException in ResourceCleaner (flutter/engine#7838)
2acd79480 Add fml::FileExists implementation for Windows (flutter/engine#7845)
fa38a985c Update buildroot to 7f64ff4928e to unblock Mac builds. (flutter/engine#7846)
1ba329550 Add support for calling into other plugins from a background context on iOS (flutter/engine#7843)
df2fc973a Roll src/third_party/skia 154acd7a1374..be9aff25bddc (13 commits) (flutter/engine#7842)
0ca1d1f31 Remove the Dart JIT snapshot data from AOT builds of the embedder library (flutter/engine#7806)
c51ea4157 Roll src/third_party/skia 7a74c7cb6da0..154acd7a1374 (1 commits) (flutter/engine#7840)
ecbaea10a Ensure to pass dill file after VM options for gen_snapshot (flutter/engine#7839)
5d3f7145a Roll src/third_party/skia b00f7b34751b..7a74c7cb6da0 (1 commits) (flutter/engine#7835)
733739938 Roll src/third_party/skia 9a88bee122f1..b00f7b34751b (24 commits) (flutter/engine#7831)
6f318efe0 Move up ndk version that is being downloaded(old one no longer available) (flutter/engine#7830)
a8aa1ee06 Track flow id (flutter/engine#7826)
b1ce6b72f Roll src/third_party/skia a0dcd29f536b..9a88bee122f1 (4 commits) (flutter/engine#7825)
dbc166387 Roll src/third_party/skia 6152470dc69e..a0dcd29f536b (2 commits) (flutter/engine#7824)
942677695 Roll src/third_party/skia 4037f7f5d8b4..6152470dc69e (1 commits) (flutter/engine#7823)
e2394ad77 Add flow events connecting pointer events to frames (flutter/engine#7807)
0a5a7c56d Roll src/third_party/skia 09c01e9df260..4037f7f5d8b4 (3 commits) (flutter/engine#7821)
b867f4858 Roll src/third_party/skia 186669c4128b..09c01e9df260 (5 commits) (flutter/engine#7820)
af39e22c3 Fix tests that were committed after cirrus ran (flutter/engine#7819)
1f2cbf792 Roll src/third_party/dart 0a7dcf17eb..c92d5ca288 (64 commits)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
the roller if necessary.