Added a new `FlutterEngineAOTData` argument to `FlutterProjectArgs`. Embedders can instantiate and destroy this object via the new `FlutterEngineCreateAOTData` and `FlutterEngineCollectAOTData` methods provided.
If an embedder provides more than one source of AOT data to `FlutterEngineInitialize` or `FlutterEngineRun` (e.g. snapshots as well as `FlutterEngineAOTData`), the engine will error out.
Resolves: https://github.com/flutter/flutter/issues/50778
This reverts commit a7a25d3b57f2066798ef8cd43600588e4697c9cd and relands our reland https://github.com/flutter/engine/pull/17915.
Additionally, we fixed the cull rect logic in `OpacityLayer::Preroll` which is the root cause of https://github.com/flutter/flutter/issues/56298. We've always had that root problem before but it did not trigger performance issues because we were using the OpacityLayer's `paint_bounds`, instead of its child's `paint_bounds` for preparing the layer raster cache. A correct handling of the cull rect should allow us to cull at any level.
It also turns out that our ios32 (iPhone4s) performacne can regress a lot
without snapping. My theory is that although the picture has a
fractional top left corner, many drawing operations inside the picture
have integral coordinations. In older hardwares, keeping those
coordinates integral seems to be performance critical.
To avoid flutter/flutter#41654, the snapping
will still be disabled if the matrix has non-scale-translation
transformations.
This reverts commit b5aedb3 and relands #17712.
Fixesflutter/flutter#53288 and flutter/flutter#41654.
Together with #17791, this reland addresses some of Jim's concerns in the original PR #17712.
The major part of this PR is still the same as the original PR, and the performance / golden image impacts should be the same.
* Bumped up the timeout for testAccessibilityFocusOnTextSemanticsProducesCorrectIosViews
* ran formatter
* made an alternative version of the assertion
* removed log statements, seems to mess with the buildbot's xcpretty
* Updates to use predefined keys.
It starts using:
* timeouts for paving.
* timeouts for ssh commands.
* timeouts for tests.
https://github.com/flutter/flutter/issues/54416
* Update key location and autogenerate public key.
* Use ssh-keygen instead of openssl.
* Fix typo on test name.
* Add logs between fuchsia test steps.
Adding logs and date time in between steps will simplify finding the
steps that are failing during the fuchsia tests.
https://github.com/flutter/flutter/issues/54253
* Use date command instead of DATE..
* Remove extra log line.
* Same spacer lenght for all the log lines.