Bug 124408 - [CSS Grid Layout] Improve content-sized track layout
Summary: [CSS Grid Layout] Improve content-sized track layout
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Sergio Villar Senin
URL:
Keywords: BlinkMergeCandidate
Depends on: 124039
Blocks: 112208 123989 123995
  Show dependency treegraph
 
Reported: 2013-11-15 06:37 PST by Sergio Villar Senin
Modified: 2013-11-22 03:01 PST (History)
14 users (show)

See Also:


Attachments
Patch (208.54 KB, patch)
2013-11-18 02:10 PST, Sergio Villar Senin
dino: review+
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from webkit-ews-02 for mac-mountainlion (609.01 KB, application/zip)
2013-11-18 02:48 PST, Build Bot
no flags Details
Archive of layout-test-results from webkit-ews-15 for mac-mountainlion-wk2 (461.28 KB, application/zip)
2013-11-18 02:59 PST, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sergio Villar Senin 2013-11-15 06:37:36 PST
Bug 124039 improves the performance of the grid layouting by not running the autoplacement algorithm for non content-sized tracks. But we can also improve the performance for content-sized tracks by narrowing down the relayout conditions. This change involves merging:

    [CSS Grid Layout] Speed up content sized track layout

    This change narrows down the relayout condition in
    RenderGrid::logicalContentHeightForChild to only
    percentage children: as they are the only lengths that
    depends on the containing block's override. We
    unfortunately can't use percentHeightDescendants as
    it's not populated yet. This code can probably be
    simplified further down but it's a good start.

    This greatly speeds up the new performance test, moving
    from 25 runs/sec to 91 runs/sec.

    BUG=234211
    Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=156122
Comment 1 Sergio Villar Senin 2013-11-15 06:40:21 PST
It also makes sense to integrate this other change too:

    Remove an extra relayout for non-percent logical height grid items

    The only reason for a grid item to force a relayout after a grid
    area's logical height change is if it has a percentage height. In
    all other cases, this would cause an unneeded relayout. Note that
    changing the logical width still forces a relayout as the situation
    is not that simple.

    This improves auto-grid-lots-of-data.html from 94 runs/s to 226
    runs/s as we avoid a relayout in layoutGridItems for every grid
    items.

    BUG=273238
    Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=157633
Comment 2 Sergio Villar Senin 2013-11-18 02:10:23 PST
Created attachment 217182 [details]
Patch
Comment 3 Build Bot 2013-11-18 02:48:09 PST
Comment on attachment 217182 [details]
Patch

Attachment 217182 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/26368057

New failing tests:
fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html
fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html
Comment 4 Build Bot 2013-11-18 02:48:11 PST
Created attachment 217184 [details]
Archive of layout-test-results from webkit-ews-02 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-02  Port: mac-mountainlion  Platform: Mac OS X 10.8.5
Comment 5 Build Bot 2013-11-18 02:59:28 PST
Comment on attachment 217182 [details]
Patch

Attachment 217182 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/26418048

New failing tests:
fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html
fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html
Comment 6 Build Bot 2013-11-18 02:59:30 PST
Created attachment 217186 [details]
Archive of layout-test-results from webkit-ews-15 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-15  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.5
Comment 7 Sergio Villar Senin 2013-11-18 03:08:23 PST
(In reply to comment #5)
> (From update of attachment 217182 [details])
> Attachment 217182 [details] did not pass mac-wk2-ews (mac-wk2):
> Output: http://webkit-queues.appspot.com/results/26418048
> 
> New failing tests:
> fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html
> fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html

Expected failures as this change requires bug 124039 to be fixed first.
Comment 8 Sergio Villar Senin 2013-11-22 03:01:16 PST
Committed r159685: <http://trac.webkit.org/changeset/159685>