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

Issue 1237623010: Intersect with the dirty rect before deciding which columns to examine for collection. (Closed)

Created:
5 years, 5 months ago by mstensho (USE GERRIT)
Modified:
5 years, 5 months ago
Reviewers:
dsinclair
CC:
blink-reviews, pdr+renderingwatchlist_chromium.org, zoltan1, szager+layoutwatch_chromium.org, eae+blinkwatch, leviw+renderwatch, blink-reviews-rendering, jchaffraix+rendering
Target Ref:
refs/remotes/origin/master
Project:
blink
Visibility:
Public.

Description

Intersect with the dirty rect before deciding which columns to examine for collection. When collecting layer fragments (to paint, hit-test, etc.) for multicol, we should limit the number of columns to examine. There may be very many columns (or pages), and processing them isn't for free. We already had code in place to narrow down the column interval by intersecting with the bounding box of the content, but in many cases we can narrow it down further (by a lot, in fact) by intersecting with the dirty rect as well. So let's do that. We used to intersect with the dirty rect as part of examining each column (i.e. inside the column loop). Now we do it up-front instead, to decide which columns are worth examining at all. So remove the dirty rect intersection check from the column loop. Also remove a bounding box intersection check from the loop, since we already do that up-front to set the column interval to examine. It just seemed useless to do it again inside the loop. This gives a major speed-up in the Layout/multicol/tall-content-short-columns* performance tests. R=dsinclair@chromium.org Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=199107

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+42 lines, -22 lines) Patch
M Source/core/layout/MultiColumnFragmentainerGroup.h View 1 chunk +3 lines, -0 lines 0 comments Download
M Source/core/layout/MultiColumnFragmentainerGroup.cpp View 4 chunks +39 lines, -22 lines 0 comments Download

Messages

Total messages: 5 (1 generated)
mstensho (USE GERRIT)
5 years, 5 months ago (2015-07-15 20:58:48 UTC) #1
dsinclair
lgtm
5 years, 5 months ago (2015-07-17 13:45:31 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1237623010/1
5 years, 5 months ago (2015-07-17 13:45:44 UTC) #4
commit-bot: I haz the power
5 years, 5 months ago (2015-07-17 15:11:22 UTC) #5
Message was sent while issue was closed.
Committed patchset #1 (id:1) as
https://src.chromium.org/viewvc/blink?view=rev&revision=199107

Powered by Google App Engine
This is Rietveld 408576698