Tted: Render rich text and emoji on the GPU or CPU using Forma
DragoČ™ Tiselice recently released Forma a (thoroughly) parallelized experimental Rust vector-graphics renderer with both a software (CPU) and hardware (GPU) back-end.
Based on Forma, I implemented a small demo of a gpu optimized text rendering engine with unlimited zoom.
It is a proof of concept of rendering rich text on the GPU using Forma, including Emoji (which are rendered as textures).
Current status
- The CPU renderer performs far better than the GPU renderer
- Clipping improves performance but currently there seem to be artifacts, not sure what I'm doing wrong
- Memory usage is huge when using the GPU renderer
- Large amounts of text are rendering quite well on the CPU though.
- I'm probably wrong about all kinds of assumptions I made when building this :-)