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

Issue 1327563003: Don't cache subsequence whose layer is not fully contained by repaint rect (Closed)

Created:
5 years, 3 months ago by Xianzhu
Modified:
5 years, 3 months ago
Reviewers:
chrishtr, pdr.
CC:
blink-reviews, blink-reviews-paint_chromium.org, dshwang, slimming-paint-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Don't cache subsequence whose layer is not fully contained by repaint rect When the interest rect changes, a layer paints newly uncovered contents and doesn't paint contents out of the rect. We should not cache the layer's subsequence in the case. BUG=410097 TEST=DisplayItemListPaintTestForSlimmingPaintV2.CachedSubsequenceOnInterestRectChange Committed: https://crrev.com/b1739f766d8d1825abc5a2fe8c9d4354e1053537 git-svn-id: svn://svn.chromium.org/blink/trunk@202078 bbb929c8-8fbe-4397-9dbb-9b2b20218538

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : New method preview (WIP) #

Patch Set 4 : For review #

Total comments: 5

Patch Set 5 : #

Total comments: 4

Patch Set 6 : #

Patch Set 7 : #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+328 lines, -128 lines) Patch
M Source/core/core.gypi View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/frame/FrameView.h View 1 2 3 4 2 chunks +4 lines, -3 lines 0 comments Download
M Source/core/frame/FrameView.cpp View 1 2 3 4 5 chunks +6 lines, -8 lines 0 comments Download
M Source/core/paint/DeprecatedPaintLayerPainter.h View 1 2 3 4 5 1 chunk +16 lines, -6 lines 0 comments Download
M Source/core/paint/DeprecatedPaintLayerPainter.cpp View 1 2 3 4 5 6 15 chunks +77 lines, -34 lines 2 comments Download
A Source/core/paint/DeprecatedPaintLayerPainterTest.cpp View 1 2 3 4 5 1 chunk +179 lines, -0 lines 0 comments Download
M Source/core/paint/DeprecatedPaintLayerReflectionInfo.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M Source/core/paint/DisplayItemListPaintTest.h View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/paint/DisplayItemListPaintTest.cpp View 1 2 3 4 5 5 chunks +18 lines, -71 lines 0 comments Download
M Source/platform/graphics/paint/DisplayItemList.cpp View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M Source/platform/graphics/paint/SubsequenceRecorder.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M Source/platform/graphics/paint/SubsequenceRecorder.cpp View 1 2 3 4 2 chunks +21 lines, -2 lines 0 comments Download

Messages

