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

Issue 1508223005: Client side display item cache flag (Closed)

Created:
5 years ago by Xianzhu
Modified:
4 years, 7 months ago
Reviewers:
chrishtr, pdr.
CC:
blink-layers+watch_chromium.org, blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj, dshwang, drott+blinkwatch_chromium.org, krit, eae+blinkwatch, f(malita), jbroman, jchaffraix+rendering, Justin Novosad, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney, szager+layoutwatch_chromium.org, vmpstr+blinkwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src.git@ScrollbarTheme
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Client side display item cache flag This is to reduce cost of hash lookups in PaintController. See platform/graphics/paint/README.md and DisplayItemClient.h for how it works. BUG=550044 Committed: https://crrev.com/93b971703db1f49a431ddeec2ebc884a232ee6de Cr-Commit-Position: refs/heads/master@{#390763}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : try size #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Total comments: 3

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : Rebase #

Patch Set 10 : Try performance #

Patch Set 11 : Try performance #

Patch Set 12 : Try performance 2 #

Total comments: 4

Patch Set 13 : Remove canUseClientCacheStatus(); Use 64 bit cache generation #

Patch Set 14 : #

Patch Set 15 : #

Patch Set 16 : #

Patch Set 17 : Use 32-bit; Add some comments #

Patch Set 18 : Fix unit tests #

Total comments: 3

Patch Set 19 : #

Total comments: 4

