Yesterday, I did some more tests. And it's true what I assumed: Direct3D with vsync lags only in fullscreen mode. If I use windowed mode, the results are fine.
Is there any reason for it that you can think of?
I guess it doesn't have anything to do with micro stuttering because my results are always pretty constant. And apart from triple buffering, which already lags by design, the only combination that doesn't produce results that are alright is Direct3D/vsync/fullscreen. The other combinations, DirectDraw/vsync/fullscreen, Direct3D/vsync/window and anything without vsync is o.k.
Unfortunately, Direct3D/vsync/fullscreen is exactly the configuration I want to use. Vsync prevents tearing. And with DirectDraw you can't use all that artwork stuff properly, so it should be Direct3D. And fullscreen of course so that I don't have the windows borders and part of my desktop visible.
I looked in the ATI control center to find some options, but there was nothing that helped me. Then I downloaded the ATI Tray Tools and looked for the flip queue size option. But it was already preset to 0 anyway. And even setting it to the highest value didn't make a difference, so it didn't make it worse either. I also downloaded the latest drivers for my graphic card from the ATI website, but it's still the same.
Today I wanna see if Nestopia has the same phenomenon: That vsync lags only in fullscreen mode. And then I want to try out the old MAME version, 0.106, with the old rendering system, to see if there are any differences. Also, I will try MAME with DirectX set to version 8. Let's see if this makes a difference. On Monday, I can try an Intel card and next weekend, I can try an nVidia card, even though it's an older one.
But in the meantime, I'm grateful for every suggestion where the lag in this specific combination might come from. Alternately, if you can tell me a workaround to run MAME in window mode, but still have all of the unused parts of the screen that aren't used blacked out, this would also work.
|