Chromium Code Reviews
Help | Chromium Project | Gerrit Changes | Sign in
(43)

Issue 1160223004: Avoid false-positives of under-invalidation checking (Closed)

Created:
4 years, 11 months ago by Xianzhu
Modified:
4 years, 11 months ago
CC:
blink-reviews, Rik, danakj, dshwang, krit, f(malita), jbroman, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Avoid false-positives of under-invalidation checking HTMLCanvasPainter may produce pictures having the same contents but different representations. Add CheckBitmap mode of under-invalidation checking for the case. If cull rects are the same, check bitmaps to avoid false-positives. BUG=486845 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=196259

Patch Set 1 #

Total comments: 2

Patch Set 2 : Check bitmap for canvas drawings only #

Patch Set 3 : Check bitmaps for HTML canvas drawings only #

Total comments: 5

Patch Set 4 : Fix a typo #

Patch Set 5 : Fix build break (release w/ assert) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+88 lines, -35 lines) Patch
M Source/core/paint/BoxPainter.cpp View 1 2 3 4 1 chunk +3 lines, -3 lines 0 comments Download
M Source/core/paint/HTMLCanvasPainter.cpp View 1 1 chunk +5 lines, -0 lines 0 comments Download
M Source/platform/graphics/paint/DisplayItemList.cpp View 1 2 3 4 4 chunks +54 lines, -12 lines 0 comments Download
M Source/platform/graphics/paint/DrawingDisplayItem.h View 1 3 chunks +21 lines, -13 lines 0 comments Download
M Source/platform/graphics/paint/DrawingRecorder.h View 1 3 chunks +3 lines, -3 lines 0 comments Download
M Source/platform/graphics/paint/DrawingRecorder.cpp View 1 3 chunks +2 lines, -4 lines 0 comments Download

Messages

Total messages: 23 (8 generated)
Xianzhu
4 years, 11 months ago (2015-06-01 18:29:25 UTC) #2
chrishtr
https://codereview.chromium.org/1160223004/diff/1/Source/platform/graphics/paint/DisplayItemList.cpp File Source/platform/graphics/paint/DisplayItemList.cpp (right): https://codereview.chromium.org/1160223004/diff/1/Source/platform/graphics/paint/DisplayItemList.cpp#newcode354 Source/platform/graphics/paint/DisplayItemList.cpp:354: SkRect rect = newPicture->cullRect(); I think this would induce ...
4 years, 11 months ago (2015-06-01 19:04:28 UTC) #3
Xianzhu
https://codereview.chromium.org/1160223004/diff/1/Source/platform/graphics/paint/DisplayItemList.cpp File Source/platform/graphics/paint/DisplayItemList.cpp (right): https://codereview.chromium.org/1160223004/diff/1/Source/platform/graphics/paint/DisplayItemList.cpp#newcode354 Source/platform/graphics/paint/DisplayItemList.cpp:354: SkRect rect = newPicture->cullRect(); On 2015/06/01 19:04:28, chrishtr wrote: ...
4 years, 11 months ago (2015-06-01 19:10:15 UTC) #4
Xianzhu
Anyway, just noticed that the method won't work when we remove cullRect. Trying your method.
4 years, 11 months ago (2015-06-01 19:12:32 UTC) #5
Xianzhu
On 2015/06/01 19:12:32, Xianzhu wrote: > Anyway, just noticed that the method won't work when ...
4 years, 11 months ago (2015-06-01 19:15:02 UTC) #6
chrishtr
On 2015/06/01 at 19:15:02, wangxianzhu wrote: > On 2015/06/01 19:12:32, Xianzhu wrote: > > Anyway, ...
4 years, 11 months ago (2015-06-01 19:17:47 UTC) #7
Xianzhu
Now the CL compares bitmaps of pictures for HTML canvas painting only. Ptal.
4 years, 11 months ago (2015-06-01 21:12:42 UTC) #8
chrishtr
https://codereview.chromium.org/1160223004/diff/40001/Source/core/paint/BoxPainter.cpp File Source/core/paint/BoxPainter.cpp (right): https://codereview.chromium.org/1160223004/diff/40001/Source/core/paint/BoxPainter.cpp#newcode104 Source/core/paint/BoxPainter.cpp:104: recorder.setUnderInvalidationCheckingMode(DrawingDisplayItem::DontCheck); Wrong indentation. https://codereview.chromium.org/1160223004/diff/40001/Source/core/paint/HTMLCanvasPainter.cpp File Source/core/paint/HTMLCanvasPainter.cpp (right): https://codereview.chromium.org/1160223004/diff/40001/Source/core/paint/HTMLCanvasPainter.cpp#newcode32 Source/core/paint/HTMLCanvasPainter.cpp:32: ...
4 years, 11 months ago (2015-06-01 21:35:37 UTC) #9
Xianzhu
https://codereview.chromium.org/1160223004/diff/40001/Source/core/paint/BoxPainter.cpp File Source/core/paint/BoxPainter.cpp (right): https://codereview.chromium.org/1160223004/diff/40001/Source/core/paint/BoxPainter.cpp#newcode104 Source/core/paint/BoxPainter.cpp:104: recorder.setUnderInvalidationCheckingMode(DrawingDisplayItem::DontCheck); On 2015/06/01 21:35:37, chrishtr wrote: > Wrong indentation. ...
4 years, 11 months ago (2015-06-01 21:43:18 UTC) #10
chrishtr
On 2015/06/01 at 21:43:18, wangxianzhu wrote: > https://codereview.chromium.org/1160223004/diff/40001/Source/core/paint/BoxPainter.cpp > File Source/core/paint/BoxPainter.cpp (right): > > https://codereview.chromium.org/1160223004/diff/40001/Source/core/paint/BoxPainter.cpp#newcode104 ...
4 years, 11 months ago (2015-06-01 21:46:28 UTC) #11
chrishtr
lgtm
4 years, 11 months ago (2015-06-01 21:46:38 UTC) #13
Justin Novosad
https://codereview.chromium.org/1160223004/diff/40001/Source/platform/graphics/paint/DisplayItemList.cpp File Source/platform/graphics/paint/DisplayItemList.cpp (right): https://codereview.chromium.org/1160223004/diff/40001/Source/platform/graphics/paint/DisplayItemList.cpp#newcode358 Source/platform/graphics/paint/DisplayItemList.cpp:358: case DrawingDisplayItem::CheckBitmap: For now, this strategy will work. In ...
4 years, 11 months ago (2015-06-01 21:47:34 UTC) #14
Justin Novosad
lgtm
4 years, 11 months ago (2015-06-01 21:47:47 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1160223004/80001
4 years, 11 months ago (2015-06-01 23:34:27 UTC) #22
commit-bot: I haz the power
4 years, 11 months ago (2015-06-02 00:23:03 UTC) #23
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=196259

Powered by Google App Engine
This is Rietveld 408576698