mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
After having run a memory audit on Flutter Gallery I believe we can turn on wide gamut support by default for impeller. Here are the ramifications of this change: 1) If an opaque surface is used and no transparent wide gamut images are used, there should be no change in performance or memory usage. 1) If a transparent surface is used; the surface will take up 2x memory (ex 4MB on iPhone 7) and will have a runtime performance cost. 1) If wide gamut **transparent** images are used, they will take up 2x memory. Opaque wide-gamut images will take up the same amount of memory. ## Flutter gallery test results ### Test 1 Steps: * Tap "Material" * Scroll down and back to "Cards" * Tap "Cards" * Scroll to bottom of "Cards" example Notice that the card images are wide gamut, AdobeRGB. **Memory increase:** 10.401 MB (+8.7%) ### Test 2 Steps: * Just launch the gallery Notice that there shouldn't be any wide gamut images. **Memory Increase:** 1.22 MB (+1%, this is probably a fluke of measurement) ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide] and the [C++, Objective-C, Java style guides]. - [ ] I listed at least one issue that this PR fixes in the description above. - [ ] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt. See [testing the engine] for instructions on writing and running engine tests. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I signed the [CLA]. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style [testing the engine]: https://github.com/flutter/flutter/wiki/Testing-the-engine [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat