mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 02:05:07 +02:00
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.
23 lines
746 B
Plaintext
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
|
|
|