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

Issue 2833883003: Skip paint chunks with effectively invisible opacity. (Closed)

Created:
3 years, 8 months ago by wkorman
Modified:
3 years, 7 months ago
CC:
blink-reviews, blink-reviews-paint_chromium.org, chromium-reviews, dshwang
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Skip paint chunks with effectively invisible opacity. For SPv2 we always paint effectively invisible content, but during layerization we scrutinize effect node and skip chunks that would be effectively invisible. This simplifies code in SPv2 while still avoiding the resource and processing overhead of creating, managing and rastering a layer for that chunk. BUG=713403 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2833883003 Cr-Commit-Position: refs/heads/master@{#468120} Committed: https://chromium.googlesource.com/chromium/src/+/caaa5c77ce09501d9dd409bde61ae226e1768b7f

Patch Set 1 #

Total comments: 6

Patch Set 2 : Rework effectively invisible opacity optimization to handle in PAC. #

Patch Set 3 : Tweak comment. #

Total comments: 1

Patch Set 4 : Consider direct compositing reasons before skipping a chunk. #

Patch Set 5 : Remove TODO comment. #

Total comments: 2

Patch Set 6 : Updated per discussion. #

Total comments: 7

Patch Set 7 : Feedback. #

Patch Set 8 : Sync to head. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+255 lines, -25 lines) Patch
M third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp View 1 2 3 4 5 1 chunk +7 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerPainterTest.cpp View 1 2 3 4 5 9 chunks +19 lines, -23 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp View 1 2 3 4 5 6 1 chunk +38 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp View 1 2 3 4 5 2 chunks +191 lines, -0 lines 0 comments Download

Messages

Total messages: 49 (31 generated)
wkorman
https://codereview.chromium.org/2833883003/diff/1/third_party/WebKit/Source/core/paint/PaintLayer.cpp File third_party/WebKit/Source/core/paint/PaintLayer.cpp (right): https://codereview.chromium.org/2833883003/diff/1/third_party/WebKit/Source/core/paint/PaintLayer.cpp#newcode2769 third_party/WebKit/Source/core/paint/PaintLayer.cpp:2769: bool PaintLayer::IsComposited() const { There is other logic in ...
3 years, 8 months ago (2017-04-20 22:23:56 UTC) #3
wkorman
+pdr as a fellow arborist.
3 years, 8 months ago (2017-04-21 21:31:57 UTC) #9
chrishtr
This heuristic is looking a bit hacky. What if we moved this heuristic to the ...
3 years, 8 months ago (2017-04-21 21:55:46 UTC) #10
wkorman
On 2017/04/21 21:55:46, chrishtr wrote: > This heuristic is looking a bit hacky. What if ...
3 years, 8 months ago (2017-04-22 00:06:49 UTC) #11
chrishtr
On 2017/04/22 at 00:06:49, wkorman wrote: > On 2017/04/21 21:55:46, chrishtr wrote: > > This ...
3 years, 8 months ago (2017-04-23 17:05:10 UTC) #12
wkorman
PTAL https://codereview.chromium.org/2833883003/diff/1/third_party/WebKit/Source/core/paint/PaintLayer.h File third_party/WebKit/Source/core/paint/PaintLayer.h (left): https://codereview.chromium.org/2833883003/diff/1/third_party/WebKit/Source/core/paint/PaintLayer.h#oldcode570 third_party/WebKit/Source/core/paint/PaintLayer.h:570: return IsTransparent() && After this change nothing seems ...
3 years, 8 months ago (2017-04-24 19:49:38 UTC) #14
chrishtr
https://codereview.chromium.org/2833883003/diff/80001/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp File third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp (left): https://codereview.chromium.org/2833883003/diff/80001/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp#oldcode67 third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp:67: bool PaintLayerPainter::PaintedOutputInvisible( I think we still need this for ...
3 years, 8 months ago (2017-04-26 19:58:22 UTC) #25
chrishtr
3 years, 8 months ago (2017-04-26 20:02:14 UTC) #27
wkorman
https://codereview.chromium.org/2833883003/diff/80001/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp File third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp (left): https://codereview.chromium.org/2833883003/diff/80001/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp#oldcode67 third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp:67: bool PaintLayerPainter::PaintedOutputInvisible( On 2017/04/26 19:58:21, chrishtr wrote: > I ...
3 years, 8 months ago (2017-04-27 00:02:32 UTC) #28
trchen
https://codereview.chromium.org/2833883003/diff/100001/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp File third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp (right): https://codereview.chromium.org/2833883003/diff/100001/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp#newcode477 third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp:477: static bool SkipEffectivelyInvisibleChunks( I feel this could be confusing ...
3 years, 7 months ago (2017-04-27 00:24:10 UTC) #30
wkorman
https://codereview.chromium.org/2833883003/diff/100001/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp File third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp (right): https://codereview.chromium.org/2833883003/diff/100001/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp#newcode477 third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp:477: static bool SkipEffectivelyInvisibleChunks( On 2017/04/27 00:24:10, trchen wrote: > ...
3 years, 7 months ago (2017-04-27 19:42:18 UTC) #31
trchen
lgtm
3 years, 7 months ago (2017-04-27 22:20:32 UTC) #36
wkorman
+wangxianzhu for OWNERS
3 years, 7 months ago (2017-04-28 15:46:20 UTC) #38
Xianzhu
core/paint lgtm.
3 years, 7 months ago (2017-04-28 15:55:17 UTC) #39
Stephen Chennney
lgtm for platform. I wish we could somehow create a test that would fail if ...
3 years, 7 months ago (2017-04-28 18:03:30 UTC) #41
chrishtr
lgtm Sorry for the delay.
3 years, 7 months ago (2017-04-28 18:15:28 UTC) #43
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/2833883003/140001
3 years, 7 months ago (2017-04-28 18:32:37 UTC) #46
commit-bot: I haz the power
3 years, 7 months ago (2017-04-28 20:50:02 UTC) #49
Message was sent while issue was closed.
Committed patchset #8 (id:140001) as
https://chromium.googlesource.com/chromium/src/+/caaa5c77ce09501d9dd409bde61a...

Powered by Google App Engine
This is Rietveld 408576698