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

Issue 2107103002: Find cached display items directly during painting (Closed)

Created:
4 years, 5 months ago by Xianzhu
Modified:
4 years, 5 months ago
Reviewers:
pdr., chrishtr, jbroman
CC:
ajuma+watch_chromium.org, blink-layers+watch_chromium.org, blink-reviews, blink-reviews-paint_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dshwang, drott+blinkwatch_chromium.org, krit, f(malita), jbroman, Justin Novosad, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney, slimming-paint-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Find cached display items directly during painting Instead of adding CachedDisplayItems in the new display item list and replace them with real cached display items during commit, now find and add the real cached display items during painting directly. The main purpose is to let PaintChunker work for cached subsequences. Also has other benefits: - Avoid another display list during commit; - Avoid creating CachedDisplayItems. BUG=596983, 510908 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8 Cr-Commit-Position: refs/heads/master@{#404938}

Patch Set 1 #

Patch Set 2 : Update docs #

Patch Set 3 : Update docs #

Patch Set 4 : - #

Patch Set 5 : Enable subsequence caching for SPv2 #

Patch Set 6 : Rebase #

Patch Set 7 : Enable subsequence caching for SPv2 #

Patch Set 8 : initial capacity #

Patch Set 9 : Fix alignment issue of ContiguousContainer #

Patch Set 10 : Fix alignment issue of ContiguousContainer #

Patch Set 11 : Rebase onto https://codereview.chromium.org/2119033003/ #

Patch Set 12 : Rebase #

Patch Set 13 : Remove alignment base #

Patch Set 14 : Rebase #

Total comments: 9

Patch Set 15 : Address comments #

Patch Set 16 : Still disable subsequence caching for spv2 #

Total comments: 16

Patch Set 17 : Address pdr's comments #

Total comments: 10

Patch Set 18 : Address comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+449 lines, -371 lines) Patch
M third_party/WebKit/Source/core/paint/LayoutObjectDrawingRecorderTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintControllerPaintTest.h View 9 10 11 12 2 chunks +2 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerPainterTest.cpp View 3 chunks +9 lines, -39 lines 0 comments Download
M third_party/WebKit/Source/core/paint/README.md View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +4 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/platform/blink_platform.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/ContiguousContainer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/GraphicsLayer.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download
D third_party/WebKit/Source/platform/graphics/paint/CachedDisplayItem.h View 11 12 1 chunk +0 lines, -32 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 chunks +11 lines, -31 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItem.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.h View 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp View 9 10 11 12 2 chunks +1 line, -6 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +6 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -20 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 chunks +59 lines, -13 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 9 chunks +176 lines, -149 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp View 1 2 9 10 11 12 15 chunks +146 lines, -21 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/README.md View 1 3 chunks +14 lines, -14 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/SubsequenceRecorder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +6 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/SubsequenceRecorder.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -25 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 25 (7 generated)
Xianzhu
This is still WIP. First cluster telemetry run shows slight regressions (record time +0.28% ~ ...
4 years, 5 months ago (2016-06-29 16:41:46 UTC) #3
Xianzhu
On 2016/06/29 16:41:46, Xianzhu wrote: > This is still WIP. First cluster telemetry run shows ...
4 years, 5 months ago (2016-07-06 17:27:56 UTC) #5
jbroman
https://codereview.chromium.org/2107103002/diff/260001/third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp File third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp (right): https://codereview.chromium.org/2107103002/diff/260001/third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp#newcode176 third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp:176: while (m_endIndex < m_buffers.size() - 1) How are we ...
4 years, 5 months ago (2016-07-06 17:34:03 UTC) #6
Xianzhu
https://codereview.chromium.org/2107103002/diff/260001/third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp File third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp (right): https://codereview.chromium.org/2107103002/diff/260001/third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp#newcode176 third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp:176: while (m_endIndex < m_buffers.size() - 1) On 2016/07/06 17:34:03, ...
4 years, 5 months ago (2016-07-06 18:05:27 UTC) #7
jbroman
I like this patch in principle. Bot failures look real; can you resolve them? https://codereview.chromium.org/2107103002/diff/260001/third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp ...
4 years, 5 months ago (2016-07-06 19:09:38 UTC) #8
Xianzhu
The failures seem caused by misaligned TransformationMatrix. Rebased the CL on https://codereview.chromium.org/2122573002/ to see if ...
4 years, 5 months ago (2016-07-06 19:29:34 UTC) #9
Xianzhu
There are still failures of several spv2 tests. The new method is still not fully ...
4 years, 5 months ago (2016-07-06 22:31:37 UTC) #10
Xianzhu
On 2016/07/06 22:31:37, Xianzhu wrote: > There are still failures of several spv2 tests. The ...
4 years, 5 months ago (2016-07-11 19:05:58 UTC) #12
pdr.
Really nice! This cleans up a lot of complexity. You said "Though the main purpose ...
4 years, 5 months ago (2016-07-12 02:19:52 UTC) #13
Xianzhu
https://codereview.chromium.org/2107103002/diff/300001/third_party/WebKit/Source/platform/graphics/ContiguousContainer.h File third_party/WebKit/Source/platform/graphics/ContiguousContainer.h (right): https://codereview.chromium.org/2107103002/diff/300001/third_party/WebKit/Source/platform/graphics/ContiguousContainer.h#newcode65 third_party/WebKit/Source/platform/graphics/ContiguousContainer.h:65: void removeEmptyBuffers(); On 2016/07/12 02:19:51, pdr. wrote: > ContiguousContainer's ...
4 years, 5 months ago (2016-07-12 17:56:48 UTC) #14
jbroman
https://codereview.chromium.org/2107103002/diff/300001/third_party/WebKit/Source/platform/graphics/paint/PaintController.h File third_party/WebKit/Source/platform/graphics/paint/PaintController.h (right): https://codereview.chromium.org/2107103002/diff/300001/third_party/WebKit/Source/platform/graphics/paint/PaintController.h#newcode169 third_party/WebKit/Source/platform/graphics/paint/PaintController.h:169: , m_numSequentialMatches(0) On 2016/07/12 at 17:56:47, Xianzhu wrote: > ...
4 years, 5 months ago (2016-07-12 19:05:50 UTC) #15
pdr.
Looks great, just a couple of questions before l-g-t-m. https://codereview.chromium.org/2107103002/diff/300001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp File third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp (right): https://codereview.chromium.org/2107103002/diff/300001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp#newcode426 third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp:426: ...
4 years, 5 months ago (2016-07-12 20:09:36 UTC) #16
Xianzhu
https://codereview.chromium.org/2107103002/diff/300001/third_party/WebKit/Source/platform/graphics/paint/PaintController.h File third_party/WebKit/Source/platform/graphics/paint/PaintController.h (right): https://codereview.chromium.org/2107103002/diff/300001/third_party/WebKit/Source/platform/graphics/paint/PaintController.h#newcode169 third_party/WebKit/Source/platform/graphics/paint/PaintController.h:169: , m_numSequentialMatches(0) On 2016/07/12 19:05:49, jbroman wrote: > On ...
4 years, 5 months ago (2016-07-13 00:28:22 UTC) #17
pdr.
LGTM
4 years, 5 months ago (2016-07-13 00:32:46 UTC) #18
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/2107103002/340001
4 years, 5 months ago (2016-07-13 00:53:17 UTC) #20
commit-bot: I haz the power
Committed patchset #18 (id:340001)
4 years, 5 months ago (2016-07-13 03:00:38 UTC) #22
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-07-13 03:01:01 UTC) #23
commit-bot: I haz the power
4 years, 5 months ago (2016-07-13 03:02:04 UTC) #25
Message was sent while issue was closed.
Patchset 18 (id:??) landed as
https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8
Cr-Commit-Position: refs/heads/master@{#404938}

Powered by Google App Engine
This is Rietveld 408576698