commit | e3eddb5b598fa1d4a3b2e8989be77fbabdb1fffb | [log] [tgz] |
---|---|---|
author | Koji Ishii <kojii@chromium.org> | Wed Oct 31 04:39:53 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Wed Oct 31 04:39:53 2018 |
tree | 35980d42d0476adc0b7cc689f52bd017ad1dcbea | |
parent | f8f65cb0c87020c8aaf8a6ce174a8825d1ff42cf [diff] |
[LayoutNG] Re-use line box fragments This patch re-uses line box fragments where possible. Overall approach is: 1. Line box NGPaintFragment is marked as dirty when modified. This was done in separate patches by yosin@, and is being improved further. 2. On the beginning of layout, if NGPaintFragment exists for the inline formatting context and re-using is possible, copy them to NGFragmentBuilder. 3. Setup the internal states and break token so that NGBlockLayoutAlgorithm can continue from the copied fragments. This is very initial patch. Not much improvements are seen in blink_perf.layout yet, but at this stage, the reuse is only for very limited conditions, and I'm finding cases where we mark dirty too much (fixing in parallel.) Also some cases we're slowing down, due to the overhead to check the reusability but ended up with no reuse. The code to check is also target to be profiled for more optimizations. Bug: 636993 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ib0f24ece25bf666f67042a915ed75e0b5d2b4356 Reviewed-on: https://chromium-review.googlesource.com/c/1196724 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#604155}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .