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

Issue 2732573003: Skip paint property update and visual rect update if no geometry change (Closed)

Created:
3 years, 9 months ago by Xianzhu
Modified:
3 years, 8 months ago
Reviewers:
pdr., chrishtr
CC:
ajuma+watch-canvas_chromium.org, blink-reviews, blink-reviews-frames_chromium.org, blink-reviews-html_chromium.org, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, Rik, chromium-reviews, dglazkov+blink, dshwang, krit, eae+blinkwatch, fmalita+watch_chromium.org, fs, gyuyoung2, jchaffraix+rendering, Justin Novosad, kinuko+watch, kouhei+svg_chromium.org, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, pdr+svgwatchlist_chromium.org, rwlbuis, Stephen Chennney, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Skip paint property update and visual rect update if no geometry change This avoids unnecessary visual rect computation and update of paint offset related paint properties. BUG=697081, 685179 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2732573003 Cr-Commit-Position: refs/heads/master@{#461348} Committed: https://chromium.googlesource.com/chromium/src/+/81f28ed19f771fe93406496d1d23da137abcd602

Patch Set 1 #

Patch Set 2 : - #

Patch Set 3 : - #

Patch Set 4 : - #

Patch Set 5 : - #

Patch Set 6 #

Patch Set 7 : - #

Patch Set 8 : - #

Patch Set 9 : - #

Total comments: 7

Patch Set 10 : - #

Patch Set 11 : - #

Patch Set 12 : - #

Patch Set 13 : - #

Patch Set 14 : - #

Patch Set 15 : - #

Patch Set 16 : - #

Patch Set 17 : - #

Patch Set 18 : - #

Patch Set 19 : - #

Patch Set 20 : - #

Patch Set 21 : - #

Patch Set 22 : - #

Total comments: 1

Patch Set 23 : - #

Patch Set 24 : - #

Patch Set 25 : - #

Unified diffs Side-by-side diffs Delta from patch set Stats (+445 lines, -146 lines) Patch
M third_party/WebKit/Source/core/editing/CaretDisplayItemClient.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +17 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/PaintInvalidationState.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +2 lines, -7 lines 0 comments Download
A third_party/WebKit/Source/core/paint/FindPaintOffsetAndVisualRectNeedingUpdate.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +181 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/FindPropertiesNeedingUpdate.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 4 chunks +21 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 chunks +18 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.cpp View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +15 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInvalidator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 chunks +26 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInvalidator.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 11 chunks +67 lines, -63 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +8 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PrePaintTreeWalk.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +6 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 5 chunks +67 lines, -32 lines 0 comments Download

Messages

Total messages: 97 (82 generated)
Xianzhu
3 years, 9 months ago (2017-03-10 00:17:03 UTC) #27
chrishtr
Hi, Do you have perf data showing improvements from this CL?
3 years, 9 months ago (2017-03-10 01:54:52 UTC) #30
Xianzhu
On 2017/03/10 01:54:52, chrishtr wrote: > Hi, > > Do you have perf data showing ...
3 years, 9 months ago (2017-03-10 02:36:36 UTC) #31
pdr.
https://codereview.chromium.org/2732573003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): https://codereview.chromium.org/2732573003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode3450 third_party/WebKit/Source/core/layout/LayoutObject.cpp:3450: setNeedsPaintOffsetAndVisualRectUpdate(); Can this be called during paint invalidation? I ...
3 years, 9 months ago (2017-03-10 06:21:39 UTC) #32
Xianzhu
https://codereview.chromium.org/2732573003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): https://codereview.chromium.org/2732573003/diff/160001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode3450 third_party/WebKit/Source/core/layout/LayoutObject.cpp:3450: setNeedsPaintOffsetAndVisualRectUpdate(); On 2017/03/10 06:21:39, pdr. wrote: > Can this ...
3 years, 9 months ago (2017-03-10 17:43:05 UTC) #33
Xianzhu
https://codereview.chromium.org/2732573003/diff/160001/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp File third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp (right): https://codereview.chromium.org/2732573003/diff/160001/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp#newcode264 third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:264: if (needsWalkForPaintPropertyUpdate) { On 2017/03/10 17:43:05, Xianzhu wrote: > ...
3 years, 9 months ago (2017-03-13 19:08:09 UTC) #34
pdr.
On 2017/03/13 at 19:08:09, wangxianzhu wrote: > https://codereview.chromium.org/2732573003/diff/160001/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp > File third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp (right): > > https://codereview.chromium.org/2732573003/diff/160001/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp#newcode264 ...
3 years, 9 months ago (2017-03-14 03:23:48 UTC) #35
pdr.
Hi Xianzhu, I don't want to delay this too long because it's a good patch. ...
3 years, 9 months ago (2017-03-16 19:58:30 UTC) #40
Xianzhu
On 2017/03/16 19:58:30, pdr. wrote: > Hi Xianzhu, I don't want to delay this too ...
3 years, 9 months ago (2017-03-16 20:05:05 UTC) #41
pdr.
On 2017/03/16 at 20:05:05, wangxianzhu wrote: > On 2017/03/16 19:58:30, pdr. wrote: > > Hi ...
3 years, 9 months ago (2017-03-16 20:45:05 UTC) #42
Xianzhu
I think this CL is ready for review :) Ptal.
3 years, 9 months ago (2017-03-27 18:22:04 UTC) #81
pdr.
This is great, LGTM. https://codereview.chromium.org/2732573003/diff/420001/third_party/WebKit/Source/core/paint/FindPaintOffsetAndVisualRectNeedingUpdate.h File third_party/WebKit/Source/core/paint/FindPaintOffsetAndVisualRectNeedingUpdate.h (right): https://codereview.chromium.org/2732573003/diff/420001/third_party/WebKit/Source/core/paint/FindPaintOffsetAndVisualRectNeedingUpdate.h#newcode1 third_party/WebKit/Source/core/paint/FindPaintOffsetAndVisualRectNeedingUpdate.h:1: // Copyright 2017 The Chromium ...
3 years, 8 months ago (2017-03-27 21:15:02 UTC) #82
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2732573003/480001
3 years, 8 months ago (2017-04-02 20:28:49 UTC) #93
commit-bot: I haz the power
Committed patchset #25 (id:480001) as https://chromium.googlesource.com/chromium/src/+/81f28ed19f771fe93406496d1d23da137abcd602
3 years, 8 months ago (2017-04-02 21:46:39 UTC) #96
Timothy Loh
3 years, 8 months ago (2017-04-03 01:42:21 UTC) #97
Message was sent while issue was closed.
A revert of this CL (patchset #25 id:480001) has been created in
https://codereview.chromium.org/2792863002/ by timloh@chromium.org.

The reason for reverting is: Looks like this is making tests fail on most
builders, e.g.

https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty....

Powered by Google App Engine
This is Rietveld 408576698