Ancestors

Written by Raptor :gamedev: on 2024-12-18 at 02:47

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

=> View attached media

=> More informations about this toot | More toots from raptor85@mastodon.gamedev.place

Written by Raptor :gamedev: on 2024-12-18 at 03:20

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

=> View attached media

=> More informations about this toot | More toots from raptor85@mastodon.gamedev.place

Written by Raptor :gamedev: on 2024-12-18 at 03:26

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

=> View attached media

=> More informations about this toot | More toots from raptor85@mastodon.gamedev.place

Toot

Written by Raptor :gamedev: on 2024-12-18 at 03:35

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

=> View attached media

=> More informations about this toot | More toots from raptor85@mastodon.gamedev.place

Descendants

Written by Raptor :gamedev: on 2024-12-18 at 03:40

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

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113671730154183949
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
398.52537 milliseconds
Gemini-to-HTML Time
0.958651 milliseconds

This content has been proxied by September (ba2dc).