SDL3 Now Implements Render Batching For Direct3D, Metal & Vulkan
([Free Software] 15 Minutes Ago
Batch Rendering)
- Reference: 0001590718
- News link: https://www.phoronix.com/news/SDL3-Batch-Rendering
- Source link:
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 [1]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.
[2]This merge on Monday landed the render batching for the D3D11, D3D12. Metal, and Vulkan back-ends.
[1] https://github.com/libsdl-org/SDL/issues/7534
[2] https://github.com/libsdl-org/SDL/commit/d9be8b9a008770eb1870f208d4b7bf657b95d656
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 [1]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.
[2]This merge on Monday landed the render batching for the D3D11, D3D12. Metal, and Vulkan back-ends.
[1] https://github.com/libsdl-org/SDL/issues/7534
[2] https://github.com/libsdl-org/SDL/commit/d9be8b9a008770eb1870f208d4b7bf657b95d656