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

Issue 2464053003: Always paint background and shadow separately (Closed)

Created:
4 years, 1 month ago by Xianzhu
Modified:
4 years, 1 month ago
Reviewers:
pdr., trchen, chrishtr
CC:
blink-reviews, blink-reviews-paint_chromium.org, chromium-reviews, dshwang
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Always paint background and shadow separately The logic to piggyback shadow on background painting is complex and fragile. For the bug, we skip painting background-color which is obscured by background-image but we also slip shadow piggybacked on painting background. The logic was added in WebKit for some graphics library that can draw combined background and shadow faster. It's confirmed that Skia doesn't benefit from the logic. Local perf test (containing hundreds of divs with simple background and shadow) showed this CL doesn't affect rasterization performance, and degrade record performance by 0% to 40% because of more drawing operations to handle. Considering that the test is an extreme example of background+ shadow which is unlikely to exist in real pages, the performance impact of this CL on real pages will be acceptable. Telemetry-cluster showed no regression on 10k web pages. Remove the logic to simply code and fix the bug. BUG=660187 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/eac477641ec5fdf9e3b9ec52d46fc3a908e8503e Cr-Commit-Position: refs/heads/master@{#429738}

Patch Set 1 #

Patch Set 2 : Rebaseline-cl (invisible pixel changes along shadow edges) (The original Patch Set 2 was removed to get the try result in Patch Set 1) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+57 lines, -168 lines) Patch
M third_party/WebKit/LayoutTests/fast/css/box-shadow-and-border-radius-expected.png View 1 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/paint/background/background-and-shadow.html View 1 1 chunk +34 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/background/background-and-shadow-expected.html View 1 1 chunk +14 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/fast/transforms/shadows-expected.png View 1 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/fast/transforms/shadows-expected.png View 1 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/fast/transforms/shadows-expected.png View 1 Binary file 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBoxModelObject.h View 1 1 chunk +0 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp View 1 1 chunk +0 lines, -57 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutImage.h View 1 1 chunk +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutImage.cpp View 1 1 chunk +0 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTableCell.h View 1 1 chunk +0 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTableCell.cpp View 1 1 chunk +0 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/layout/api/LineLayoutBoxModel.h View 1 1 chunk +0 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BoxPainter.cpp View 1 8 chunks +8 lines, -74 lines 0 comments Download
M third_party/WebKit/Source/core/paint/InlineFlowBoxPainter.cpp View 1 1 chunk +1 line, -3 lines 0 comments Download

Messages

Total messages: 28 (18 generated)
Xianzhu
4 years, 1 month ago (2016-11-03 01:08:54 UTC) #8
chrishtr
lgtm
4 years, 1 month ago (2016-11-03 17:56:42 UTC) #10
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/2464053003/40001
4 years, 1 month ago (2016-11-03 18:51:29 UTC) #14
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/2464053003/40001
4 years, 1 month ago (2016-11-03 18:52:14 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/330370)
4 years, 1 month ago (2016-11-03 19:44:48 UTC) #18
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/2464053003/40001
4 years, 1 month ago (2016-11-03 19:51:00 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/330447)
4 years, 1 month ago (2016-11-03 22:40:13 UTC) #22
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/2464053003/40001
4 years, 1 month ago (2016-11-03 22:44:55 UTC) #24
commit-bot: I haz the power
Committed patchset #2 (id:40001)
4 years, 1 month ago (2016-11-04 00:40:03 UTC) #26
commit-bot: I haz the power
4 years, 1 month ago (2016-11-04 00:45:01 UTC) #28
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/eac477641ec5fdf9e3b9ec52d46fc3a908e8503e
Cr-Commit-Position: refs/heads/master@{#429738}

Powered by Google App Engine
This is Rietveld 408576698