1. 23 Jun, 2023 17 commits
  2. 22 Jun, 2023 21 commits
  3. 21 Jun, 2023 2 commits
    • engine-flutter-autoroll's avatar
      Roll Flutter Engine from 090fae83548a to 08aaa88bf67f (3 revisions) (#129306) · ae1e6f70
      engine-flutter-autoroll authored
      https://github.com/flutter/engine/compare/090fae83548a...08aaa88bf67f
      
      2023-06-21 mark@lazycat.hu Enabling pre-push checks on Windows (flutter/engine#36123)
      2023-06-21 godofredoc@google.com Document the use of contexts on engine_v2 tests. (flutter/engine#43013)
      2023-06-21 godofredoc@google.com Generate treemap. (flutter/engine#43029)
      
      If this roll has caused a breakage, revert this CL and stop the roller
      using the controls here:
      https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
      Please CC jsimmons@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
      is aware of the problem.
      
      To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
      
      To report a problem with the AutoRoller itself, please file a bug:
      https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
      
      Documentation for the AutoRoller is here:
      https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
      ae1e6f70
    • Yegor's avatar
      [framework,web] add FlutterTimeline and semantics benchmarks that use it (#128366) · 07772a3d
      Yegor authored
      ## FlutterTimeline
      
      Add a new class `FlutterTimeline` that's a drop-in replacement for `Timeline` from `dart:developer`. In addition to forwarding invocations of `startSync`, `finishSync`, `timeSync`, and `instantSync` to `dart:developer`, provides the following extra methods that make is easy to collect timings for code blocks on a frame-by-frame basis:
      
      * `debugCollect()` - aggregates timings since the last reset, or since the app launched.
      * `debugReset()` - forgets all data collected since the previous reset, or since the app launched. This allows clearing data from previous frames so timings can be attributed to the current frame.
      * `now` - this was enhanced so that it works on the web by calling `window.performance.now` (in `Timeline` this is a noop in Dart web compilers).
      * `collectionEnabled` - a field that controls whether `FlutterTimeline` stores timings in memory. By default this is disabled to avoid unexpected overhead (although the class is designed for minimal and predictable overhead). Specific benchmarks can enable collection to report to Skia Perf.
      
      ## Semantics benchmarks
      
      Add `BenchMaterial3Semantics` that benchmarks the cost of semantics when constructing a screen full of Material 3 widgets from nothing. It is expected that semantics will have non-trivial cost in this case, but we should strive to keep it much lower than the rendering cost. This is the case already. This benchmark shows that the cost of semantics is <10%.
      
      Add `BenchMaterial3ScrollSemantics` that benchmarks the cost of scrolling a previously constructed screen full of Material 3 widgets. The expectation should be that semantics will have trivial cost, since we're just shifting some widgets around. As of today, the numbers are not great, with semantics taking >50% of frame time, which is what prompted this PR in the first place. As we optimize this, we want to see this number improve.
      07772a3d