New issue
Advanced search Search tips

Issue 842356 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

[SPv2] Stabilize composited layer ids

Project Member Reported by wangxianzhu@chromium.org, May 11 2018

Issue description

Now we use the first chunk id as the id of a composited layer. If the id changes, we will create a new layer. To avoid unnecessary layer re-creation, we need to stabilize the ids.

 
Project Member

Comment 1 by bugdroid1@chromium.org, May 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b

commit b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Thu May 17 00:45:19 2018

[SPv175+] Force multiple chunks under subsequences

This increases stability of chunk ids under subsequences to reduce
full chunk invalidation because of chunk id changes. This especially
improves chunk id stability that was reduced by crrev.com/c/1027209.

This also helps to stabilize composited layer ids for SPv2, though
I need some more work for it (crbug.com/842356).

An example:
  Paint N-1:
  {
    ScopedPaintChunkProperties properties1(id1, same_properties);
    PaintBackground();
  }
  {
    ScopedPaintChunkProperties properties2(id2, same_properties);
    PaintForeground();
  }

  Paint N:
  {
    ScopedPaintChunkProperties properties2(id2, same_properties);
    PaintForeground();
  }

Previously, in Paint N-1, we combined both background and foreground
in chunk(id1), and in Paint N, we painted forground in chunk(id2).
Because the paint invalidator saw that chunk(id1) disappeared and
chunk(id2) appeared, it issued full chunk invalidation for
chunk(id1) and chunk(id2).

With this CL we'll force chunk for background and foreground, so
we'll issue chunk invalidation for the background only.

Measurements:
For all compositing and paint layout tests, this increases total
number of chunks from 3390 to 3676. (For comparison,
crrev.com/c/1027209 reduced the number from 4055 to 3390.)

Bug:  838456 ,842356
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I4e9809fee46364189845b293706ff70554f562ba
Reviewed-on: https://chromium-review.googlesource.com/1040876
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559370}
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/bugzilla-6473-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/clip/outline-clip-change-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/clip/resize-with-border-clipped-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/compositing/child-of-sub-pixel-offset-composited-layer-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/compositing/compositing-reason-removed-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/filters/filter-invalidation-after-display-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/filters/filter-invalidation-positioned-child-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/invalidate-invisible-element-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/multicol/multicol-relpos-with-abspos-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/outline/border-outline-0-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/overflow/trailing-floats-root-line-box-overflow-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/position/absolute-display-block-to-none-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/position/absolute-position-change-containing-block-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/position/block-layout-inline-children-float-positioned-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/position/transform-absolute-child-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/reflection/reflection-invalidation-after-display-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/reflection/reflection-invalidation-positioned-child-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/remove-block-after-layout-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/remove-inline-layer-after-layout-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/repaint-subrect-grid-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/composited-table-background-initial-empty-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/input-overflow-in-table-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/row-change-background-rowspan-cell-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/transform/change-transform-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/transform/transform-inline-layered-child-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/transform/transform-repaint-descendants-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/window-resize/window-resize-centered-inline-under-fixed-pos-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/window-resize/window-resize-no-layout-change2-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/window-resize/window-resize-percent-width-height-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/window-resize/window-resize-positioned-bottom-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/window-resize/window-resize-positioned-percent-top-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/window-resize/window-resize-viewport-percent-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/clip/resize-with-border-clipped-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll-expected.txt
[rename] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/css-grid-layout/grid-item-z-index-change-repaint-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/filters/filter-invalidation-positioned-child-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/mix-blend-mode-separate-stacking-context-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/multicol/multicol-relpos-with-abspos-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/outline/border-outline-0-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/overflow/fixed-position-transparency-with-overflow-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/overflow/trailing-floats-root-line-box-overflow-expected.txt
[delete] https://crrev.com/f81618552a951e6a84e44b7fbe2ffe753320c2f1/third_party/WebKit/LayoutTests/paint/invalidation/position/absolute-display-block-to-none-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/position/absolute-position-change-containing-block-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/position/absolute-position-moved-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/position/fixed-to-relative-position-with-absolute-child-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/position/transform-absolute-child-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/reflection/reflection-invalidation-positioned-child-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/repaint-subrect-grid-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/table/fixed-table-overflow-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/table/input-overflow-in-table-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/paint/invalidation/transform/change-transform-expected.txt
[delete] https://crrev.com/f81618552a951e6a84e44b7fbe2ffe753320c2f1/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/bugzilla-6473-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/clip/outline-clip-change-expected.txt
[delete] https://crrev.com/f81618552a951e6a84e44b7fbe2ffe753320c2f1/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/css-grid-layout/grid-item-z-index-change-repaint-expected.txt
[delete] https://crrev.com/f81618552a951e6a84e44b7fbe2ffe753320c2f1/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/overflow/opacity-change-on-overflow-float-expected.txt
[copy] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/position/absolute-display-block-to-none-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/position/block-layout-inline-children-float-positioned-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/remove-block-after-layout-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/remove-inline-layer-after-layout-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/composited-table-background-initial-empty-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/transform/transform-inline-layered-child-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac-mac10.12/paint/invalidation/position/text-in-relative-positioned-inline-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/bugzilla-6473-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/clip/clip-with-layout-delta-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/clip/outline-clip-change-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/create-layer-repaint-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/overflow/opacity-change-on-overflow-float-expected.txt
[copy] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/position/absolute-display-block-to-none-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/position/block-layout-inline-children-float-positioned-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/position/shift-relative-positioned-container-with-image-addition-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/position/shift-relative-positioned-container-with-image-removal-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/position/text-in-relative-positioned-inline-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/remove-block-after-layout-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/remove-inline-layer-after-layout-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/composited-table-background-initial-empty-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/transform/transform-inline-layered-child-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/transform/transform-repaint-descendants-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/bugzilla-6473-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/clip/outline-clip-change-expected.txt
[delete] https://crrev.com/f81618552a951e6a84e44b7fbe2ffe753320c2f1/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/css-grid-layout/grid-item-z-index-change-repaint-expected.txt
[delete] https://crrev.com/f81618552a951e6a84e44b7fbe2ffe753320c2f1/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/overflow/opacity-change-on-overflow-float-expected.txt
[copy] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/position/absolute-display-block-to-none-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/position/block-layout-inline-children-float-positioned-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/remove-block-after-layout-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/remove-inline-layer-after-layout-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/composited-table-background-initial-empty-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/transform/transform-inline-layered-child-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/transform/transform-repaint-descendants-expected.txt
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/blink/renderer/core/paint/paint_layer_painter.cc
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/blink/renderer/core/paint/paint_layer_painter.h
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/blink/renderer/core/paint/paint_layer_painter_test.cc
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/blink/renderer/platform/graphics/paint/display_item.cc
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/blink/renderer/platform/graphics/paint/display_item.h
[modify] https://crrev.com/b63383e4e3f2b774ce0e6d3bfafb4adc84e48f2b/third_party/blink/renderer/platform/graphics/paint/paint_controller.h

