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

Issue 2502353003: Paint collapsed borders of a table as one display item (Closed)

Created:
4 years, 1 month ago by Xianzhu
Modified:
4 years ago
Reviewers:
chrishtr, esprehn, wkorman
CC:
ajuma+watch_chromium.org, blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-paint_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, leviw+renderwatch, mac-reviews_chromium.org, pdr+graphicswatchlist_chromium.org, pdr+renderingwatchlist_chromium.org, rwlbuis, Stephen Chennney, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Paint collapsed borders of a table as one display item This simplifies paint invalidation logic on collapsed border changes. About performance: With this CL we create a big display item on the table containing all collapsed border paintings, instead of many small display items on cells. This will cause more painting when the display item is invalidated, but saves time to handle many cached display items. Perf try jobs [1] show that this CL improves performance of one test (blink_perf.paint.large-table-background-change-with-visible-collapsed-borders.html), and degrade performance of one test (blink_perf.paint.large-table-repaint.html) and doesn't affect much of performance of other tests. Cluster-telemetry run showed no change or slight progression (https://ct.skia.org/chromium_perf_runs/, run 1433) This is a reland of https://codereview.chromium.org/2430313004, with crbug.com/664887 fixed by force invalidation of collapsed borders on layout change. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 BUG=663208, 664887 TBR=chrishtr@chromium.org (for platform/graphics/paint/DisplayItem.h with changed display item types about collapsed borders) Review-Url: https://codereview.chromium.org/2430313004 Committed: https://crrev.com/16363da3f8fba57bef3d203bbb8590bf4f60037e Cr-Original-Commit-Position: refs/heads/master@{#431744} Cr-Commit-Position: refs/heads/master@{#436426}

Patch Set 1 #

Patch Set 2 : - #

Patch Set 3 : rebaseline-cl #

Total comments: 8

Patch Set 4 : - #

Unified diffs Side-by-side diffs Delta from patch set Stats (+600 lines, -657 lines) Patch
M third_party/WebKit/LayoutTests/paint/invalidation/table-cell-collapsed-border-expected.txt View 2 chunks +7 lines, -42 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table-outer-border-expected.txt View 1 chunk +0 lines, -8 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table-section-repaint-expected.txt View 1 2 3 chunks +6 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt View 1 chunk +0 lines, -8 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-cell-append-expected.txt View 1 2 3 chunks +3 lines, -16 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-color-expected.txt View 2 chunks +7 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-width-expected.txt View 1 2 2 chunks +3 lines, -16 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-color-expected.txt View 2 chunks +7 lines, -14 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-width-expected.txt View 1 2 2 chunks +6 lines, -27 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-color-expected.txt View 2 chunks +7 lines, -22 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt View 1 2 2 chunks +6 lines, -30 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-width-expected.txt View 1 2 3 chunks +6 lines, -19 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-color-expected.txt View 1 chunk +0 lines, -4 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-width-expected.txt View 1 chunk +0 lines, -4 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-width-expected.txt View 1 2 2 chunks +3 lines, -32 lines 0 comments Download
M third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-expected.txt View 1 2 2 chunks +9 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/table/composited-cell-change-collapsed-border-color.html View 1 chunk +14 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/table/composited-cell-change-collapsed-border-color-expected.html View 1 chunk +7 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/table/composited-cell-change-collapsed-border-color-expected.txt View 1 2 1 chunk +49 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/table/composited-row-change-collapsed-border-color.html View 1 chunk +14 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/table/composited-row-change-collapsed-border-color-expected.html View 1 chunk +7 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/table/composited-row-change-collapsed-border-color-expected.txt View 1 chunk +41 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/table/composited-section-change-collapsed-border-color.html View 1 chunk +16 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/table/composited-section-change-collapsed-border-color-expected.html View 1 chunk +9 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/paint/invalidation/table/composited-section-change-collapsed-border-color-expected.txt View 1 chunk +41 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-cell-collapsed-border-expected.txt View 2 chunks +7 lines, -42 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-collapsed-border-expected.txt View 1 2 4 chunks +6 lines, -30 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt View 2 chunks +7 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-collapsed-border-expected.txt View 1 2 4 chunks +6 lines, -30 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt View 2 chunks +7 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-collapsed-border-expected.txt View 1 2 4 chunks +6 lines, -30 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt View 2 chunks +7 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/BUILD.gn View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTable.h View 1 4 chunks +21 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTable.cpp View 1 2 3 6 chunks +35 lines, -12 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTableCell.h View 1 2 3 6 chunks +24 lines, -32 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTableCell.cpp View 1 2 3 5 chunks +17 lines, -69 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTableCol.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTableRow.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTableSection.h View 3 chunks +12 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTableSection.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/PaintInvalidator.cpp View 1 1 chunk +2 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/paint/TableCellPainter.h View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/TableCellPainter.cpp View 1 4 chunks +18 lines, -48 lines 0 comments Download
M third_party/WebKit/Source/core/paint/TableCellPainterTest.cpp View 2 chunks +3 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/paint/TablePainter.h View 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/TablePainter.cpp View 1 chunk +49 lines, -19 lines 0 comments Download
A third_party/WebKit/Source/core/paint/TablePainterTest.cpp View 1 chunk +75 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/TableSectionPainter.h View 3 chunks +8 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/paint/TableSectionPainter.cpp View 3 chunks +14 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h View 1 2 chunks +1 line, -22 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/paint/DisplayItem.cpp View 2 chunks +1 line, -17 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 35 (23 generated)
Xianzhu
4 years ago (2016-12-04 05:18:49 UTC) #13
wkorman
lgtm https://codereview.chromium.org/2502353003/diff/40001/third_party/WebKit/Source/core/layout/LayoutTable.cpp File third_party/WebKit/Source/core/layout/LayoutTable.cpp (right): https://codereview.chromium.org/2502353003/diff/40001/third_party/WebKit/Source/core/layout/LayoutTable.cpp#newcode736 third_party/WebKit/Source/core/layout/LayoutTable.cpp:736: invalidateCollapsedBorders(PaintInvalidationForcedByLayout); I assume this, and the check for ...
4 years ago (2016-12-05 05:49:22 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/2502353003/40001
4 years ago (2016-12-05 17:28:18 UTC) #16
Xianzhu
https://codereview.chromium.org/2502353003/diff/40001/third_party/WebKit/Source/core/layout/LayoutTable.cpp File third_party/WebKit/Source/core/layout/LayoutTable.cpp (right): https://codereview.chromium.org/2502353003/diff/40001/third_party/WebKit/Source/core/layout/LayoutTable.cpp#newcode736 third_party/WebKit/Source/core/layout/LayoutTable.cpp:736: invalidateCollapsedBorders(PaintInvalidationForcedByLayout); On 2016/12/05 05:49:21, wkorman wrote: > I assume ...
4 years ago (2016-12-05 17:28:54 UTC) #17
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/2502353003/60001
4 years ago (2016-12-05 17:30:18 UTC) #21
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/318582)
4 years ago (2016-12-05 17:38:01 UTC) #23
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/2502353003/60001
4 years ago (2016-12-05 19:04:09 UTC) #26
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years ago (2016-12-05 22:27:35 UTC) #29
commit-bot: I haz the power
Patchset 4 (id:??) landed as https://crrev.com/16363da3f8fba57bef3d203bbb8590bf4f60037e Cr-Commit-Position: refs/heads/master@{#436426}
4 years ago (2016-12-05 22:30:24 UTC) #31
esprehn
Does this mean appending a new row to a table with collapsed borders will always ...
4 years ago (2016-12-06 01:31:29 UTC) #33
Xianzhu
On 2016/12/06 01:31:29, esprehn wrote: > Does this mean appending a new row to a ...
4 years ago (2016-12-06 02:16:38 UTC) #34
Xianzhu
4 years ago (2016-12-06 02:17:57 UTC) #35
Message was sent while issue was closed.
A revert of this CL (patchset #4 id:60001) has been created in
https://codereview.chromium.org/2556633002/ by wangxianzhu@chromium.org.

The reason for reverting is: Need to think more about performance and improve..

Powered by Google App Engine
This is Rietveld 408576698