View Single Post
Old 4th March 2016, 20:52   #36661  |  Link
har3inger
Registered User
 
Join Date: Feb 2014
Posts: 139
I've gone ahead and done that. I tested:

D3D11 old, 3 present queue: Everything's fine.
D3D9, 3 present queue: Everything's fine.
D3D 11 new, 3 present queue: Everything's fine.

Here's where it's interesting:
D3D9, 16 present queue: a/v desync. Video is noticeably earlier than audio, but you'd have to be looking for it to see it. Didn't bother checking if it gets better/worse over time. I feel like it's a constant displacement.
D3D11 New, 15 present queue (setting it to 16 makes it 15): a/v desync. Exact same amount of perceived desync as D3D9, with video noticeably earlier than audio.
D3D11 Old, 15 present queue: Never fills the present queue above 4-5/15, never fills GPU queue above 3-4/24. Oddly enough, starts with mad stuttering and tons of dropped frames, but after queues stabilize, it settles down and stops dropping frames, with no A/V desync.

All of these above tests are using FSE mode, and I quit the program and reload after each setting just to be sure they're getting applied properly. The OSD reports that the present queues and D3D mode are set as I wanted. Oh yeah, D3D9 isn't throwing tons of glitches anymore. Everything is 0 glitches, 0 dropped frames after queues fill.

Now, in windowed, playing with backbuffer sizes:
D3D9: backbuffer 16, present queue 16: A/V desync in FSE, back out into windowed mode, desync is gone.
D3D11 new: present queue (windowed) 15, present queue FSE 15: A/V desync in FSE, gone in windowed.

It's definitely a problem with the present queues in FSE, and isn't a result of whether I use D3D11 or D3D9, since it affects both. The problem exists in FSE, but disappears in windowed mode with the same number of backbuffer/present frames. I suspect there's desync as well with smaller present queues, but it's been unnoticeable since I set it to max of 3.

Last edited by har3inger; 4th March 2016 at 21:01.
har3inger is offline   Reply With Quote