DescriptionCache the absolute bounding box rect on RenderLayer.
Set the cache dirty in RenderLayer::styleChanged and recompute
the rect during computeCompositingRequirements.
Also, get rid of absoluteBoundingBox from RenderLayer. The only
caller can use the new cached value since it always happens after
computeCompositingRequirements.
The unfortunate thing is that if a RenderLayer is modified, we
need to recompute the absolute bounds for all its descendant layers.
This saves ~3% of the computeCompositingRequirements time on the
tip of tree version of https://github.com/abarth/app-widgets/blob/master/demo.html.
The version checked into the key_silk_cases pageset doesn't show
the perf win because it doesn't have many RenderLayers outside
of the drawer being dragged.
The bigger win will come from the following patch that adds/removes
layers to the RenderGeometryMap lazily. Right now that's 10-20% of
the computeCompositingRequirements time in this demo.
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=169786
Patch Set 1 #Patch Set 2 : add fixme #
Total comments: 8
Patch Set 3 : address review comments #Patch Set 4 : fix name #Patch Set 5 : fix name for real #Patch Set 6 : remove extre line break #
Messages
Total messages: 6 (0 generated)
|