Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@eyebrowsoffire
Copy link
Contributor

This fixes flutter/flutter#134045

There were a few different issues here:

  • We need to do our own message passing for rendering pictures. The async methods provided by emscripten have their own queue that can drain synchronously, so basically it's not guaranteed to be FIFO with other messages sent to the web worker or main thread.
  • When we drop frames, we should only drop intermediate frames, so that when the rendering flurry stops that the frame that is displayed is the last one that was actually requested.
  • We need to reset the GL context after lazy image creation, otherwise skia's renderer gets into a bad state for that frame.

There were a few different issues here:
* We need to do our own message passing for rendering pictures. The
  async methods provided by emscripten have their own queue that can
  drain synchronously, so basically it's not guaranteed to be FIFO with
  other messages sent to the web worker or main thread.
* When we drop frames, we should only drop intermediate frames, so that
  when the rendering flurry stops that the frame that is displayed is
  the last one that was actually requested.
* We need to reset the GL context after lazy image creation, otherwise
  skia's renderer gets into a bad state for that frame.
@github-actions github-actions bot added the platform-web Code specifically for the web engine label Oct 19, 2023
Copy link
Contributor

@harryterkelsen harryterkelsen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@eyebrowsoffire eyebrowsoffire added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 20, 2023
@auto-submit auto-submit bot merged commit 8bd8294 into flutter:main Oct 20, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Oct 20, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Oct 20, 2023
…136982)

flutter/engine@d46933e...b27e1b3

2023-10-20 [email protected] Add link support in web accessibility (flutter/engine#46117)
2023-10-20 [email protected] [web] Support `flutterViewId` in platform view messages (flutter/engine#46891)
2023-10-20 [email protected] Fix async image loading issues in skwasm. (flutter/engine#47117)
2023-10-20 [email protected] Add option to save Impeller failure images in rendertests (flutter/engine#47142)
2023-10-20 [email protected] Roll Skia from b960e9140f56 to 9ffd5ef9a9ed (3 revisions) (flutter/engine#47167)
2023-10-20 [email protected] [macOS] Eliminate extraneous loadView calls (flutter/engine#47166)
2023-10-20 [email protected] Roll Dart SDK from ba96a157a8eb to 53fee35b299f (1 revision) (flutter/engine#47165)
2023-10-20 [email protected] [Impeller] GPU Tracer for GLES. (flutter/engine#47080)
2023-10-20 [email protected] Roll Skia from de628929015d to b960e9140f56 (2 revisions) (flutter/engine#47164)

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],[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
harryterkelsen pushed a commit that referenced this pull request Oct 23, 2023
This fixes flutter/flutter#134045

There were a few different issues here:
* We need to do our own message passing for rendering pictures. The async methods provided by emscripten have their own queue that can drain synchronously, so basically it's not guaranteed to be FIFO with other messages sent to the web worker or main thread.
* When we drop frames, we should only drop intermediate frames, so that when the rendering flurry stops that the frame that is displayed is the last one that was actually requested.
* We need to reset the GL context after lazy image creation, otherwise skia's renderer gets into a bad state for that frame.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

autosubmit Merge PR when tree becomes green via auto submit App platform-web Code specifically for the web engine

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Material 3 Demo running with Skwasm doesn't render all elements on first paint

3 participants