We have logic that detects when the same run of text is repeatedly painted and cache the result of shaping in a GlyphDisplayListCache entry. With GPU Process DOM rendering enabled, replaying that entry still results in significant IPC traffic, since we must send the vectors of glyph IDs and advances as part of the DrawGlyphs display list item. We can turn these vectors (and perhaps the other DrawGlyphs members apart from the font resource ID) into a cacheable resource that the GPU Process can store.
<rdar://problem/93387615>
Pull request: https://github.com/WebKit/WebKit/pull/904
Committed r295278 (251324@main): <https://commits.webkit.org/251324@main> Reviewed commits have been landed. Closing PR #904 and removing active labels.
Re-opened since this is blocked by bug 241336
Pull request: https://github.com/WebKit/WebKit/pull/1345
Committed r295373 (251381@main): <https://commits.webkit.org/251381@main> Reviewed commits have been landed. Closing PR #1345 and removing active labels.
This was reverted in bug 241621.
Will be re-landing this with some changes.
Pull request: https://github.com/WebKit/WebKit/pull/1555
Committed r295621 (251626@main): <https://commits.webkit.org/251626@main> Reviewed commits have been landed. Closing PR #1555 and removing active labels.