Hello!
I’m trying to set a video mode:
Uint32 videoflags = SDL_HWSURFACE | SDL_DOUBLEBUF;
SDL_Surface* screen = SDL_SetVideoMode(800, 600, 32,
videoflags);
The screen is created successfully, but when I’m trying to
get screen->flags it is 0.
The question is: is this surface really double-buffered
and does it use the memory of my video card?
With the best wishes,
I.B.
Yes, it is doublebuffered – when real doublebuffering isn’t available, SDL
still does what you ask and makes a software doublebuffer. Chances are you
will never get HARDWARE doublebuffering unless you make it fullscreen.On Saturday 25 December 2004 20:14, Ilya Baranoff wrote:
Hello!
I’m trying to set a video mode:
Uint32 videoflags = SDL_HWSURFACE | SDL_DOUBLEBUF;
SDL_Surface* screen = SDL_SetVideoMode(800, 600, 32,
videoflags);
The screen is created successfully, but when I’m trying to
get screen->flags it is 0.
The question is: is this surface really double-buffered
and does it use the memory of my video card?
Hello!
I’m trying to set a video mode:
Uint32 videoflags = SDL_HWSURFACE | SDL_DOUBLEBUF;
SDL_Surface* screen = SDL_SetVideoMode(800, 600, 32,
videoflags);
The screen is created successfully, but when I’m trying to
get screen->flags it is 0.
The question is: is this surface really double-buffered
and does it use the memory of my video card?
No, if SDL_HWSURFACE and SDL_DOUBLEBUF aren’t set in the returned flags,
then SDL wasn’t able to get the surface you requested. By the way, I
think this is only supported in fullscreen mode, and under certain drivers.
See ya,
-Sam Lantinga, Software Engineer, Blizzard Entertainment