This reverts commit d43d35347594c893687dec7402a525d83f57db10.
Clear regression to the flutter_gallery_ios__transition_perf benchmarks:
* average_frame_build_time_millis: 1.4x
* missed_frame_build_budget_count: 1.2x
No regression seen for other iOS benchmarks (e.g. scrolling).
When checking whether render buffer size has changed, apply the device
scale factor used to convert points to pixels to ensure we're not
needlessly re-allocating render buffer storage.
Adds trace + debug log to make this easier to detect in future.
Originally introduced in 2d530daeca438ca24562d290616c0aec5ab76b88, but
rolled back in 0a6e415b60581ef7934032df20401da1fae9ea9f to test whether
it was responsible for regressions to
flutter_gallery_ios__transition_perf benchmarks:
* average_frame_build_time_millis
* missed_frame_build_budget_count
This reverts commit 2d530daeca438ca24562d290616c0aec5ab76b88 as it looks
like a potential cause of performance benchmark regressions on
https://flutter-dashboard.appspot.com/benchmarks.html:
- flutter_gallery_ios__transition_perf average_frame_build_time_millis
- flutter_gallery_ios__transition_perf missed_frame_build_budget_count
* Don't crash if there is only a single SemanticsNode
Previously, the code assumed that the root SemanticsNode will allways have a child. This is not true as can be seen in the hello_world example app, which would crash when a11y is turned on.
* review comment
By adding these events the new developer centric timeline will be able
to identify and correlate events related to the different stages of the
drawing pipeline.
Roll Dart to 62045a4590a333ae557f8f261a909ee75449cd70
Skia tracing is extremely useful for internal debug, but reduces the
amount of space available in the Dart Timeline buffers.
Disable skia tracing by default and expose them via the --trace-skia
flag.
* Fix remaining ftl->fxl conversions
The previous scripting pass at this did not account for objective c file endings
* Update tonic DEPS reference to the post-fxl version
A node is considered focusable if it contains information that is interesing to the user. A node that doesn't add any semantic information of its own should not be focusable. It's expected that such a node has children, who have smeantics information and are therefore focusable.
Fixes https://github.com/flutter/flutter/issues/11179
- Assumes only the Dart VM is interested in idle notification.
- Gives the VM the time remaining in each frame.
- Gives the VM 100ms if there is no pending frame.
Issue flutter/flutter#9594