RESOLVED FIXED 167655
Simple line layout: Collect fragments in LineState only when needed for post-processing.
https://bugs.webkit.org/show_bug.cgi?id=167655
Summary Simple line layout: Collect fragments in LineState only when needed for post-...
zalan
Reported 2017-01-31 11:26:15 PST
Like text-align: justify.
Attachments
Patch (18.01 KB, patch)
2017-01-31 11:51 PST, zalan
no flags
Patch (18.51 KB, patch)
2017-01-31 13:23 PST, zalan
no flags
zalan
Comment 1 2017-01-31 11:27:08 PST
This is over 5% progression (measured locally) on PerformanceTests/Layout/simple-line-layout-non-repeating-text.html
Radar WebKit Bug Importer
Comment 2 2017-01-31 11:27:39 PST
zalan
Comment 3 2017-01-31 11:51:09 PST
Antti Koivisto
Comment 4 2017-01-31 11:58:42 PST
Comment on attachment 300243 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=300243&action=review > Source/WebCore/rendering/SimpleLineLayout.cpp:409 > + void setNeedsAllFragments(bool needsAllFragments) { m_needsAllFragments = needsAllFragments; } This might be better without the argument as you never want to go to 'false' direction. > Source/WebCore/rendering/SimpleLineLayout.cpp:555 > + bool m_needsAllFragments { false }; > Vector<TextFragmentIterator::TextFragment, 30> m_fragments; Another option might be to combine these as std::optional<Vector<TextFragmentIterator::TextFragment, 30>> m_allFragments setNeedsAllFragments() would create the vector.
zalan
Comment 5 2017-01-31 13:23:10 PST
WebKit Commit Bot
Comment 6 2017-01-31 16:02:50 PST
Comment on attachment 300253 [details] Patch Clearing flags on attachment: 300253 Committed r211456: <http://trac.webkit.org/changeset/211456>
WebKit Commit Bot
Comment 7 2017-01-31 16:02:56 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.