Total messages: 36 (6 generated)
Xianzhu
5 years, 3 months ago (2015-09-01 01:30:59 UTC) #2
chrishtr
How about we just do this: 1. Make sure not to clip the DisplayItemList at ...
5 years, 3 months ago (2015-09-01 17:42:11 UTC) #3
Xianzhu
On 2015/09/01 17:42:11, chrishtr wrote: > How about we just do this: > > 1. ...
5 years, 3 months ago (2015-09-02 05:41:33 UTC) #4
chrishtr
On 2015/09/02 at 05:41:33, wangxianzhu wrote: > On 2015/09/01 17:42:11, chrishtr wrote: > > How ...
5 years, 3 months ago (2015-09-02 17:33:48 UTC) #5
chrishtr
How about this: Whenever painting {Begin,End}SubsequenceDisplayItem, record cache-ability bits on them. A {Begin,End}SubsequenceDisplayItem pair is ...
5 years, 3 months ago (2015-09-03 20:06:06 UTC) #6
Xianzhu
On 2015/09/03 20:06:06, chrishtr wrote: > How about this: > > Whenever painting {Begin,End}SubsequenceDisplayItem, record ...
5 years, 3 months ago (2015-09-04 18:29:51 UTC) #7
chrishtr
On 2015/09/04 at 18:29:51, wangxianzhu wrote: > On 2015/09/03 20:06:06, chrishtr wrote: > > How ...
5 years, 3 months ago (2015-09-04 19:59:56 UTC) #8
chrishtr
On 2015/09/04 at 19:59:56, chrishtr wrote: > On 2015/09/04 at 18:29:51, wangxianzhu wrote: > > ...
5 years, 3 months ago (2015-09-04 20:00:43 UTC) #9
Xianzhu
On 2015/09/04 20:00:43, chrishtr wrote: > On 2015/09/04 at 19:59:56, chrishtr wrote: > > On ...
5 years, 3 months ago (2015-09-04 21:09:35 UTC) #10
chrishtr
On 2015/09/04 at 21:09:35, wangxianzhu wrote: > On 2015/09/04 20:00:43, chrishtr wrote: > > On ...
5 years, 3 months ago (2015-09-04 21:14:14 UTC) #11
Xianzhu
On 2015/09/04 21:14:14, chrishtr wrote: > You mean physicalBoundingBox of LayoutObjects? Otherwise we'll have to ...
5 years, 3 months ago (2015-09-04 21:20:37 UTC) #12
Xianzhu
Patch Set 3 is the implementation of the new method. Still WIP.
5 years, 3 months ago (2015-09-05 01:32:19 UTC) #13
Xianzhu
It's ready for review. Ptal.
5 years, 3 months ago (2015-09-08 16:33:35 UTC) #14
chrishtr
https://codereview.chromium.org/1327563003/diff/60001/Source/platform/graphics/paint/DisplayItem.h File Source/platform/graphics/paint/DisplayItem.h (right): https://codereview.chromium.org/1327563003/diff/60001/Source/platform/graphics/paint/DisplayItem.h#newcode262 Source/platform/graphics/paint/DisplayItem.h:262: bool isUncacheable() const { return m_isUncacheable; } This can ...
5 years, 3 months ago (2015-09-08 22:48:00 UTC) #15
Xianzhu
https://codereview.chromium.org/1327563003/diff/60001/Source/platform/graphics/paint/DisplayItemList.cpp File Source/platform/graphics/paint/DisplayItemList.cpp (right): https://codereview.chromium.org/1327563003/diff/60001/Source/platform/graphics/paint/DisplayItemList.cpp#newcode98 Source/platform/graphics/paint/DisplayItemList.cpp:98: // TODO(wangxianzhu): Distinguish skippingCache and uncacheablility. On 2015/09/08 22:48:00, ...
5 years, 3 months ago (2015-09-09 16:50:33 UTC) #16
chrishtr
https://codereview.chromium.org/1327563003/diff/80001/Source/core/paint/DeprecatedPaintLayerPainter.h File Source/core/paint/DeprecatedPaintLayerPainter.h (right): https://codereview.chromium.org/1327563003/diff/80001/Source/core/paint/DeprecatedPaintLayerPainter.h#newcode25 Source/core/paint/DeprecatedPaintLayerPainter.h:25: enum PaintResult { FullyPainted, NotFullyPainted }; s/NotFullyPainted/MaybeNotFullyPainted/ Also add ...
5 years, 3 months ago (2015-09-09 17:23:45 UTC) #17
Xianzhu
https://codereview.chromium.org/1327563003/diff/80001/Source/core/paint/DeprecatedPaintLayerPainter.h File Source/core/paint/DeprecatedPaintLayerPainter.h (right): https://codereview.chromium.org/1327563003/diff/80001/Source/core/paint/DeprecatedPaintLayerPainter.h#newcode25 Source/core/paint/DeprecatedPaintLayerPainter.h:25: enum PaintResult { FullyPainted, NotFullyPainted }; On 2015/09/09 17:23:45, ...
5 years, 3 months ago (2015-09-09 21:30:44 UTC) #18
chrishtr
lgtm
5 years, 3 months ago (2015-09-09 21:35:27 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1327563003/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1327563003/100001
5 years, 3 months ago (2015-09-09 21:35:41 UTC) #21
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/101911)
5 years, 3 months ago (2015-09-09 22:39:39 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1327563003/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1327563003/100001
5 years, 3 months ago (2015-09-09 22:48:07 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/111442)
5 years, 3 months ago (2015-09-09 23:29:45 UTC) #27
Xianzhu
Ptal the following diff in the latest patch: https://codereview.chromium.org/1327563003/diff2/100001:120001/Source/core/paint/DeprecatedPaintLayerPainter.cpp It fixes two issue with the ...
5 years, 3 months ago (2015-09-10 16:41:10 UTC) #28
chrishtr
https://codereview.chromium.org/1327563003/diff/120001/Source/core/paint/DeprecatedPaintLayerPainter.cpp File Source/core/paint/DeprecatedPaintLayerPainter.cpp (right): https://codereview.chromium.org/1327563003/diff/120001/Source/core/paint/DeprecatedPaintLayerPainter.cpp#newcode115 Source/core/paint/DeprecatedPaintLayerPainter.cpp:115: result = MaybeNotFullyPainted; Why always MaybeNotFullyPainted?
5 years, 3 months ago (2015-09-10 16:48:26 UTC) #29
Xianzhu
https://codereview.chromium.org/1327563003/diff/120001/Source/core/paint/DeprecatedPaintLayerPainter.cpp File Source/core/paint/DeprecatedPaintLayerPainter.cpp (right): https://codereview.chromium.org/1327563003/diff/120001/Source/core/paint/DeprecatedPaintLayerPainter.cpp#newcode115 Source/core/paint/DeprecatedPaintLayerPainter.cpp:115: result = MaybeNotFullyPainted; On 2015/09/10 16:48:26, chrishtr wrote: > ...
5 years, 3 months ago (2015-09-10 17:04:31 UTC) #30
Xianzhu
Chris, do you have more comments?
5 years, 3 months ago (2015-09-10 22:20:09 UTC) #31
chrishtr
lgtm
5 years, 3 months ago (2015-09-10 22:23:44 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1327563003/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1327563003/120001
5 years, 3 months ago (2015-09-10 22:24:16 UTC) #34
commit-bot: I haz the power
Committed patchset #7 (id:120001) as https://src.chromium.org/viewvc/blink?view=rev&revision=202078
5 years, 3 months ago (2015-09-10 23:11:56 UTC) #35
commit-bot: I haz the power
5 years, 3 months ago (2015-09-23 12:16:03 UTC) #36
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/b1739f766d8d1825abc5a2fe8c9d4354e1053537

Powered by Google App Engine
This is Rietveld 408576698