Mantheren's picture

Disableing Vsync

I couldn't find a topic about this question but does disableing vsync work?

I noticed it says "[50%] VSync support." on the roadmap, so perhaps its just not implemented, or maybe I am simply doing something wrong.

I have a simple spinning box and in the Onload of a GameWindow I have set:

VSync = VSyncMode.Off;

However it appears to still be on since I get a framerate of 60.
When I change the vsync settings in the Nvidia drivers from "Application Controlled" to "Force Off" the Framerate jumps to 5000.
I have tested this on two systems both Windows XP, with Nvidia cards btw.

Do I need to do anything else to disable Vsync? Or is it indeed just not implemented yet?



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Kamujin's picture

I think VSync is under heavy development.

From what I understand, Fiddler hasn't settled on a way to deal with the different granularity of Sleep(...) on different platforms. This is causing problems when attempting to run the main game loop at a target FPS. I think he's been playing with VSync as a temporary workaround.

the Fiddler's picture

I just checked and there seems to be a problem loading the Wgl.Ext.SwapInterval extension, which causes the vsync control to silently fail (by design).

I'll fix that ASAP.

The 50% complete refers to the VSyncMode.Adaptive implementation (for the GameWindow), which turns vsync on or off to avoid large fps jumps (e.g. from 60 to 30 fps when the card could do 50 fps).

Edit: The problem should be fixed now - checkout the latest source from SVN for the update (instructions).

Mantheren's picture

I just build the dll's from the SVN and indeed it works now.

Thanks for the quick fix... :)