-
Notifications
You must be signed in to change notification settings - Fork 9.2k
Text layout caching by run #6300
Copy link
Copy link
Closed
Labels
Area-RenderingText rendering, emoji, complex glyph & font-fallback issuesText rendering, emoji, complex glyph & font-fallback issuesIssue-TaskIt's a feature request, but it doesn't really need a major design.It's a feature request, but it doesn't really need a major design.Needs-Tag-FixDoesn't match tag requirementsDoesn't match tag requirementsProduct-TerminalThe new Windows Terminal.The new Windows Terminal.
Milestone
Description
Description of the new feature/enhancement
From old ideas of reusing CustomTextLayout, it will be more efficient to cache the entire layout for further usage. A classic space-time tradeoff.
Proposed technical implementation details (optional)
It's a common practice to cache the glyph layout. On macOS, CoreText will internally keeps a cache about glyphs. Alacritty will prematurely set up a cache which contains the glyphs of common ANSI characters. However because Alacritty does this and rendering on character level, it fails to handle ligature correctly.
We've chosen to render run instead of single character. That gives us ligature. Could we also cache the layout by run? The cache hit rate will of course be worse than caching by character. But I feel it'll still be worth the effort.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Area-RenderingText rendering, emoji, complex glyph & font-fallback issuesText rendering, emoji, complex glyph & font-fallback issuesIssue-TaskIt's a feature request, but it doesn't really need a major design.It's a feature request, but it doesn't really need a major design.Needs-Tag-FixDoesn't match tag requirementsDoesn't match tag requirementsProduct-TerminalThe new Windows Terminal.The new Windows Terminal.