But this works only if you disabled the option that the driver should take care of vsync (or you have statically enabled it).
So you can't override the settings in the driver with wglSwapIntervalEXT.
Are you sure?
If i execute code in my pc(without calling the function), it enables VSync automatically (as if the driver had taken care of it by default). But if then i turn it off with the function the VSync disables.
(I hope you understand what i'm trying to say,
)
Saludos
I don't know the exact behaviour of an AMD card (I'm NVIDIA user)... On NVIDIA you have a combo-box with 3 Options avail:
- Force VSync ON
- Force VSync OFF
- Let Application decide
Let's say that User 1 has Option 3 enabled. So your program is doing well because your application is telling the driver "Use Vsync".
User 2 has Option 1 where your wglSwapIntervalEXT has no effect (it's already enabled and the statement does nothing).
Assuming User 3 has Option 2 enabled, your wglSwapIntervalEXT has also no effect (it's not enabled and your app cannot enable it).
Many users have the option 3 enabled (AFAIK it's the setting by default) and your app will do fine on most PCs, but if someone has Option 2 enabled, your program is going nuts because it has no blocking when calling glFinish() or similar.
This are the behaviours my tests and experience gave me while testing my "framework" on different cards/settings/PCs.
I'm initalizing OGL with wglSwapIntervalEXT(1) but I don't count on it in my rendering loop.
Brgds,
Berny/Knurz