DescriptionAdd |GraphicsLayerDebugInfo::getAnnotatedInvalidationRects|
This is a Blink side patch for visualizing paint
invalidation for newly created RenderObject.
Demo @ https://www.youtube.com/watch?v=L-zo91nL2nE&list=UUGC5ommqy7KyPzZ-eGlL_Dg
After this CL, GraphicsLayerDebugInfo holds a vector of
invalidation rects along with their source / reason.
The rects can be queried from the embedder using the method
|GraphicsLayerDebugInfo::getAnnotatedInvalidationRects|.
This CL also adds a flag |RenderObject::hadPaintInvalidation|
to track if the RenderObject had ever been painted.
The flag is then used to annotate invalidation rects
for first paint of the RenderObject.
After this CL, WebLayer implementator can query this info to
visualize the layer invalidation including the first paint,
which is useful for telling if the repaint storm is due to
the page itself, or is a performance bug in Blink rendering
stack.
BUG=402033
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=181774
Patch Set 1 #Patch Set 2 : add missing clear #Patch Set 3 : add missing files #
Total comments: 5
Patch Set 4 : use TRACE_EVENT #
Total comments: 3
Patch Set 5 : store flag in platform/graphics/FirstPaintInvalidationTracking #Patch Set 6 : add copyright #Patch Set 7 : export symbols #Patch Set 8 : fix wrong if #
Total comments: 6
Patch Set 9 : tkent-san review #Messages
Total messages: 31 (6 generated)
|