I have had a lot of issues with vertical sync in fullscreen mode using Direct3D10. Enabling vertical sync by calling
// Let me see what you got d3dDevice->Present(1, 0);
gave me a headache as the framerate would drop to 24 frames per second! This only happened in fullscreen mode! I finally found out that the problem was the refresh rate settings in the
DXGI_SWAP_CHAIN_DESC structure. I solved the problem by setting the refreshrate Numerator and Denominator to 0.
// Just set these values to undefined swapChainDesc.BufferDesc.RefreshRate.Numerator = 0; swapChainDesc.BufferDesc.RefreshRate.Denominator = 0;
Hope this helpes someone else as it took me an hour to find out.