mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
[Impeller] Turned on wide gamut support by default. (flutter/engine#39801)
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
This commit is contained in:
parent
3bd9d3aa2d
commit
dc938db866
@ -200,10 +200,9 @@ flutter::Settings FLTDefaultSettingsForBundle(NSBundle* bundle, NSProcessInfo* p
|
||||
settings.may_insecurely_connect_to_all_domains = true;
|
||||
settings.domain_network_policy = "";
|
||||
|
||||
// Whether to enable Impeller.
|
||||
// Whether to enable wide gamut colors.
|
||||
NSNumber* nsEnableWideGamut = [mainBundle objectForInfoDictionaryKey:@"FLTEnableWideGamut"];
|
||||
// TODO(gaaclarke): Make this value `on` by default (pending memory audit).
|
||||
BOOL enableWideGamut = nsEnableWideGamut ? nsEnableWideGamut.boolValue : NO;
|
||||
BOOL enableWideGamut = nsEnableWideGamut ? nsEnableWideGamut.boolValue : YES;
|
||||
settings.enable_wide_gamut = enableWideGamut;
|
||||
|
||||
// TODO(dnfield): We should reverse the order for all these settings so that command line options
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user