Multiple windows and vsync
My primary monitor is 60hz. When rendering to a single window I call ovrHmd_SubmitFrame(), blit my mirror texture to the window and then call SwapBuffers(). This works well when vsync has been disabled with wglSwapIntervalEXT(0) as I can perform 75 buffer swaps per second. When I render something to a second window (on the same thread) which therefore requires a second call to SwapBuffers() afterwards, I get limited to 60 buffer swaps for both.
It seems as though the SDK may turn on vsync internally, but with multiple windows this causes issues. What's interesting though is that forcing vsync off in the Nvidia settings allows me to swap 75 times for each window with absolutely no side effects at all (no tearing which is great, and I'm guessing the SDK is limiting it to 75 due to internal timing with the headset or whatever). This is in both direct and extended mode.
I have a few questions:
- Am I right in thinking that the SDK enables vsync internally?
- If so, is it necessary, especially as when forcing it off allows multiple windows to swap as many times as they need without issues?
- Does the SDK internally limit to the timing of the headset (i.e. if I have a 120Hz monitor, would the 75Hz of the DK2 limit the number of SwapBuffer() calls I can make on the monitor with vsync forced off on the same thread)?
It seems as though the SDK may turn on vsync internally, but with multiple windows this causes issues. What's interesting though is that forcing vsync off in the Nvidia settings allows me to swap 75 times for each window with absolutely no side effects at all (no tearing which is great, and I'm guessing the SDK is limiting it to 75 due to internal timing with the headset or whatever). This is in both direct and extended mode.
I have a few questions:
- Am I right in thinking that the SDK enables vsync internally?
- If so, is it necessary, especially as when forcing it off allows multiple windows to swap as many times as they need without issues?
- Does the SDK internally limit to the timing of the headset (i.e. if I have a 120Hz monitor, would the 75Hz of the DK2 limit the number of SwapBuffer() calls I can make on the monitor with vsync forced off on the same thread)?
