Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(387)

Issue 474783002: HUD: Show first paint invalidation in red (Closed)

Created:
6 years, 4 months ago by kouhei (in TOK)
Modified:
6 years, 2 months ago
Reviewers:
chrishtr, nduca, enne (OOO)
CC:
cc-bugs_chromium.org, chromium-reviews, darin-cc_chromium.org, jam
Project:
chromium
Visibility:
Public.

Description

HUD: Show first paint invalidation in red This CL modifies the visualization from cc/heads_up_display, which is used from the "Show paint rectangles" devtools feature. Before this CL, all paint invalidations were visualized as green rectangles. After this CL, paint invalidations from new RenderObjects are painted in red, and invalidations from existing RenderObjects are painted in green. demo: https://www.youtube.com/watch?v=L-zo91nL2nE Implementation Overview: - |WebGraphicsLayerDebugInfo| includes a flag if the current paint invalidation is from new RenderObjects. This is to be added in https://codereview.chromium.org/474793002/ - An interface |TracedDebugInfo| is introduced to to replace raw |ConvertableToTraceFormat| so that the flag can be queried from cc code. - |PictureLayer::Update| queries the flag |includes_new_paint_invalidation()| before recording pictures, and pushes the flag to |PictureLayerImpl|. -- Note: This has to be saved inside PictureLayer, as they are cleared after recording. - |DebugRectHistory::SavePaintRects| saves the paint rects from |PictureLayerImpl| which |includes_new_paint_invalidation()| as |FIRST_PAINT_RECT_TYPE|. - |HeadsUpDisplayLayerImpl| paints them in red rects. BUG=402033

Patch Set 1 #

Patch Set 2 : rebased #

Patch Set 3 : export info for frameviewer too #

Total comments: 1

Patch Set 4 : upd #

Patch Set 5 : upd #

Patch Set 6 : minimize changes #

Patch Set 7 : rebased #

Patch Set 8 : update only when needed #

Total comments: 1

Patch Set 9 : use annotated rects #

Patch Set 10 : rebased #

Patch Set 11 : remove revert of 1ddbaa9d2cb71e5d2a276ae322afeda0c97f7002 #

Patch Set 12 : compilefix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+293 lines, -70 lines) Patch
M cc/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M cc/blink/BUILD.gn View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
A cc/blink/blink_layer_debug_info.h View 1 2 3 4 5 6 7 8 1 chunk +43 lines, -0 lines 0 comments Download
A cc/blink/blink_layer_debug_info.cc View 1 2 3 4 5 6 7 8 9 1 chunk +73 lines, -0 lines 0 comments Download
M cc/blink/cc_blink.gyp View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M cc/blink/web_layer_impl.h View 1 2 3 2 chunks +2 lines, -8 lines 0 comments Download
M cc/blink/web_layer_impl.cc View 1 2 3 3 chunks +3 lines, -24 lines 0 comments Download
M cc/cc.gyp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M cc/debug/debug_colors.h View 1 chunk +2 lines, -2 lines 0 comments Download
M cc/debug/debug_colors.cc View 1 1 chunk +10 lines, -4 lines 0 comments Download
M cc/debug/debug_rect_history.h View 1 chunk +1 line, -0 lines 0 comments Download
M cc/debug/debug_rect_history.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
A cc/debug/layer_debug_info.h View 1 2 3 4 5 6 7 8 1 chunk +29 lines, -0 lines 0 comments Download
A cc/debug/layer_debug_info.cc View 1 2 3 4 5 6 7 8 1 chunk +19 lines, -0 lines 0 comments Download
M cc/layers/heads_up_display_layer_impl.h View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -0 lines 0 comments Download
M cc/layers/heads_up_display_layer_impl.cc View 1 2 3 4 5 6 7 8 9 3 chunks +33 lines, -7 lines 0 comments Download
M cc/layers/layer.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -1 line 0 comments Download
M cc/layers/layer.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
M cc/layers/layer_client.h View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -10 lines 0 comments Download
M cc/layers/layer_impl.h View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +10 lines, -3 lines 0 comments Download
M cc/layers/layer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +7 lines, -2 lines 0 comments Download
M cc/layers/picture_layer.h View 1 2 3 4 5 6 7 8 3 chunks +6 lines, -0 lines 0 comments Download
M cc/layers/picture_layer.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +17 lines, -0 lines 0 comments Download
M cc/layers/picture_layer_impl.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -0 lines 0 comments Download
M cc/layers/picture_layer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +10 lines, -0 lines 0 comments Download
M ui/compositor/layer.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -2 lines 0 comments Download
M ui/compositor/layer.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +6 lines, -5 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
chrishtr
https://codereview.chromium.org/474783002/diff/40001/cc/layers/layer.cc File cc/layers/layer.cc (right): https://codereview.chromium.org/474783002/diff/40001/cc/layers/layer.cc#newcode874 cc/layers/layer.cc:874: layer->SetDebugInfo(TakeDebugInfo()); Let's extend the GraphicsLayerDebugInfo struct to include this ...
6 years, 4 months ago (2014-08-20 04:28:56 UTC) #1
kouhei (in TOK)
PTAL.
6 years, 4 months ago (2014-08-25 01:58:13 UTC) #2
chrishtr
https://codereview.chromium.org/474783002/diff/140001/cc/blink/blink_layer_debug_info.h File cc/blink/blink_layer_debug_info.h (right): https://codereview.chromium.org/474783002/diff/140001/cc/blink/blink_layer_debug_info.h#newcode20 cc/blink/blink_layer_debug_info.h:20: class BlinkLayerDebugInfo : public cc::LayerDebugInfo { Why do you ...
6 years, 3 months ago (2014-08-26 18:53:06 UTC) #3
kouhei (in TOK)
6 years, 2 months ago (2014-10-01 04:52:55 UTC) #4
I'm going to suspend this for now. I'll focus on visualizing equivalent in
FrameViewer. Also paint invalidation flow will be covered in devtools
invalidation tracking (also wip) too.

Powered by Google App Engine
This is Rietveld 408576698