Project Member

Comment 2 by bugdroid1@chromium.org, Jun 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/44ab27047d914c47ac888a5daa0977703750767f

commit 44ab27047d914c47ac888a5daa0977703750767f
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Sat Jun 23 00:27:56 2018

[RasterInvalidation] Track explicit and implicit full composited layer invalidation

1. For explicit full composited layer invalidation (Pre-SPv2 only) which
is issued by GraphicsLayer::SetNeedsDisplay():
  - Use more descriptive reason kFullLayer instead of kFull;
  - Clear RasterInvalidator old states which are stale

2. Track implicit full composited layer invalidation (Pre-SPv2 and
SPv2) which happens when a layer is newly created or becomes non empty.
We don't issue raster invaidation because the new tiles are invalid
initially. However, it's a performance overhead when we unnecessarily
re-create a composited layer e.g. just because the layer's id changed
(crbug.com/842356), and we need to expose this overhead in layout test
results.

Bug: 842356
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I2ffcfa9dbc43668f57b0ea84795d3b0fbcb7b9c6
Reviewed-on: https://chromium-review.googlesource.com/1112300
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569855}
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/compositing/squashing/squash-above-fixed-1-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/filters/filter-invalidation-with-composited-container-change-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/composited-table-background-section-initial-empty-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/compositing/invalidate-when-leaving-squashed-layer-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/compositing/new-stacking-context-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/compositing/pointer-events-composited-scrolling-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/compositing/scrolling-without-painting-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/compositing/should-invoke-deferred-compositing-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/compositing/should-not-clip-composited-overflow-scrolling-layer-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/compositing/should-not-repaint-composited-descendants-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/compositing/updating-scrolling-content-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/filters/filter-invalidation-with-composited-container-change-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/overflow/overflow-changed-on-child-of-composited-layer-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/scroll/composited-add-resizer-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/scroll/destroy-composited-scrollbar-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/scroll/flipped-blocks-writing-mode-scroll-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/scroll/invalidate-after-composited-scroll-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/scroll/overflow-move-after-scroll-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/paint/invalidation/scroll/overflow-scroll-after-move-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container-expected.txt
[delete] https://crrev.com/900f41068a78bc344295af674596847b6e50c0ce/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container-expected.txt
[delete] https://crrev.com/900f41068a78bc344295af674596847b6e50c0ce/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/scroll/overflow-scroll-local-background-text-color-change-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/transform-focus-ring-repaint-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/scroll/overflow-scroll-local-background-text-color-change-expected.txt
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/blink/renderer/core/paint/link_highlight_impl.cc
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/blink/renderer/platform/graphics/graphics_layer.cc
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/blink/renderer/platform/graphics/paint/raster_invalidator.cc
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/blink/renderer/platform/graphics/paint/raster_invalidator.h
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/blink/renderer/platform/graphics/paint/raster_invalidator_test.cc
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/blink/renderer/platform/graphics/paint_invalidation_reason.cc
[modify] https://crrev.com/44ab27047d914c47ac888a5daa0977703750767f/third_party/blink/renderer/platform/graphics/paint_invalidation_reason.h

Sign in to add a comment