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

Issue 2049263003: Check rect under-invalidations (Closed)

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

Description

Check rect under-invalidations There are two modes: - Using RuntimeEnabledFeatures::slimmingPaintUnderInvalidationChecking. When the feature is enabled, for each paint, changed pixels without invalidation are logged and marked red. - In layout tests, when tracking paint invalidation, content_shell will crash if there are any changed pixels without invalidation. The method is: for each GraphicsLayer, after each paint, save the painted picture. After another paint, rasterize the old and new pictures into bitmaps and compare the bitmaps. If any pixel changed but not covered by paint invalidations between the paints, take action (log, mark as red or crash). BUG=617799, 619242 R=chrishtr@chromium.org, pdr@chromium.org Committed: https://crrev.com/43b0c4f23351a0bbfaccfea8d0ce10fec85977db Cr-Commit-Position: refs/heads/master@{#399331}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : Only DCHECK_IS_ON() #

Total comments: 6

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Total comments: 3

Patch Set 9 : Tolerate invisible differences #

Total comments: 1

Patch Set 10 : x #

Patch Set 11 : x #

Patch Set 12 : x #

Unified diffs Side-by-side diffs Delta from patch set Stats (+249 lines, -63 lines) Patch
M third_party/WebKit/LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +19 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/repaint/resources/text-based-repaint.js View 1 2 3 4 5 6 7 1 chunk +8 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp View 2 chunks +8 lines, -12 lines 0 comments Download
M third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/GraphicsLayer.h View 1 2 3 4 5 6 7 8 9 3 chunks +18 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp View 1 2 3 4 5 6 7 8 9 13 chunks +179 lines, -19 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItem.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.h View 1 2 3 4 5 6 3 chunks +4 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp View 1 2 3 4 5 6 3 chunks +8 lines, -16 lines 0 comments Download
M third_party/WebKit/Source/web/LinkHighlightImpl.cpp View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 25 (11 generated)
Xianzhu
4 years, 6 months ago (2016-06-09 17:25:44 UTC) #3
pdr.
https://codereview.chromium.org/2049263003/diff/80001/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp File third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp (right): https://codereview.chromium.org/2049263003/diff/80001/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp#newcode376 third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp:376: DisplayItemCacheSkipper cacheSkipper(context); This change makes sense, but why was ...
4 years, 6 months ago (2016-06-09 19:21:44 UTC) #4
Xianzhu
https://codereview.chromium.org/2049263003/diff/80001/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp File third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp (right): https://codereview.chromium.org/2049263003/diff/80001/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp#newcode376 third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp:376: DisplayItemCacheSkipper cacheSkipper(context); On 2016/06/09 19:21:44, pdr. wrote: > This ...
4 years, 6 months ago (2016-06-09 20:47:45 UTC) #5
pdr.
On 2016/06/09 at 20:47:45, wangxianzhu wrote: Thanks for checking those. Do we need two distinct ...
4 years, 6 months ago (2016-06-09 21:25:47 UTC) #6
Xianzhu
On 2016/06/09 21:25:47, pdr. wrote: > On 2016/06/09 at 20:47:45, wangxianzhu wrote: > Thanks for ...
4 years, 6 months ago (2016-06-09 22:54:32 UTC) #7
Xianzhu
https://codereview.chromium.org/2049263003/diff/140001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp File third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp (left): https://codereview.chromium.org/2049263003/diff/140001/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp#oldcode371 third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp:371: #endif This is removed because it doesn't apply to ...
4 years, 6 months ago (2016-06-09 22:56:03 UTC) #8
pdr.
On 2016/06/09 at 22:54:32, wangxianzhu wrote: > On 2016/06/09 21:25:47, pdr. wrote: > > On ...
4 years, 6 months ago (2016-06-09 22:56:36 UTC) #9
Xianzhu
chrishtr@ would you still like to take a look at the whole patch? https://codereview.chromium.org/2049263003/diff/160001/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp File ...
4 years, 6 months ago (2016-06-10 18:42:58 UTC) #10
chrishtr
Look reasonable to me. Nice approach. I didn't review every line so defer to pdr's ...
4 years, 6 months ago (2016-06-10 18:47:03 UTC) #11
Xianzhu
https://codereview.chromium.org/2049263003/diff/140001/third_party/WebKit/Source/platform/graphics/GraphicsLayer.h File third_party/WebKit/Source/platform/graphics/GraphicsLayer.h (right): https://codereview.chromium.org/2049263003/diff/140001/third_party/WebKit/Source/platform/graphics/GraphicsLayer.h#newcode306 third_party/WebKit/Source/platform/graphics/GraphicsLayer.h:306: void checkUnderPaintInvalidations(const SkPicture&); On 2016/06/10 18:47:02, chrishtr wrote: > ...
4 years, 6 months ago (2016-06-10 18:52:14 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2049263003/180001
4 years, 6 months ago (2016-06-10 20:57:08 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2049263003/200001
4 years, 6 months ago (2016-06-10 21:24:54 UTC) #18
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/245036)
4 years, 6 months ago (2016-06-10 22:50:23 UTC) #20
commit-bot: I haz the power
4 years, 6 months ago (2016-06-11 00:40:20 UTC) #23
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/43b0c4f23351a0bbfaccfea8d0ce10fec85977db
Cr-Commit-Position: refs/heads/master@{#399331}

Powered by Google App Engine
This is Rietveld 408576698