This repository was archived by the owner on Feb 25, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6k
[engine] more consistently flush dart event loop, run vsync callback immediately #56738
Merged
auto-submit
merged 6 commits into
flutter:main
from
jonahwilliams:run_now_and_flush_messages
Nov 22, 2024
Merged
[engine] more consistently flush dart event loop, run vsync callback immediately #56738
auto-submit
merged 6 commits into
flutter:main
from
jonahwilliams:run_now_and_flush_messages
Nov 22, 2024
Conversation
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
Contributor
Author
|
WDUT @jason-simmons @LongCatIsLooong ? |
Member
|
LGTM |
|
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. |
Contributor
Author
|
Those goldens are concerning. if they aren't stable I need to roll back the MSAA patch |
jason-simmons
approved these changes
Nov 21, 2024
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Nov 22, 2024
… callback immediately (flutter/engine#56738)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Nov 22, 2024
… callback immediately (flutter/engine#56738)
github-merge-queue bot
pushed a commit
to flutter/flutter
that referenced
this pull request
Nov 22, 2024
…159345) flutter/engine@6f941c9...202506d 2024-11-22 [email protected] [Impeller] cache and reuse openGL framebuffer attachments. (flutter/engine#56746) 2024-11-22 [email protected] Roll Skia from 700e685861c8 to e7caf38140ce (25 revisions) (flutter/engine#56756) 2024-11-22 [email protected] Roll Dart SDK from c1106f7e4cde to 141291fd570d (1 revision) (flutter/engine#56748) 2024-11-22 [email protected] [engine] more consistently flush dart event loop, run vsync callback immediately (flutter/engine#56738) 2024-11-22 [email protected] Extract backend-specific code in ShellTestPlatformView (flutter/engine#56722) 2024-11-22 [email protected] Eliminate ShellTestPlatformView::BackendType::kDefaultBackendType (flutter/engine#56744) 2024-11-22 [email protected] Roll Skia from 2614590b4f32 to 700e685861c8 (1 revision) (flutter/engine#56725) 2024-11-22 [email protected] Roll Dart SDK from b36e4d731d67 to c1106f7e4cde (12 revisions) (flutter/engine#56742) 2024-11-22 [email protected] [Impeller] libImpeller: A C++ wrapper to the Impeller API. (flutter/engine#56682) 2024-11-21 [email protected] [Impeller] Run simulator tests with Impeller enabled. (flutter/engine#56740) 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
Contributor
Author
|
reason for revert: speculative revert for framework failures. |
auto-submit bot
added a commit
that referenced
this pull request
Nov 22, 2024
…callback immediately (#56738)" (#56767) Reverts: #56738 Initiated by: jonahwilliams Reason for reverting: speculative revert for framework failures. Original PR Author: jonahwilliams Reviewed By: {jason-simmons} This change reverts the following previous change: Changes the following shell callbacks to flush the dart event loop: * OnPlatformViewSetViewportMetrics * OnPlatformViewDispatchPointerDataPacket * OnPlatformViewDispatchPlatformMessage * OnPlatformViewSetSemanticsEnabled * OnPlatformViewSetAccessibilityFeatures Using a new TaskRunner API RunNowAndFlushMessages. If the task runner can run tasks on the current thread, this will immediately invoke a callback and then post an empty task to the event loop to ensure dart listeners fire. This also updates the vsync waiter to use RunNowOrPostTask, so that we start vsync events as early as possible.
github-merge-queue bot
pushed a commit
to flutter/flutter
that referenced
this pull request
Nov 22, 2024
…visions) (#159345)" (#159360) <!-- start_original_pr_link --> Reverts: #159345 <!-- end_original_pr_link --> <!-- start_initiating_author --> Initiated by: hannah-hyj <!-- end_initiating_author --> <!-- start_revert_reason --> Reason for reverting: tree is red on " Linux_build_test flutter_gallery__transition_perf_hybrid" after engine auto roll <!-- end_revert_reason --> <!-- start_original_pr_author --> Original PR Author: engine-flutter-autoroll <!-- end_original_pr_author --> <!-- start_reviewers --> Reviewed By: {fluttergithubbot} <!-- end_reviewers --> <!-- start_revert_body --> This change reverts the following previous change: flutter/engine@6f941c9...202506d 2024-11-22 [email protected] [Impeller] cache and reuse openGL framebuffer attachments. (flutter/engine#56746) 2024-11-22 [email protected] Roll Skia from 700e685861c8 to e7caf38140ce (25 revisions) (flutter/engine#56756) 2024-11-22 [email protected] Roll Dart SDK from c1106f7e4cde to 141291fd570d (1 revision) (flutter/engine#56748) 2024-11-22 [email protected] [engine] more consistently flush dart event loop, run vsync callback immediately (flutter/engine#56738) 2024-11-22 [email protected] Extract backend-specific code in ShellTestPlatformView (flutter/engine#56722) 2024-11-22 [email protected] Eliminate ShellTestPlatformView::BackendType::kDefaultBackendType (flutter/engine#56744) 2024-11-22 [email protected] Roll Skia from 2614590b4f32 to 700e685861c8 (1 revision) (flutter/engine#56725) 2024-11-22 [email protected] Roll Dart SDK from b36e4d731d67 to c1106f7e4cde (12 revisions) (flutter/engine#56742) 2024-11-22 [email protected] [Impeller] libImpeller: A C++ wrapper to the Impeller API. (flutter/engine#56682) 2024-11-21 [email protected] [Impeller] Run simulator tests with Impeller enabled. (flutter/engine#56740) 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 <!-- end_revert_body --> Co-authored-by: auto-submit[bot] <[email protected]>
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Nov 23, 2024
… callback immediately (flutter/engine#56738)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Nov 23, 2024
… callback immediately (flutter/engine#56738)
github-merge-queue bot
pushed a commit
to flutter/flutter
that referenced
this pull request
Nov 23, 2024
…159364) flutter/engine@6f941c9...f776c3a 2024-11-22 [email protected] Roll Skia from e7caf38140ce to c3d9596a93f8 (2 revisions) (flutter/engine#56765) 2024-11-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[engine] more consistently flush dart event loop, run vsync callback immediately (#56738)" (flutter/engine#56767) 2024-11-22 [email protected] Roll Dart SDK from 8b65a7a628e2 to eb01a0430f72 (2 revisions) (flutter/engine#56764) 2024-11-22 [email protected] [Impeller] delete Impeller sim opt out. (flutter/engine#56706) 2024-11-22 [email protected] [Impeller] Ensure that SnapshotControllerImpeller has a rendering context before creating the snapshot (flutter/engine#56743) 2024-11-22 [email protected] [DisplayList] migrate DlColorSource objects to Impeller geometry (flutter/engine#56735) 2024-11-22 [email protected] [Impeller] libImpeller: Tinker on the README. (flutter/engine#56761) 2024-11-22 [email protected] [Impeller] dont create temp vec for discard. (flutter/engine#56759) 2024-11-22 [email protected] Roll Fuchsia Linux SDK from zhFzwYCH-N_wasTnM... to D5CBHuB2c-v3Zai-c... (flutter/engine#56757) 2024-11-22 [email protected] Roll Dart SDK from 141291fd570d to 8b65a7a628e2 (1 revision) (flutter/engine#56755) 2024-11-22 [email protected] [Impeller] cache and reuse openGL framebuffer attachments. (flutter/engine#56746) 2024-11-22 [email protected] Roll Skia from 700e685861c8 to e7caf38140ce (25 revisions) (flutter/engine#56756) 2024-11-22 [email protected] Roll Dart SDK from c1106f7e4cde to 141291fd570d (1 revision) (flutter/engine#56748) 2024-11-22 [email protected] [engine] more consistently flush dart event loop, run vsync callback immediately (flutter/engine#56738) 2024-11-22 [email protected] Extract backend-specific code in ShellTestPlatformView (flutter/engine#56722) 2024-11-22 [email protected] Eliminate ShellTestPlatformView::BackendType::kDefaultBackendType (flutter/engine#56744) 2024-11-22 [email protected] Roll Skia from 2614590b4f32 to 700e685861c8 (1 revision) (flutter/engine#56725) 2024-11-22 [email protected] Roll Dart SDK from b36e4d731d67 to c1106f7e4cde (12 revisions) (flutter/engine#56742) 2024-11-22 [email protected] [Impeller] libImpeller: A C++ wrapper to the Impeller API. (flutter/engine#56682) 2024-11-21 [email protected] [Impeller] Run simulator tests with Impeller enabled. (flutter/engine#56740) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from zhFzwYCH-N_w to D5CBHuB2c-v3 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
auto-submit bot
pushed a commit
that referenced
this pull request
Nov 26, 2024
Changes the following shell callbacks to flush the dart event loop: * OnPlatformViewSetViewportMetrics * OnPlatformViewDispatchPointerDataPacket * OnPlatformViewDispatchPlatformMessage * OnPlatformViewSetSemanticsEnabled * OnPlatformViewSetAccessibilityFeatures Using a new TaskRunner API RunNowAndFlushMessages. If the task runner can run tasks on the current thread, this will immediately invoke a callback and then post an empty task to the event loop to ensure dart listeners fire. Unlike #56738, does not touch the vsync API - which looks like it depends on scheduling behavior today, at least for iOS.
nick9822
pushed a commit
to nick9822/flutter
that referenced
this pull request
Dec 18, 2024
…immediately (flutter/engine#56738) Changes the following shell callbacks to flush the dart event loop: * OnPlatformViewSetViewportMetrics * OnPlatformViewDispatchPointerDataPacket * OnPlatformViewDispatchPlatformMessage * OnPlatformViewSetSemanticsEnabled * OnPlatformViewSetAccessibilityFeatures Using a new TaskRunner API RunNowAndFlushMessages. If the task runner can run tasks on the current thread, this will immediately invoke a callback and then post an empty task to the event loop to ensure dart listeners fire. This also updates the vsync waiter to use RunNowOrPostTask, so that we start vsync events as early as possible.
nick9822
pushed a commit
to nick9822/flutter
that referenced
this pull request
Dec 18, 2024
…callback immediately (flutter#56738)" (flutter/engine#56767) Reverts: flutter/engine#56738 Initiated by: jonahwilliams Reason for reverting: speculative revert for framework failures. Original PR Author: jonahwilliams Reviewed By: {jason-simmons} This change reverts the following previous change: Changes the following shell callbacks to flush the dart event loop: * OnPlatformViewSetViewportMetrics * OnPlatformViewDispatchPointerDataPacket * OnPlatformViewDispatchPlatformMessage * OnPlatformViewSetSemanticsEnabled * OnPlatformViewSetAccessibilityFeatures Using a new TaskRunner API RunNowAndFlushMessages. If the task runner can run tasks on the current thread, this will immediately invoke a callback and then post an empty task to the event loop to ensure dart listeners fire. This also updates the vsync waiter to use RunNowOrPostTask, so that we start vsync events as early as possible.
nick9822
pushed a commit
to nick9822/flutter
that referenced
this pull request
Dec 18, 2024
…/engine#56815) Changes the following shell callbacks to flush the dart event loop: * OnPlatformViewSetViewportMetrics * OnPlatformViewDispatchPointerDataPacket * OnPlatformViewDispatchPlatformMessage * OnPlatformViewSetSemanticsEnabled * OnPlatformViewSetAccessibilityFeatures Using a new TaskRunner API RunNowAndFlushMessages. If the task runner can run tasks on the current thread, this will immediately invoke a callback and then post an empty task to the event loop to ensure dart listeners fire. Unlike flutter/engine#56738, does not touch the vsync API - which looks like it depends on scheduling behavior today, at least for iOS.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Changes the following shell callbacks to flush the dart event loop:
Using a new TaskRunner API RunNowAndFlushMessages. If the task runner can run tasks on the current thread, this will immediately invoke a callback and then post an empty task to the event loop to ensure dart listeners fire.
This also updates the vsync waiter to use RunNowOrPostTask, so that we start vsync events as early as possible.