Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8f6d89b32a384de3e053e307f02bf4120a648575
      
https://github.com/WebKit/WebKit/commit/8f6d89b32a384de3e053e307f02bf4120a648575
  Author: Alan Baradlay <[email protected]>
  Date:   2023-08-20 (Sun, 20 Aug 2023)

  Changed paths:
    M Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp
    M Source/WebCore/rendering/RenderText.cpp
    M Source/WebCore/rendering/RenderText.h

  Log Message:
  -----------
  [IFC] Cache canUseSimplifiedTextMeasuring on RenderText
https://bugs.webkit.org/show_bug.cgi?id=260426

Reviewed by Antti Koivisto.

1. Computing canUseSimplifiedTextMeasuring is an expensive operation (it may 
iterate through all the glyphs of the text content)
2. We used to cache this information on RenderText (see 260675@main) and now 
it's computed at BoxTree building.
3. Due to eager (IFC integration) invalidation, we destroy BoxTree in cases 
where we still keep associated RenderText renderers alive.

~10% progression on 
PerformanceTests/Layout/line-layout-preferred-width-break-all.html

* PerformanceTests/Layout/line-layout.html:
* Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::createLayoutBox):
* Source/WebCore/rendering/RenderText.cpp:
(WebCore::RenderText::setRenderedText):
* Source/WebCore/rendering/RenderText.h:
(WebCore::RenderText::setCanUseSimplifiedTextMeasuring):
(WebCore::RenderText::canUseSimplifiedTextMeasuring const):

Canonical link: https://commits.webkit.org/267081@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to