FabGL
ESP32 Display Controller (VGA, PAL/NTSC Color Composite, SSD1306, ST77
... colors. Composite output doesn't require external components (maybe a 5Mhz low pass filter). An unlimited number of sprites are supported. However big sprites and a large amount of them reduce the frame rate and could generate flickering. When there is enough memory (on low resolutions like 320x200), it is possible to allocate two screen buffers, so to implement double buffering. In this case primitives are always drawn on the back buffer.