The browser-text raster cache keyed on RGBA, so identical glyphs in N colors were N cache entries — text-heavy pages blew the 512 cap and re-rasterized + re-uploaded GPU textures every frame while panning. Text now rasters once as a white alpha mask (color and alpha out of the key) and tints at draw via a bounded, LRU ColorFilter cache; eviction is LRU instead of FIFO. Color-emoji segments keep the legacy baked-color path since they ignore fillStyle. Verified visually: before/after screenshots differ only in sub-24/255 antialiasing-edge quantization (0.45% of pixels, max delta 14). |
||
|---|---|---|
| .. | ||
| ci_workflow.rs | ||
| cjk_font.rs | ||
| dom_event_mapping.rs | ||
| paint_order.rs | ||
| web_mount_event_wiring.rs | ||