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 #
Messages
Total messages: 10 (0 generated)
|