-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] Prepare a SkiaGPU-less iOS build. #52748
Conversation
|
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact "@test-exemption-reviewer" in the #hackers channel in Chat (don't just cc them here, they won't see it! Use Discord!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
|
Ok, this is good for another pass. |
jason-simmons
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Not sure what the maintenance cost of the ifdefs will be over the long term. But if that becomes a problem we can consider creating no-op implementations of modules like RasterCache for use in Impeller-only builds.
The size of the LTO build of the engine with the dylib compressed is as follows: ```sh $ du -k libFlutter* 5236 libFlutter.dylib.tar.gz 4324 libFlutterSlimpeller.dylib.tar.gz ``` Sizes are in KiB. This represents a binary size reduction of 17.41% of the compressed artifacts. The compression ratios will likely differ based on the compression scheme. Uncompressed, the sizes are: ```sh $ du -k libFlutter* 16920 libFlutter.dylib 14044 libFlutterSlimpeller.dylib ``` This represents a binary size reduction of 16.99% which is in the same ballpark. The really mucky bit was backing out the raster cache and persistent cache. I want to clean that up in a later patch so that those TUs are part of a separate submodule. Opting out of Impeller will lead to a fatal log at startup saying the opt-out is disallowed. Fixes flutter/flutter#126606
…148274) flutter/engine@7dcbd93...13a561c 2024-05-13 [email protected] [Impeller] rectangle packer actually packs. (flutter/engine#52781) 2024-05-13 [email protected] Roll Skia from 75b3286ecaac to 400c6fbeace8 (6 revisions) (flutter/engine#52783) 2024-05-13 [email protected] ios_external_view_embedder to ARC (flutter/engine#52782) 2024-05-13 [email protected] Roll Dart SDK from a0a940f07d56 to 7c7767ecc3d7 (2 revisions) (flutter/engine#52777) 2024-05-13 [email protected] Remove outdated comment. (flutter/engine#52778) 2024-05-13 [email protected] [Impeller] Prepare a SkiaGPU-less iOS build. (flutter/engine#52748) 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 [email protected],[email protected] 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://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
The size of the LTO build of the engine with the dylib compressed is as follows:
$ du -k libFlutter* 5236 libFlutter.dylib.tar.gz 4324 libFlutterSlimpeller.dylib.tar.gzSizes are in KiB. This represents a binary size reduction of 17.41% of the compressed artifacts. The compression ratios will likely differ based on the compression scheme.
Uncompressed, the sizes are:
$ du -k libFlutter* 16920 libFlutter.dylib 14044 libFlutterSlimpeller.dylibThis represents a binary size reduction of 16.99% which is in the same ballpark.
The really mucky bit was backing out the raster cache and persistent cache. I want to clean that up in a later patch so that those TUs are part of a separate submodule.
Opting out of Impeller will lead to a fatal log at startup saying the opt-out is disallowed.
Fixes flutter/flutter#126606