Speed up first asset load by using the binary-formatted asset manifest for image resolution#118782
Merged
auto-submit[bot] merged 23 commits intoflutter:masterfrom Feb 21, 2023
Conversation
29d4f98 to
62a659c
Compare
…manifest-for-image-resolution
…manifest-for-image-resolution
|
Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change). If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review. For more guidance, visit Writing a golden file test for Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 23, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 23, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 23, 2023
… manifest for image resolution (flutter/flutter#118782)
8 tasks
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 24, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 24, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 24, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 24, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 24, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 24, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 25, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 25, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 26, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 26, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 26, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 27, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 27, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 27, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 27, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 27, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 27, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 27, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
May 10, 2023
… manifest for image resolution (flutter/flutter#118782)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
May 10, 2023
… manifest for image resolution (flutter/flutter#118782)
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Supersedes #113637/#116684. Branches off #118410.
Note for self: update #117228 and lower its priority after merge.
Context
When loading an asset for the first time, the framework has to load a file called the asset manifest, which contains information about assets available to the app (for example, where to find higher-resolution variants of images). This file is in the JSON format.
Reading the file from storage, decoding into UTF, and parsing it as JSON is generally slower than we'd like, especially since this is will all likely happen on first paint (since many apps include assets on their first screens).
#117233 updated the tool to also generate a binary-formatted version of the asset manifest. The binary-format enables faster loading and parsing of the file. This change utilizes this new asset manifest for resolving assets.
Here are the results from running the
load_and_parse_large_asset_manifestbenchmark on a Galaxy A02S before and after the change:In apps with large asset manifests, such as money (g3), running on lower-spec devices, this should hopefully result in a speed up of at least one frame when loading.
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.