Skip to content

perf(grid): CJK font fallback; shared cell style and decoration (#1553, #1519) - #1684

Merged
ZhuchkaTriplesix merged 1 commit into
devfrom
perf/cjk-fallback-cell-look
Oct 17, 2026
Merged

ZhuchkaTriplesix merged 1 commit into
devfrom
perf/cjk-fallback-cell-look

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Closes #1553. Refs #1519.

#1553 (measured in the issue: CJK text lays out ~40x slower). QueryaTypography.cjkFontFamilyFallback lists CJK families for Linux, macOS and Windows. Grid cells, the cell editor and the groupings view keep monospace as the primary family and get that list as fontFamilyFallback; monoFontFamilyFallback (editor, inspectors, badges, ERD cards) ends with it, after monospace. Latin and Cyrillic text still renders in the system monospace font.

#1519. A cell's text style and decoration come from a small cache (4 styles, up to 96 decorations) that is rebuilt when the colour scheme changes, instead of a new TextStyle, BoxDecoration, Border and four BorderSides per cell. I do not expect a visible gain from this part: the app bench on main shows build p50 <= 2.5 ms for the grid scenarios, and unchanged cells are already skipped by _reuseCell. The Grid performance job on this PR will show whether it moves anything; if not, the second half of #1519 can be closed as not worth it.

Tests: the typography test now pins the CJK tail and its contents.

@github-actions github-actions Bot added enhancement New feature or request performance Theme parser epic label: performance ui User interface components and widgets data-grid Interactive data grid, cell editor, filtering, groupings P3 Low priority / Polish & Enhancements labels Oct 17, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit c56f041 into dev Oct 17, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data-grid Interactive data grid, cell editor, filtering, groupings enhancement New feature or request P3 Low priority / Polish & Enhancements performance Theme parser epic label: performance ui User interface components and widgets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant