Hi DaRayu,
Well, I've been doing some tests and for the life of me I can't get a reliable vsync in D3D without using the standard D3DPRESENT_INTERVAL_ONE present method.
I do get good results with a CRT and native (low) resolutions with D3DPRESENT_INTERVAL_IMMEDIATE after manually waiting for vsync, but as soon as I test this on a LCD or a CRT at higher resolutions I start getting static tearing by the top of the screen. I guess these functions are not fast enough to catch vblank reliably unless you use the encapsulated Present method, too bad.
Anyway, I've attached the patch in case you want to test. Just use -waitvsync with the rest of standard settings. If you want smooth scrolling at any refresh make sure to add -nothrottle -nomt.
|