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

Reland [skwasm] Scene builder optimizations for platform view placement #55468

Merged

Conversation

eyebrowsoffire
Copy link
Contributor

This is an attempt to reland the overlay optimization for skwasm and fixing the golden diffs from the framework tests.

Original PR description:

This PR refactors the scene builder's logic in order to more aggressively merge flutter content and platform view content together. This essentially covers the case discussed in this flutter issue: flutter/flutter#149863

This optimization ensures that each picture or platform view is applied to the lowest possible slice in the scene, which avoids the proliferation of redundant slices and overlays in the scene.

@github-actions github-actions bot added the platform-web Code specifically for the web engine label Sep 26, 2024
This is an attempt to reland the overlay optimization for skwasm and fixing
the golden diffs from the framework tests.

Original PR description:

This PR refactors the scene builder's logic in order to more aggressively merge flutter content and platform view content together. This essentially covers the case discussed in this flutter issue: flutter/flutter#149863

This optimization ensures that each picture or platform view is applied to the lowest possible slice in the scene, which avoids the proliferation of redundant slices and overlays in the scene.
@eyebrowsoffire eyebrowsoffire force-pushed the skwasm_platform_view_opt_reland branch from a9adba2 to 0a20de5 Compare September 26, 2024 21:17
eyebrowsoffire added a commit to eyebrowsoffire/flutter that referenced this pull request Sep 26, 2024
@flutter-dashboard
Copy link

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.

Changes reported for pull request #55468 at sha 29859d4

@flutter-dashboard
Copy link

Golden file changes are available for triage from new commit, Click here to view.

Changes reported for pull request #55468 at sha 4529848

@harryterkelsen
Copy link
Contributor

LGTM with small nit in test

@@ -3,6 +3,7 @@
// found in the LICENSE file.

import 'dart:math' as math;
import 'dart:math';
Copy link
Contributor

Choose a reason for hiding this comment

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

use the other import

@eyebrowsoffire eyebrowsoffire added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 30, 2024
@auto-submit auto-submit bot merged commit def85c7 into flutter:main Sep 30, 2024
30 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 30, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Sep 30, 2024
…155952)

flutter/engine@b466a0d...e61bc85

2024-09-30 art-snake@yandex-team.ru fix use_of_uninitialized_value in message_loop_task_queues.cc (flutter/engine#55520)
2024-09-30 chris@bracken.jp iOS: Migrate FlutterEngineGroup to ARC (flutter/engine#55503)
2024-09-30 jacksongardner@google.com Reland [skwasm] Scene builder optimizations for platform view placement (flutter/engine#55468)
2024-09-30 skia-flutter-autoroll@skia.org Roll Dart SDK from c55ae50d619a to 79863e31de87 (1 revision) (flutter/engine#55525)
2024-09-30 skia-flutter-autoroll@skia.org Roll Skia from 06721a724831 to dfeeb199b226 (2 revisions) (flutter/engine#55524)

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 bdero@google.com,zra@google.com 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
thejitenpatel pushed a commit to thejitenpatel/flutter that referenced this pull request Oct 1, 2024
…lutter#155952)

flutter/engine@b466a0d...e61bc85

2024-09-30 art-snake@yandex-team.ru fix use_of_uninitialized_value in message_loop_task_queues.cc (flutter/engine#55520)
2024-09-30 chris@bracken.jp iOS: Migrate FlutterEngineGroup to ARC (flutter/engine#55503)
2024-09-30 jacksongardner@google.com Reland [skwasm] Scene builder optimizations for platform view placement (flutter/engine#55468)
2024-09-30 skia-flutter-autoroll@skia.org Roll Dart SDK from c55ae50d619a to 79863e31de87 (1 revision) (flutter/engine#55525)
2024-09-30 skia-flutter-autoroll@skia.org Roll Skia from 06721a724831 to dfeeb199b226 (2 revisions) (flutter/engine#55524)

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 bdero@google.com,zra@google.com 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
eyebrowsoffire added a commit to eyebrowsoffire/engine that referenced this pull request Oct 7, 2024
auto-submit bot pushed a commit that referenced this pull request Oct 8, 2024
… placement (#55468)" (#55715)

This reverts commit def85c7 (#55468)

Reason for revert, devtools has been having rendering issues since this commit. See flutter/devtools#8401
eyebrowsoffire added a commit to eyebrowsoffire/engine that referenced this pull request Oct 23, 2024
auto-submit bot pushed a commit that referenced this pull request Oct 25, 2024
This is an attempt to reland #55468

We now defer actually drawing the pictures until the build of the layer slices, so that we can calculate an accurate `cullRect` for the picture recorder

This also contains a further optimization for the "simple" rendering case (no platform views) where we don't actually do any unnecessary occlusion calculations.
nick9822 pushed a commit to nick9822/flutter that referenced this pull request Dec 18, 2024
… placement (flutter#55468)" (flutter/engine#55715)

This reverts commit b99e758 (flutter/engine#55468)

Reason for revert, devtools has been having rendering issues since this commit. See flutter/devtools#8401
nick9822 pushed a commit to nick9822/flutter that referenced this pull request Dec 18, 2024
This is an attempt to reland flutter/engine#55468

We now defer actually drawing the pictures until the build of the layer slices, so that we can calculate an accurate `cullRect` for the picture recorder

This also contains a further optimization for the "simple" rendering case (no platform views) where we don't actually do any unnecessary occlusion calculations.
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 will affect goldens
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants