
The SDL3 library that is popular with cross-platform games for abstracting various software/hardware features has implemented render batching for its built-in rendering API. This render batching is successfully wired up now for Direct3D 11/12, Apple Metal, and Vulkan APIs for more efficient graphics rendering.
Render batching is important for lowering CPU overhead and increasing overall efficiency by allowing multiple calls to be combined into a single draw call on the GPU. When dealing with the same material this can lead to a significant performance improvement – for those using SDL’s render interface.
For over two years has been a bug report noting SDL’…

The SDL3 library that is popular with cross-platform games for abstracting various software/hardware features has implemented render batching for its built-in rendering API. This render batching is successfully wired up now for Direct3D 11/12, Apple Metal, and Vulkan APIs for more efficient graphics rendering.
Render batching is important for lowering CPU overhead and increasing overall efficiency by allowing multiple calls to be combined into a single draw call on the GPU. When dealing with the same material this can lead to a significant performance improvement – for those using SDL’s render interface.
For over two years has been a bug report noting SDL’s lack of batch rendering support for the SDL_Render interface. Sam Lantinga with Valve implemented the batch rendering and noted in that bug report this week that “it turns out this was pretty easy to do” and so he went ahead and implemented it.
This merge on Monday landed the render batching for the D3D11, D3D12. Metal, and Vulkan back-ends.