#14771

renderer: upload modified font atlas row bands

Draftekusiadaduswants to merge intofrom

Description

This PR reduces font atlas texture uploads by tracking modified row ranges. When possible, it uploads a single full-width band instead of the entire atlas.

The existing implementation already skips uploads when the atlas is unchanged. This change reduces the amount of data uploaded when only part of the atlas has changed.

Implementation

  • Keep a ring buffer of the last 64 modifications and combine pending changes into a row band for each reader.
  • Track the latest clear or grow generation separately, so readers that missed a reset still receive a full upload even after its history entry has been overwritten.

Result

FontInputpacked + cpu apply -> sync
HiraginoSans-W3日本語7.03 → 1.64 ms
PingFangSC-Regular簡体字7.45 → 1.64 ms
PingFangTC-Regular繁体字6.74 → 1.65 ms
AppleSDGothicNeo-Regularハングル7.45 → 1.69 ms

Activity

1

This pull request is a draft

Merging is unavailable until it is marked ready for review.