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

SurfaceFrame root DisplayLists will no longer prepare an RTree #48422

Merged
merged 1 commit into from
Nov 27, 2023

Conversation

flar
Copy link
Contributor

@flar flar commented Nov 27, 2023

The root slice of a surface frame was requesting the construction of an RTree from its DisplayList when it was built from a layer tree, but since the layer tree already does branch culling, it would not benefit from any further culling during DisplayList::Dispatch. Further, if there are platform views present in the layer tree then they will need an RTree to accurately convey "pixel ownership" information to the platform, but the root slice lives below any and all platform views, so it is the only slice that doesn't need an RTree for that case.

The cost of having an RTree in that slice was the accumulation of information and lists of rects that would never prove useful.

@flar
Copy link
Contributor Author

flar commented Nov 27, 2023

The line in question (where SurfaceFrame creates the DisplayListBuilder) was originally added as part of #41606 but evaluating the result of that fix amended by this change shows that the fix not depend on the RTrees in the root frame canvas.

Copy link
Contributor

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

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

LGTM

@flar flar added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 27, 2023
@auto-submit auto-submit bot merged commit 0430f98 into flutter:main Nov 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 28, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Nov 28, 2023
…139106)

flutter/engine@8b100cc...5ffe1f4

2023-11-27 [email protected] Update `HeaderFilterRegex` once and for all. (flutter/engine#48145)
2023-11-27 [email protected] SurfaceFrame root DisplayLists will no longer prepare an RTree (flutter/engine#48422)

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
caseycrogers pushed a commit to caseycrogers/flutter that referenced this pull request Dec 29, 2023
…lutter#139106)

flutter/engine@8b100cc...5ffe1f4

2023-11-27 [email protected] Update `HeaderFilterRegex` once and for all. (flutter/engine#48145)
2023-11-27 [email protected] SurfaceFrame root DisplayLists will no longer prepare an RTree (flutter/engine#48422)

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
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants