Dolphin, the GameCube and Wii emulator - Forums

Full Version: Inconsistent input latency?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I was trying to do some tests to compare input latency in DX12 fullscreen versus exclusive (non-DX12) fullscreen. Nothing advanced, I just recorded 120 fps video and counted frames between keypress (measured using the num lock LED) and the action appearing on screen in Melee. Doing this last night I was getting numbers between 2 and 4 frames (at 120 fps). Tonight I wanted to do some more tests, but this time I got numbers between 7 and 11 while doing the exact same tests!

Needless to say, this is a pretty big difference. Not only does it put any previous measurements in doubt, but it worries me because I play Smash on Dolphin and I want to have the lowest input latency possible on my setup.

So does anyone know why the latency would vary so widely? Both last night and tonight I tested exclusive fullscreen, DX12 fullscreen, and windowed, and all of them showed the same variation. Is this likely to be a Dolphin problem, or an issue with the hardware or OS, or an artifact of my test setup? Is there anything I can do to make the input latency consistent?
Are you testing the exact same part of the game, for example, going from the menu to in-game?
(03-09-2016, 06:45 AM)skid Wrote: [ -> ]Are you testing the exact same part of the game, for example, going from the menu to in-game?
Yes, I'm testing Fox's shine (a 1-frame with an obvious animation) in Melee.
I'm pretty sure DX12 doesn't support exclusive fullscreen in Dolphin yet?
(03-10-2016, 03:33 AM)JMC47 Wrote: [ -> ]I'm pretty sure DX12 doesn't support exclusive fullscreen in Dolphin yet?
Exclusive fullscreen doesn't exist in DX12. This is what got me to start this test in the first place. In DX12 exclusive fullscreen has been replaced by something called "immediate independent flip", which is supposed to have the latency of exclusive fullscreen, but behaves like borderless fullscreen (can be minimized quickly, can be composited with other windows, etc.)

I don't know if Dolphin supports immediate independent flip, and even if it does I still wanted to see if the latency was really the same as exclusive fullscreen. That's why I started this experiment, but then I ran into this strange behavior that makes it basically impossible to do an accurate test, and makes me question whether I'm always getting the best latency in the first place when I'm playing.
I have no clue, stenzek was looking into it. As far as I know we don't have any special handling and are at the mercy of the OS for latency on D3D12.
DX12 doesn't have ExFS? That explains the UAP versions of ROTT and GOW:U.

Who in their right mind thought that was a good idea. I mean as an option to replace borderless windowed. Sure. But getting rid of EX:FS entirely?
SMH.
(03-10-2016, 05:30 PM)BONKERS Wrote: [ -> ]DX12 doesn't have ExFS? That explains the UAP versions of ROTT and GOW:U.

Who in their right mind thought that was a good idea. I mean as an option to replace borderless windowed. Sure. But getting rid of EX:FS entirely?
SMH.
I couldn't say entirely what the reasoning is, but the immediate independent flip mode is supposed to be the same but better. I don't really know anything about it though, I only saw a video about the new flip modes introduced in DX12.

And none of this is really addressing my question :/
tbh input latency is going to be a gamble in emulation, when there's a lot of possible things that could cause it to vary, especially since we're nowhere close to cycle accurate. The best you can really do here is use a GC controller adapter, and use a backend that can use Exclusive Fullscreen, as of right now we do not have that in the D3D12 backend.