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

Issue 22642010: [CSS Grid Layout] Speed up painting on large grids (Closed)

Created:
7 years, 4 months ago by Julien - ping for review
Modified:
7 years, 3 months ago
Reviewers:
ojan
CC:
blink-reviews, dglazkov+blink, eae+blinkwatch, leviw+renderwatch, jchaffraix+rendering, esprehn
Visibility:
Public.

Description

[CSS Grid Layout] Speed up painting on large grids The painting code wasn't using the grid's struture during painting. This lead to an algorithm that would try all grid items, regardless of whether they were outside the area to be painted. This change makes the painting code do a binary search over the computed grid coordinates and paint only the children that are in these grid areas. OrderIterator was changed to be able to store the children during collection and iterate over them, instead of always going over all the children. On a 200x200 grid with one grid item in each grid area, this brings the paint time from 20ms to 2ms. Unfortunately, such a test case cannot be added as it would require significant changes to work with our infrastructure that would make the test not very representative of the original use case. The test case can be found on the associated bug (comment 5) BUG=248151 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=157993

Patch Set 1 #

Patch Set 2 : Rebaselined change #

Unified diffs Side-by-side diffs Delta from patch set Stats (+96 lines, -11 lines) Patch
M Source/core/rendering/OrderIterator.h View 2 chunks +9 lines, -0 lines 0 comments Download
M Source/core/rendering/OrderIterator.cpp View 3 chunks +29 lines, -2 lines 0 comments Download
M Source/core/rendering/RenderGrid.h View 1 2 chunks +3 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderGrid.cpp View 1 2 chunks +55 lines, -9 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
Julien - ping for review
Some speed-up change, the patch has an issue with grid items overflowing grid areas (see ...
7 years, 4 months ago (2013-08-08 22:36:25 UTC) #1
Julien - ping for review
Ojan, any comment on the change? I am fine going either way but know that ...
7 years, 3 months ago (2013-09-17 20:57:16 UTC) #2
ojan
lgtm Can you upload your test case to the bug and link to it from ...
7 years, 3 months ago (2013-09-17 23:55:27 UTC) #3
Julien - ping for review
On 2013/09/17 23:55:27, ojan wrote: > lgtm > > Can you upload your test case ...
7 years, 3 months ago (2013-09-18 21:47:18 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jchaffraix@chromium.org/22642010/1
7 years, 3 months ago (2013-09-18 21:47:33 UTC) #5
commit-bot: I haz the power
Failed to apply patch for Source/core/rendering/RenderGrid.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
7 years, 3 months ago (2013-09-18 21:47:35 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jchaffraix@chromium.org/22642010/9001
7 years, 3 months ago (2013-09-18 23:09:12 UTC) #7
commit-bot: I haz the power
Retried try job too often on blink_presubmit for step(s) presubmit http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=blink_presubmit&number=7169
7 years, 3 months ago (2013-09-18 23:12:57 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jchaffraix@chromium.org/22642010/9001
7 years, 3 months ago (2013-09-19 00:34:56 UTC) #9
commit-bot: I haz the power
7 years, 3 months ago (2013-09-19 02:03:22 UTC) #10
Message was sent while issue was closed.
Change committed as 157993

Powered by Google App Engine
This is Rietveld 408576698