diff --git a/Getting-optimal-vsync-performance.md b/Getting-optimal-vsync-performance.md index 6299ab8..53a97b0 100644 --- a/Getting-optimal-vsync-performance.md +++ b/Getting-optimal-vsync-performance.md @@ -14,6 +14,18 @@ If you're unsure about the result, run this test several times and see if the re You can use this value in `video_refresh_rate` and the video and audio should ideally be butter smooth if the game's FPS and monitor FPS are relatively close to each other (playing a PAL game on 60 Hz monitor won't be perfect no matter what you do ...) +## Input latency +There have been cases reported on excessive input lag in Windows for some users. +It's not really input latency, but video driver latency. Some video drivers tend to buffer way too much in the name of increased performance. This problem is explained by Carmack [here](http://www.altdevblogaday.com/2013/02/22/latency-mitigation-strategies/). + +RetroArch recently got an option to use a swap/fence sync method in OpenGL driver, which is reported to greatly lower input latency ([thread](http://forum.themaister.net/viewtopic.php?id=495)). +To enable it, set `video_hard_sync = true` in config. To ensure that this sync method is actually used, make sure that you see this in the log: + + RetroArch: Querying GL extension: ARB_sync => exists + RetroArch: [GL]: Using ARB_sync to reduce latency. + +Do note that this sync method can greatly reduce performance, and can turn smooth 60 fps into crawling 30 fps if there was not enough headroom in the performance. + ## Threaded video fallback If your video driver has very bad performance, it is possible to run it on a thread to avoid almost all video driver overhead. Set `video_threaded = true` in config. Butter smooth VSync behavior in this case is impossible however, and latency might increase slighly. Use only if you cannot obtain full speed otherwise.