Performance

Hi();

I just tested some 2D things with SDL_Surface and got a low framerate.
So I a Surface on the screen all were 1024x768 pixels and
after that updating the screen.
But only ~15 fps on a Athlon XP 1600, GF4Ti4600+newest NV_driver, SuSE 8.0?
I’m aware there must be done a lot operations, but is there a faster way, lib?
The Difference between SDL_SWSURFACE, SDL_HWSURFACE is only 1 fps?

is this framerate normal, for such a computer?
or what can be disabled, enabled (sdl, x11)

Thx in advance!–
funthing

Hi();

I just tested some 2D things with SDL_Surface and got a low framerate.
So I a Surface on the screen all were 1024x768 pixels and
after that updating the screen.
But only ~15 fps

That’s 45MB/s of data from your RAM to graphics card (at 32bit). Based
on this it seems like you have more room to grow based on your graphics
card/system. You might be held up by alpha blits or color conversions.
Pass 0 as the bits per pixel to SDL_SetVideoMode() so you don’t have to
do colorspace conversion every time you update the screen.

on a Athlon XP 1600, GF4Ti4600+newest NV_driver, SuSE 8.0?
I’m aware there must be done a lot operations, but is there a faster
way, lib?

If you have to update the whole screen every frame, try OpenGL. If you
don’t, use SDL_UpdateRects() to only update the dirty parts of the
screen.

You might want DGA. There are many posts and an FAQ about this. DGA has
hardware surfaces support on some cards.

The Difference between SDL_SWSURFACE, SDL_HWSURFACE is only 1 fps?

There is no SDL_HWSURFACE in x11.On Monday, August 5, 2002, at 02:38 PM, Matthias wrote: