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

Issue 1306433002: Let collapsed border drawings be cacheable (Closed)

Created:
5 years, 4 months ago by Xianzhu
Modified:
5 years, 4 months ago
Reviewers:
pdr.
CC:
blink-reviews, blink-reviews-paint_chromium.org, Rik, danakj, dshwang, drott+blinkwatch_chromium.org, krit, f(malita), jbroman, Justin Novosad, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney, slimming-paint-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Let collapsed border drawings be cacheable Previously because one table cell may paint its collapsed borders multiple times, we enclose all collapsed border drawings in a ScopeRecorder. However, actually a table cell paints each border only once. When it paint collapsed borders multiple times, it just paint different borders in different time. Use display item type to distinguish the different borders to avoid the ScopeRecorder. Also revert https://codereview.chromium.org/1234463005 to invalidate table cells with changed collapsed borders. BUG=510492 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=201002

Patch Set 1 : #

Patch Set 2 : #

Patch Set 3 : Rebaseline layout tests #

Total comments: 8

Patch Set 4 : #

Total comments: 4

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+150 lines, -27 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M LayoutTests/fast/repaint/table-outer-border-expected.txt View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/border-collapse-change-separate-to-collapse-expected.txt View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-cell-append-expected.txt View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-cell-remove-expected.txt View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-change-cell-border-color-expected.txt View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-change-cell-border-width-expected.txt View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-change-col-border-color-expected.txt View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-change-col-border-width-expected.txt View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-change-colgroup-border-color-expected.txt View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-change-colgroup-border-width-expected.txt View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-change-row-border-color-expected.txt View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-change-row-border-width-expected.txt View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-change-table-border-color-expected.txt View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-change-table-border-width-expected.txt View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-change-tbody-border-color-expected.txt View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M LayoutTests/fast/table/border-collapsing/cached-change-tbody-border-width-expected.txt View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M LayoutTests/platform/linux/fast/repaint/table-cell-collapsed-border-expected.txt View 1 2 1 chunk +11 lines, -0 lines 0 comments Download
M LayoutTests/platform/linux/fast/repaint/table-collapsed-border-expected.txt View 1 2 2 chunks +8 lines, -0 lines 0 comments Download
M LayoutTests/platform/linux/fast/table/border-collapsing/cached-change-cell-sl-border-color-expected.txt View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/layout/LayoutTableCell.cpp View 1 1 chunk +9 lines, -4 lines 0 comments Download
M Source/core/layout/LayoutTableSection.h View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/layout/LayoutTableSection.cpp View 1 1 chunk +8 lines, -3 lines 0 comments Download
M Source/core/paint/TableCellPainter.cpp View 1 2 2 chunks +16 lines, -11 lines 0 comments Download
M Source/core/paint/TablePainter.cpp View 1 chunk +0 lines, -1 line 0 comments Download
M Source/platform/graphics/paint/DisplayItem.h View 1 2 3 4 3 chunks +23 lines, -7 lines 0 comments Download
M Source/platform/graphics/paint/DisplayItem.cpp View 1 2 3 4 1 chunk +17 lines, -0 lines 0 comments Download

Messages

Total messages: 12 (4 generated)
Xianzhu
5 years, 4 months ago (2015-08-19 22:37:10 UTC) #3
pdr.
Can you share some numbers about how much of a performance win this approach is? ...
5 years, 4 months ago (2015-08-20 07:07:15 UTC) #4
Xianzhu
Previously one extreme performance issue was: for a big table part of which is outside ...
5 years, 4 months ago (2015-08-20 16:39:51 UTC) #5
Xianzhu
On 2015/08/20 16:39:51, Xianzhu wrote: > - If all cell have borders which are of ...
5 years, 4 months ago (2015-08-20 16:41:40 UTC) #6
pdr.
LGTM, thanks for the extra explanation. https://codereview.chromium.org/1306433002/diff/80001/Source/platform/graphics/paint/DisplayItem.h File Source/platform/graphics/paint/DisplayItem.h (right): https://codereview.chromium.org/1306433002/diff/80001/Source/platform/graphics/paint/DisplayItem.h#newcode94 Source/platform/graphics/paint/DisplayItem.h:94: TableCollapsedBorderUnalignedBase, Lets add ...
5 years, 4 months ago (2015-08-21 00:08:22 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1306433002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1306433002/100001
5 years, 4 months ago (2015-08-21 17:11:01 UTC) #10
Xianzhu
https://codereview.chromium.org/1306433002/diff/80001/Source/platform/graphics/paint/DisplayItem.h File Source/platform/graphics/paint/DisplayItem.h (right): https://codereview.chromium.org/1306433002/diff/80001/Source/platform/graphics/paint/DisplayItem.h#newcode94 Source/platform/graphics/paint/DisplayItem.h:94: TableCollapsedBorderUnalignedBase, On 2015/08/21 00:08:22, pdr wrote: > Lets add ...
5 years, 4 months ago (2015-08-21 17:11:52 UTC) #11
commit-bot: I haz the power
5 years, 4 months ago (2015-08-21 19:00:56 UTC) #12
Message was sent while issue was closed.
Committed patchset #5 (id:100001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=201002

Powered by Google App Engine
This is Rietveld 408576698