FabGL
ESP32 Display Controller (VGA, PAL/NTSC Color Composite, SSD1306, ST77
...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.