Created Getting optimal vsync performance (markdown)
parent
2e70ad3744
commit
de31f6381a
|
@ -0,0 +1,21 @@
|
|||
## Dynamic Rate Control
|
||||
RetroArch uses [Dynamic Rate Control](https://github.com/libretro/libretro.github.com/raw/master/documents/ratecontrol.pdf) to synchronize both video and audio at the same time. This is a very demanding task timing-wise and dynamic rate control helps smooth out imperfections in timing which are guaranteed to arise.
|
||||
|
||||
It can be disabled, but be aware that proper video/audio sync is nearly impossible in that case.
|
||||
|
||||
## Problems
|
||||
While using RetroArch, the default settings might not be adequate, and you might experience video stuttering and/or audio crackling. For correct synchronization, `video_refresh_rate` must be configured for your monitor. It cannot be detected accuractely enough by OS-provided APIs (i.e. they tend to blatantly lie). For proper behavior, an accuracy of roughly ~0.1% is needed for dynamic rate control to smooth out the drifting. This is trivial to obtain by measuring manually. Without dynamic rate control one would need a "perfect" measurement which obviously isn't possible without special hardware.
|
||||
|
||||
RetroArch can give you an estimate of your monitors refresh rate. Make sure VSync is enabled and working, start RetroArch directly in RGUI with `retroarch --verbose --menu`. Let it run uninterrupted for at least 4096 frames (displayed in title bar), and exit. In the log, you should see something like:
|
||||
|
||||
RetroArch: Average monitor Hz: 59.869485 Hz. (1.347 % frame time deviation, based on 2048 last samples).
|
||||
|
||||
If you're unsure about the result, run this test several times and see if the results are consistent. Some systems tend to have very unreliable VSync behavior and this result will wildly fluctuate.
|
||||
|
||||
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 ...)
|
||||
|
||||
## 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.
|
||||
|
||||
## Windows Vista+ problems
|
||||
Windows Vista and up suffer problems with OpenGL in windowed mode where it appears to be impossible to obtain proper, smooth VSync behavior no matter what you do. If you are annoyed by this problem, and still want to play in windowed mode, you should use the D3D9 driver which doesn't have this problem. Disabling Aero sometimes helps OpenGL VSync behavior.
|
Loading…
Reference in New Issue