Patch Set 20 : #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+148 lines, -65 lines) Patch
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 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 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/line/InlineBox.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/line/InlineBox.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/exported/WebScrollbarThemeClientImpl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/GraphicsLayer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +51 lines, -0 lines 2 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +7 lines, -3 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 5 chunks +6 lines, -25 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 9 chunks +14 lines, -33 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/README.md View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +46 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/SkPictureBuilder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/scroll/Scrollbar.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/testing/FakeDisplayItemClient.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/testing/TestPaintArtifact.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/web/LinkHighlightImpl.cpp View 1 2 3 4 5 6 7 8 19 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/web/PageOverlay.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 50 (8 generated)
Xianzhu
FIY the other change to add methods into DisplayItemClient.
5 years ago (2015-12-11 16:59:00 UTC) #3
chrishtr
On 2015/12/11 at 16:59:00, wangxianzhu wrote: > FIY the other change to add methods into ...
5 years ago (2015-12-11 17:05:00 UTC) #4
Xianzhu
Currently there are not much data showing the performance gain before we land https://codereview.chromium.org/1552693002/. http://storage.googleapis.com/chromium-telemetry/html-results/results-2015-12-23_14-01-17 ...
4 years, 11 months ago (2015-12-29 20:26:02 UTC) #6
pdr.
https://codereview.chromium.org/1508223005/diff/100001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp File third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp (right): https://codereview.chromium.org/1508223005/diff/100001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp#newcode334 third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp:334: // ASSERT(clientCacheIsValid(newDisplayItem.client()) || (RuntimeEnabledFeatures::slimmingPaintOffsetCachingEnabled() && !paintOffsetWasInvalidated(newDisplayItem.client()))); Drive by: did ...
4 years, 11 months ago (2016-01-04 21:19:31 UTC) #8
chrishtr
Xianzhu, could you remind me of what you think blocks this CL? Is it making ...
4 years, 11 months ago (2016-01-20 21:15:38 UTC) #9
Xianzhu
On 2016/01/20 21:15:38, chrishtr wrote: > Xianzhu, could you remind me of what you think ...
4 years, 11 months ago (2016-01-20 21:33:58 UTC) #10
pdr.
I found that calls to the cache hashtable represent 10% of http://bl.ocks.org/jwhitfieldseed/de685d52af21264fad81. I suspect we'd ...
4 years, 8 months ago (2016-04-18 18:46:54 UTC) #11
Xianzhu
Restart this work. Rebased and uploaded Patch Set 9. Will profile the benchmark and schedule ...
4 years, 8 months ago (2016-04-18 19:19:52 UTC) #12
pdr.
On 2016/04/18 at 19:19:52, wangxianzhu wrote: > Restart this work. > > Rebased and uploaded ...
4 years, 8 months ago (2016-04-18 23:54:53 UTC) #13
pdr.
On 2016/04/18 at 19:19:52, wangxianzhu wrote: > Restart this work. > > Rebased and uploaded ...
4 years, 8 months ago (2016-04-18 23:58:22 UTC) #14
Xianzhu
On 2016/04/18 23:58:22, pdr wrote: > On 2016/04/18 at 19:19:52, wangxianzhu wrote: > > Restart ...
4 years, 8 months ago (2016-04-19 00:06:10 UTC) #15
pdr.
On 2016/04/19 at 00:06:10, wangxianzhu wrote: > On 2016/04/18 23:58:22, pdr wrote: > > On ...
4 years, 8 months ago (2016-04-19 17:49:17 UTC) #16
pdr.
On 2016/04/19 at 17:49:17, pdr wrote: > > > Curious to see how this does ...
4 years, 8 months ago (2016-04-20 02:13:45 UTC) #17
chrishtr
On 2016/04/20 at 02:13:45, pdr wrote: > On 2016/04/19 at 17:49:17, pdr wrote: > > ...
4 years, 8 months ago (2016-04-20 16:39:14 UTC) #18
Xianzhu
Ran several CT tasks which proved the following things: - Increasing LayoutObject size by 4 ...
4 years, 8 months ago (2016-04-25 17:12:29 UTC) #19
chrishtr
On 2016/04/25 at 17:12:29, wangxianzhu wrote: > Ran several CT tasks which proved the following ...
4 years, 8 months ago (2016-04-25 17:28:34 UTC) #20
Xianzhu
On 2016/04/25 17:28:34, chrishtr wrote: > On 2016/04/25 at 17:12:29, wangxianzhu wrote: > > Ran ...
4 years, 8 months ago (2016-04-25 18:44:16 UTC) #21
chrishtr
On 2016/04/25 at 18:44:16, wangxianzhu wrote: > On 2016/04/25 17:28:34, chrishtr wrote: > > On ...
4 years, 8 months ago (2016-04-25 19:41:32 UTC) #22
pdr.
On 2016/04/25 at 18:44:16, wangxianzhu wrote: > On 2016/04/25 17:28:34, chrishtr wrote: > > On ...
4 years, 8 months ago (2016-04-26 04:04:11 UTC) #23
Xianzhu
On 2016/04/26 04:04:11, pdr wrote: > On 2016/04/25 at 18:44:16, wangxianzhu wrote: > > On ...
4 years, 8 months ago (2016-04-26 16:59:35 UTC) #24
Xianzhu
On 2016/04/25 19:41:32, chrishtr wrote: > On 2016/04/25 at 18:44:16, wangxianzhu wrote: > > On ...
4 years, 8 months ago (2016-04-26 17:04:05 UTC) #25
chrishtr
On 2016/04/26 at 16:59:35, wangxianzhu wrote: > On 2016/04/26 04:04:11, pdr wrote: > > On ...
4 years, 8 months ago (2016-04-26 18:48:36 UTC) #26
pdr.
On 2016/04/26 at 16:59:35, wangxianzhu wrote: > On 2016/04/26 04:04:11, pdr wrote: > > Do ...
4 years, 8 months ago (2016-04-26 18:56:16 UTC) #27
chrishtr
On 2016/04/26 at 18:56:16, pdr wrote: > On 2016/04/26 at 16:59:35, wangxianzhu wrote: > > ...
4 years, 8 months ago (2016-04-26 19:01:08 UTC) #28
Xianzhu
On 2016/04/26 18:56:16, pdr wrote: > On 2016/04/26 at 16:59:35, wangxianzhu wrote: > > On ...
4 years, 8 months ago (2016-04-26 19:03:20 UTC) #29
Xianzhu
It's ready for review. Ptal. CT run 808 shows performance gain: record_time_subsequence_caching_disabled -2.6%.
4 years, 7 months ago (2016-04-27 17:07:15 UTC) #30
Xianzhu
The latest patch changes back to use 32-bit cache generation. Assuming there is an animation ...
4 years, 7 months ago (2016-04-27 19:26:29 UTC) #31
chrishtr
https://codereview.chromium.org/1508223005/diff/220001/third_party/WebKit/Source/core/layout/LayoutObject.cpp File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): https://codereview.chromium.org/1508223005/diff/220001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode143 third_party/WebKit/Source/core/layout/LayoutObject.cpp:143: // unsigned cacheGeneration; ? https://codereview.chromium.org/1508223005/diff/220001/third_party/WebKit/Source/core/layout/line/InlineBox.cpp File third_party/WebKit/Source/core/layout/line/InlineBox.cpp (right): https://codereview.chromium.org/1508223005/diff/220001/third_party/WebKit/Source/core/layout/line/InlineBox.cpp#newcode46 ...
4 years, 7 months ago (2016-04-28 00:53:37 UTC) #32
Xianzhu
On 2016/04/28 00:53:37, chrishtr wrote: > https://codereview.chromium.org/1508223005/diff/220001/third_party/WebKit/Source/core/layout/LayoutObject.cpp > File third_party/WebKit/Source/core/layout/LayoutObject.cpp (right): > > https://codereview.chromium.org/1508223005/diff/220001/third_party/WebKit/Source/core/layout/LayoutObject.cpp#newcode143 > ...
4 years, 7 months ago (2016-04-28 16:37:55 UTC) #33
chrishtr
I don't see how the current patch set handles elements which might be painted into ...
4 years, 7 months ago (2016-04-28 20:22:15 UTC) #34
Xianzhu
On 2016/04/28 20:22:15, chrishtr wrote: > I don't see how the current patch set handles ...
4 years, 7 months ago (2016-04-28 23:27:07 UTC) #35
chrishtr
On 2016/04/28 at 23:27:07, wangxianzhu wrote: > On 2016/04/28 20:22:15, chrishtr wrote: > > I ...
4 years, 7 months ago (2016-04-29 00:11:59 UTC) #36
Xianzhu
On 2016/04/29 00:11:59, chrishtr wrote: > On 2016/04/28 at 23:27:07, wangxianzhu wrote: > > On ...
4 years, 7 months ago (2016-04-29 01:24:46 UTC) #38
chrishtr
https://codereview.chromium.org/1508223005/diff/360001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h File third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h (right): https://codereview.chromium.org/1508223005/diff/360001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h#newcode69 third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h:69: // Use DISPLAY_ITEM_CACHE_STATUS_IMPLEMENTATION for cacheable implementation. I think it ...
4 years, 7 months ago (2016-04-29 15:55:17 UTC) #39
Xianzhu
https://codereview.chromium.org/1508223005/diff/360001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h File third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h (right): https://codereview.chromium.org/1508223005/diff/360001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h#newcode69 third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h:69: // Use DISPLAY_ITEM_CACHE_STATUS_IMPLEMENTATION for cacheable implementation. On 2016/04/29 15:55:17, ...
4 years, 7 months ago (2016-04-29 16:37:11 UTC) #40
chrishtr
https://codereview.chromium.org/1508223005/diff/380001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h File third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h (right): https://codereview.chromium.org/1508223005/diff/380001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h#newcode68 third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h:68: virtual bool displayItemsAreCached(DisplayItemCacheGeneration) const = 0; Just move the ...
4 years, 7 months ago (2016-04-29 16:51:15 UTC) #41
Xianzhu
https://codereview.chromium.org/1508223005/diff/380001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h File third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h (right): https://codereview.chromium.org/1508223005/diff/380001/third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h#newcode68 third_party/WebKit/Source/platform/graphics/paint/DisplayItemClient.h:68: virtual bool displayItemsAreCached(DisplayItemCacheGeneration) const = 0; On 2016/04/29 16:51:15, ...
4 years, 7 months ago (2016-04-29 17:17:31 UTC) #42
chrishtr
lgtm
4 years, 7 months ago (2016-04-29 19:51:58 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1508223005/380001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1508223005/380001
4 years, 7 months ago (2016-04-29 19:57:18 UTC) #45
commit-bot: I haz the power
Committed patchset #20 (id:380001)
4 years, 7 months ago (2016-04-29 21:21:35 UTC) #47
commit-bot: I haz the power
Patchset 20 (id:??) landed as https://crrev.com/93b971703db1f49a431ddeec2ebc884a232ee6de Cr-Commit-Position: refs/heads/master@{#390763}
4 years, 7 months ago (2016-04-30 17:29:07 UTC) #48
Xianzhu
4 years, 7 months ago (2016-05-16 18:03:33 UTC) #50
Message was sent while issue was closed.
A revert of this CL (patchset #20 id:380001) has been created in
https://codereview.chromium.org/1979133003/ by wangxianzhu@chromium.org.

The reason for reverting is: This caused crbug.com/609218. It seems that there
is some short-lived
DisplayItemClient but needs more investigations to find which
DisplayItemClient it is.

Revert this to unblock m-52 branch and beta release.

Will reland on m-53 and add some code in release builds to find the
reason.

BUG=609218.

Powered by Google App Engine
This is Rietveld 408576698