Fullscreen and frequency problem

Hello!

I have a problem with SDL_FULLSCREEN mode. When my application turns
into fullscreen mode refresh refrequency is being changed to 60Hz.

I’m setting it in that way:

SDL_Surface *screen = SDL_SetVideoMode(w, h, bpp, SDL_FULLSCREEN);

Other flags added to SDL_FULLSCREEN don’t solve the problem.
What’s wrong?

Thanks in advance :)–
Mateusz Pohl (PoLu)


Pamietaj o Mamie!
Zobacz: >> http://kwiaty.interia.pl <<

What OS?

Under Linux, I imagine it is simply telling X to drop to the resolution
specified (w,h), and X would need to be configured to display that mode
in a higher refresh rate.

Under Windows & Mac OS X, I have no idea what one would do…

-bill!On Mon, May 23, 2005 at 05:26:24PM +0200, Mateusz Pohl (PoLu) wrote:

Hello!

I have a problem with SDL_FULLSCREEN mode. When my application turns
into fullscreen mode refresh refrequency is being changed to 60Hz.

BTW: I’m working under WinXP–
Mateusz Pohl (PoLu)


Bukiet na Dzien Matki?
Sprawdz: >> http://kwiaty.interia.pl <<

Hello!

I have a problem with SDL_FULLSCREEN mode. When my application turns
into fullscreen mode refresh refrequency is being changed to 60Hz.

I’m setting it in that way:

SDL_Surface *screen = SDL_SetVideoMode(w, h, bpp, SDL_FULLSCREEN);

Other flags added to SDL_FULLSCREEN don’t solve the problem.
What’s wrong?

Probably nothing is wrong. Your OS is just setting the fps of your
monitor to a safe value for the mode you requested. I know that isn’t
what you want to happen, but the OS developers are clearly trying to
make sure you do not over drive the display and are also making sure (as
much as they possibly can) that you will get an image on the screen.
AFAIK this is the normal default behavior of newer versions of Windows.

Why doesn’t this happen when you are rendering in a window? Usually,
when you render in a window you are really rendering into an off screen
buffer. When you “flip” to display a new image what really happens is
that your new image is blitted to the part of the screen occupied by
your window. Because of this there is no direct connection between the
vsync speed of the display and the speed at which you can render and
display new images. (Of course, many of your images are never really
visible because they are over written before the display gets around to
displaying your window.) When you switch to using full screen mode a
flip now really flips the buffers. To avoid tearing of the image
flipping is best down during vertical retrace and so your rendering
slows down to the actual refresh rate of the display. And, in this case,
your OS has stepped in a set a refresh rate lower than you expected.

I remember that there have been several long discussions of this
problem. I don’t recall the resolution, if there was one. You might find
it worthwhile to search the mailing list archives for the earlier
discussions.

Bob PendletonOn Mon, 2005-05-23 at 17:26 +0200, Mateusz Pohl (PoLu) wrote:

Thanks in advance :slight_smile:


Mateusz Pohl (PoLu)


Pamietaj o Mamie!
Zobacz: >> http://kwiaty.interia.pl <<


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl


±-------------------------------------+