I’ve just “implemented” the EXT_swap_control extension. I set the “video frame period” with the wglSwapIntervalEXT(int interval) function.
My lcd-screen refresh rate is 60 Hz, or so says the property window.
If I pass an interval value of 0, I (indeed) get a fps of 500+ (no vsync). But passing 1 gives 120 (?). Passing 2 gives 60, passing 3 gives 40, passing 4 gives 20…
Why would passing an interval value of 1 give a fps result that doubles the monitor refresh rate?
I’m working on a MacBook Pro with XP32 under bootcamp. It has an nVidia 8600M GT videocard. But other computers give simular results. I have a standard double-buffered render loop:
Render(…);
glFlush();
SwapBuffers(…);