Tier list of my findings on the functionality and speed of all the #SDL3 backends for the use of pixel pushing/raw operations from my recent benchmark tests (I have actual data but...it's a lot, haven't made a decent graph yet but this sums it up nicely)
Vulkan is actually considerably faster than GPU (gpu is an order of magnitude slower than the others, and it's the default setting), but slower than the others and breaks where the others don't, so it just flat out fails to be useful.
[#]gamedev
=> More informations about this toot | More toots from raptor85@mastodon.gamedev.place
First chart is basic drawing with SDL_Surface, disabling all other functionality. (the basic_surface on the graph has acceleration disabled via hint, the others specify driver)
Not too much spread on this one but unaccelerated and software were reliably fastest (as expected) though gles2 was very close.
[#]SDL #SDL3 #benchmark #gamedev #indiedev
=> More informations about this toot | More toots from raptor85@mastodon.gamedev.place
Second chart, it gets a little more interesting when looking at the time of execution of the SDL_Renderer accelerated drawing functions, there's a MASSIVE skew between drivers with this one. the SDL_Gpu based driver (the default one) took an order of magnitude longer per call, and the vulkan driver has a memory bug and won't complete at all with larger numbers of calls, and was also noticeably slower. GL,GLES2, and Software were all very similar.
[#]gamedev #indiedev #sdl3 #benchmark #sdl
=> More informations about this toot | More toots from raptor85@mastodon.gamedev.place
Third chart, using the accelerated rendering api again but NOT using any of the rendering functions, only using update texture to manually copy across bitmap data after writing it manually. This was the overall most efficient at drawing pixels for all but the software driver, which surprised me somewhat as it shouldn't be different from the basic surface drawing. GLES2 was in general faster again.
[#]SDL #SDL3 #benchmark #gamedev #indiedev
=> More informations about this toot | More toots from raptor85@mastodon.gamedev.place
So in the end, to summarize, the best overall was the gles2 backend, it was always either fastest or a close second in any operation, Opengl was always fairly close, and basic surface drawing was always right up with gles2 (though you lose some of that speed if you have to do any blending/scaling to display to screen). Software was blazing fast so long as you don't deal with SDL_Textures, that bottlenecks it bad, GPU was fast if you ONLY need to blit a single texture, and vulkan was just broken.
=> More informations about this toot | More toots from raptor85@mastodon.gamedev.place This content has been proxied by September (ba2dc).Proxy Information
text/gemini