DescriptionFirst version of new merge algorithm (not enabled yet)
The new paint list contains necessary information to keep the z order
and parent-children relationship, so that it is virtually a complete
paint list.
Additional meta display items are:
- SubtreeCachedDisplayItem: a subtree is skipped during paint (maybe
because of out-of-viewport);
- BeginSubtreeDisplayItem and EndtreeDisplayItem: when a subtree is
painted, they mark the begin/end of the subtree's display items in
the new paint list.
When the merge algorithm meets a SubtreeCachedDisplayItem, it matches
it to the cached BeginSubtreeDisplayItem, and copy the subtree until
the corresponding EndSubtreeDisplayItem is reached.
This algorithm requires display item ids to be unique. We still have
many cases of duplicated display item ids. Only after we fix all of
the duplicated id cases can this algorithm fully work.
For now it's controlled by RuntimeEnabledFeatures::
slimmingPaintDisplayItemCacheEnabled.
BUG=444163
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=189610
Patch Set 1 #Patch Set 2 : Some minor cleanups #Patch Set 3 : Rebase #Patch Set 4 : Rebase again #Patch Set 5 : Fix release build (ViewDisplayListTest.cpp) #
Total comments: 8
Patch Set 6 : Address chrishtr's comments #Patch Set 7 : #
Total comments: 10
Patch Set 8 : friend test class #Patch Set 9 : Remove scope-related code (accidentally mixed in this CL) #
Total comments: 12
Patch Set 10 : Use vector to store each client's display items #Patch Set 11 : check RuntimeEnabledFeatures::slimmingPaintDisplayItemCacheEnabled is DisplayItemList::clientCacheI… #Patch Set 12 : Restore another RuntimeEnabledFeatures::slimmingPaintDisplayItemCacheEnabled check #Patch Set 13 : Traverse indices vector #
Total comments: 6
Patch Set 14 : Address pdr@'s comments #Patch Set 15 : Exclude an unrelated change (svg) #Patch Set 16 : Rebase #Patch Set 17 : Try to resolve windows failure #Patch Set 18 : Rebase again #Patch Set 19 : Rebase again again #Messages
Total messages: 50 (16 generated)
|