[SDL] Windows XP speed problems

Adam Gates adam at preston.net
Wed Nov 13 14:51:01 PST 2002


I think I read recently that the Windows/DirectX version has been 
changed to use an asynchronous flip. This means that SDL_Flip() dosen't 
block but the next blit could block instead (depends if the flip has 
catually happened in the meantime). This would explain the behaviour 
with 20 blits or more, it doesn't really explain why the behaviour is 
different with 5 blits.

Martin Konrad wrote:

> Hello
> 
> I've a big speed problem with my SDL programs, since I installed Windows XP.
> Although they don't do anything special, they run much too slow. They're
> just using some hardware surfaces and the video mode is
> SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_FULLSCREEN in 16 bit. I don't think my Radeon is too slow for the
> graphics.
> 
> I wrote a little test program, that just sets the video mode and has a
> little main loop, which does blits or fills and SDL_Flip(). I tested the speed
> with SDL_GetTicks(). The strange thing is that when I only use about 5 blits,
> everything is fine, ie. the blits take almost no time at all, and SDL_Flip() is
> waiting about 1/60 second for sync. But when I do about 20 blits, the first
> blit takes 1/60 second, the other blits and SDL_Flip() take almost no time.
> When I use fills instead of blits, the same problem happens.
> 
> Can anyone explain this, or help me with the speed problem?
> 
> 




More information about the SDL mailing list