(06-15-2014, 02:02 AM)TSM Wrote: [ -> ] (06-15-2014, 01:29 AM)Gir Wrote: [ -> ]gsync will solve these issues
I run dolphin on my g-sync monitor. The only affect it has is reducing input lag. It's effectively the same as running the game with vsync off. If you don't get 100% vps then you still get sound issues. Sure it may look smoother with no stutters when the frame rate drop, but the game still slows down and the audio stutters.
I was hoping for developers to implement 'WASAPI Exclusive' which is a Low-Latency Audio API which may help a lot.
RAMA's SPU2-X Plugin for PCSX2 as implemented 'WASAPI' and it does reduce Audio Latency and improve audio quality
(06-15-2014, 01:42 AM)Gir Wrote: [ -> ] (06-15-2014, 01:33 AM)Nintonito Wrote: [ -> ] (06-15-2014, 01:29 AM)Gir Wrote: [ -> ]gsync will resolve these issues
Gsync doesn't affect games with a fixed timestep. The game will still run a slowed speed. Gsync is for games that run at full speed already, but cannot hit 60fps all the time, and adjusted monitor refresh to smooth out the decrease. It does not affect the tjmestep of a game.
Quote:G-SYNC is a variable refresh rate technology announced by NVIDIA, running dynamically at 30Hz->144Hz. Monitor refreshes immediately upon Direct3D frame presentation, instead of waiting till the next VSYNC. Before, 60Hz monitors needed 1/60sec to transmit the refresh from the GPU to the monitor. Not anymore. In a G-SYNC monitor, the frame transmission time is always 1/144sec, even during 60fps.
Apparently, this makes it possible to do ultralow input lag 60Hz for emulators!
For developers, it is actually very simple to run G-SYNC at a fixed refresh rate: Basically, emulator runs at 60fps@60Hz, but with frame transmission times of 1/144th of a second from GPU to display. In G-SYNC mode, you just simply do Direct3D Present() 60 times a second accurately (based on QueryPerformanceCounter()), and viola! G-SYNC 144Hz running at 60fps@60Hz.
1/60sec frame transmission to monitor = 16.7ms (traditional VSYNC at 60Hz)
1/144sec frame transmission to monitor = 6.9ms (G-SYNC)
Input lag reduction = almost 10ms
To Emulator Users: Tell your emulator creators, link to this post.
To Emulator Creators: It's a very simple programming change to emulators:
- A command line option or mode that ignores VSYNC, and instead uses microsecond-accurate timer to call Direct3D Present(). This allows the emulator to control a G-SYNC monitor's immediate refresh (e.g. 50Hz or 60Hz). The emulator briefly runs as fast as possible for 1/60sec (surged emulation execution) then frame is immediately delivered as fast as possible to the monitor (in 1/144sec) without waiting for VSYNC. Rinse and repeat 60 times a second. Low input lag bliss.
I don't think you understand what a fixed time step is. The games run internally with a fixed frame rate. This is completely separate from what is output to the monitor. If you are not able to run at the game's internal frame rate, you cannot achieve full speed. Gsync does not affect a game's internal time step. This is entirely related to game's using vsync, and is meant to achieve a lowed input latency and increase smoothness. This has zero influence on the CPU based timing of the original game.
NTSC Games aught to be running at 59.94 FPS but in Dolphin they run at 60 FPS
so that's another Latency factor.
Quote:I was hoping for developers to implement 'WASAPI Exclusive' which is a Low-Latency Audio API which may help a lot.
RAMA's SPU2-X Plugin for PCSX2 as implemented 'WASAPI' and it does reduce Audio Latency and improve audio quality
The problem is that when vps drops below 100% the audio stalls because it runs syncronous with the frame rate. Lower latency audio will be nice, but this problem has nothing to do with the audio latency. What happens is that the buffer runs out before the next frame is available. So there is break in the audio stream. Yoir options are to run at 100% vps or use some sort of sound stretching.