Jump to content
  • Advertisement
Sign in to follow this  

SDL 2.0 or OpenGL?

This topic is 2148 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Share this post

Link to post
Share on other sites

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) >_>

Edited by Sik_the_hedgehog

Share this post

Link to post
Share on other sites

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.

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!