Files
ladybird/Tests/LibWeb/Text/expected/display_list/clip-invalidation.txt
Aliaksandr Kalenik 44d90af3d6 LibGfx+LibWeb: Cache SkTextBlob in GlyphRun
Previously, SkTextBlob was built on every paint in
DisplayListPlayerSkia::draw_glyph_run(), which meant:
- Repeated work when the same display list is painted multiple times
- Glyph arrays were allocated and populated on each paint

Now the blob is built once during display list recording and cached in
GlyphRun.
2026-01-24 15:22:03 +01:00

23 lines
746 B
Plaintext

Before clip change:
AccumulatedVisualContext Tree:
[1] scroll_frame_id=0 (PaintableWithLines(BlockContainer<PRE>#out))
[2] clip=[8,13 100x100] (PaintableWithLines(BlockContainer<DIV>#box.box))
DisplayList:
SaveLayer@0
FillRect@2 rect=[8,13 100x100] color=rgb(173, 216, 230)
DrawGlyphRun@2 rect=[8,13 30x18] translation=[8,26.796875] color=rgb(0, 0, 0)
Restore@0
After clip change:
AccumulatedVisualContext Tree:
[1] scroll_frame_id=0 (PaintableWithLines(BlockContainer<PRE>#out))
[2] clip=[18,23 80x80] (PaintableWithLines(BlockContainer<DIV>#box.box))
DisplayList:
SaveLayer@0
FillRect@2 rect=[8,13 100x100] color=rgb(173, 216, 230)
DrawGlyphRun@2 rect=[8,13 30x18] translation=[8,26.796875] color=rgb(0, 0, 0)
Restore@0