SDL 2.0 or OpenGL?

Started by
1 comment, last by BeerNutts 11 years, 3 months ago

Rendering a 40x40 tilemap that has ~10 layers in SDL 1.2 is pretty darn slow, I started looking into faster options. Now my question is, is SDL 2.0 a lot faster than 1.2? I'm trying to avoid using OpenGL as best as I can, but if it's the only efficient way to render quickly, I'll probably have to use it. Any opinions on SDL 2.0 concerning speed?

Advertisement

As far as I know, SDL 2.0's renderer functions actually make use of OpenGL if available (and fall back to software rendering if for some reason it can't do GPU acceleration), so yes, it should be much faster. Just beware that the wiki is extremely outdated, so for now you'll have to look at the headers (yuck - check "SDL2/SDL_render.h").

Here's a quick list of the functions in it (since getting a list of every function from the header is near impossible), though it isn't even remotely anywhere complete, and in fact doesn't include the initialization functions (luckily that part is documented in the wiki):

- SDL_RenderSetLogicalSize
- SDL_RenderClear
- SDL_RenderDrawPoint
- SDL_RenderDrawPoints
- SDL_RenderDrawLine
- SDL_RenderDrawLines
- SDL_RenderDrawRect
- SDL_RenderDrawRects
- SDL_RenderFillRect
- SDL_RenderFillRects
- SDL_RenderCopy
- SDL_RenderCopyEx
- SDL_SetRenderDrawColor
- SDL_SetRenderDrawBlendMode
- SDL_SetTextureColorMod
- SDL_SetTextureAlphaMod
- SDL_SetTextureBlendMode
- SDL_RenderSetViewport
- SDL_RenderSetScale

Note that I think a Doxygen file should be generated, I don't have it installed so that's probably why I don't have it... If you get that then it should be easier to look through it (also note that you'll be using SDL_Texture with the renderer functions instead of SDL_Surface).

PS: the two copy functions are the ones used to render textures (e.g. bitmaps) >_>

Don't pay much attention to "the hedgehog" in my nick, it's just because "Sik" was already taken =/ By the way, Sik is pronounced like seek, not like sick.

SFML should be able to handle it all fine. It uses HW Acceleration for it's 2D functions (it actually uses OpenGL under the hood), and it's got a great interface. Check it out.

My Gamedev Journal: 2D Game Making, the Easy Way

---(Old Blog, still has good info): 2dGameMaking
-----
"No one ever posts on that message board; it's too crowded." - Yoga Berra (sorta)

This topic is closed to new replies.

Advertisement