Tted: Render rich text and emoji on the GPU or CPU using Forma

Published: 2022-12-20 10:30:30

This is a proof of concept of rendering rich text on the GPU using Forma, including Emoji (which are rendered as textures).

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 :-)

You can find it on Github here