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

Commit 0f698d5

Browse files
authored
Cull the RTree bounds when they are forwarded in DrawDisplayList (#45358)
Fixes flutter/flutter#133437 With this fix, the [benchmarks](flutter/flutter#133434) for pictures with huge bounds become runnable under more conditions. Currently those benchmarks only run on platforms where we don't run into this issue. The performance on those platforms/conditions will not change much, but with this fix we can run them on Impeller and add a variant that has a platform view on the display.
1 parent 8d6aee5 commit 0f698d5

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

display_list/dl_builder.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1225,7 +1225,7 @@ void DisplayListBuilder::DrawDisplayList(const sk_sp<DisplayList> display_list,
12251225
auto rtree = display_list->rtree();
12261226
if (rtree) {
12271227
std::list<SkRect> rects =
1228-
rtree->searchAndConsolidateRects(bounds, false);
1228+
rtree->searchAndConsolidateRects(GetLocalClipBounds(), false);
12291229
accumulated = false;
12301230
for (const SkRect& rect : rects) {
12311231
// TODO (https://github.com/flutter/flutter/issues/114919): Attributes

0 commit comments

Comments
 (0)