That code is an attempt to v-sync right before displaying the new frame. If you just switch D3DPRESENT_INTERVAL_ONE to D3DPRESENT_INTERVAL_IMMEDIATE, it won't perform any sort of vertical synchronization (lots of tearing), it's just the same thing as if you run MAME without -waitvsync.
The interest of this test is to check whether making the v-sync external to the D3D Present method bypasses the ATI built-in flip queue or not. It's just an experiment, because this patch doesn't provide a reliable v-sync method for most machines/setups.
Yes, using -nothrottle makes the emulation run full speed, but if you have a reliable v-sync enabled then this one locks the speed at the video card's refresh.
|