Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is SDL (when used CORRECTLY) conducive to detailed in-Game animation and displaying interesting high quality particle effects?

If my question seems too vague, at the other end of this link I have an animation reel:

(30 seconds in a troop of the kinds of characters I will be using run into screen)

I would like to get my games to run at about the level of pixel-detail (if not slightly better as the video is a little bit overcompressed) with 10-15 characters on screen, and 1-4 pre-rendered 2D explosions flying around at the same time.

I just can't help but wonder, is this even possible in SDL?

I can't stress enough though: I absolutely love C++ so far, and SDL has been really cool, but I would really love to feel more certain that I am learning the specifics of the best tool for what I am trying to do.

share|improve this question
up vote 3 down vote accepted

10-15 characters on screen and a few pre-rendered explosions seems easily doable in SDL - it's just a few sprites to push to screen after all.

However, do note that SDL (1.2, the current non-beta version) is rendered on a software surface if I remember correctly. This means that it isn't accelerated by your graphics hardware (which will happen in SDL 1.3 (Just checked the website, it has been renamed to SDL 2.0 now) which will feature hardware acceleration. Just keep that in mind.

share|improve this answer
Thanks! This is exactly what I needed to know. – Zee Bashew Mar 14 '12 at 4:27
Mindblown, I didn't know it and that explains why a lot of SDL games/roguelikes crawl in my netbook. I thought that you could declare a hardware surface that used acceleration, or at least I saw the option when I tried to code some Gp2X stuff. – MLProgrammer-CiM Mar 14 '12 at 10:35
Yeah, seconded, what the heck is SDL_HWSURFACE for then? – user9485 Mar 14 '12 at 13:02
@EfEs @Keith It's been a while since I've dabbled with SDL, but I believe that while using SDL_HWSURFACE will load the texture into memory, SDL still uses the CPU to blit the textures onto the screen which is represented in software, so it may be even slower as it has to transfer from GPU to CPU. SDL_HWSURFACE is predominantly used for integration with OpenGL which will give you great performance because the screen is represented in the GPU as well. – DMan Mar 14 '12 at 22:14

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.