First, read the section "Audio is crackling or skipping." to learn about the SNES's 60.09881Hz refresh rate in NTSC mode.
If your variable refresh rate display cannot output more than 60Hz, then it is pointless to use with Snes9x, because the same behavior will be achieved through resampling.
Windows
Under the "Sound Settings" dialog, adjust the following options:
- Set playback rate to your computer's ideal rate as described in the "Audio is crackling or skipping." section.
- Uncheck "Synchronize with Sound Core"
- Check "Dynamic Rate Control" if you wish.
- Ensure "Automatic Input Rate" is not checked, and enter "32040" in the Input Rate box.
Under the "Display Settings" dialog, adjust the following options:
- Select either Direct3D or OpenGL as the output mode.
- Uncheck "Emulate Fullscreen."
- Set the dropdown in the "Fullscreen Display Settings" box to your panel's native display mode.
- Depending on your system, "Vsync" may or may not need to be checked.
- Uncheck "Reduce Input Lag."
- Under "Frame Skipping," select "Automatic" with at most "0" skipped frames.
This will output to the display at a rate of 60.09881Hz, and match the actual SNES output. An alternative method that may not work as well is to synchronize to the sound output. Follow the above instructions, but instead:
- Check "Synchronize with Sound Core"
- Under "Frame Skipping", select "Fixed" with 0 frames skipped.
GTK
It's important to note that most compositors, which all the popular Unix desktop environments use, are blacklisted for both G-Sync and FreeSync, which means variable refresh rate will only work in fullscreen mode, and only if the driver and desktop environment are smart enough to allow it. You can disable compositing or run a different X11 window manager to get around this.
Under Preferences->Display->Hardware Acceleration
- Set the driver to "OpenGL."
Under Preferences->Sound:
- Uncheck "Automatically adjust input rate to display."
- Check "Dynamic Rate Control" if you wish.
- Set the "Input Rate" to 32040.
Under Preferences->Emulation:
- Set "Speed Throttle" to "Timer-based."
This will use a timer to output frames at exactly 60.09881Hz. The alternative is to use sound-syncing, which may perform worse. To do this, follow the above instructions, but
- Set "Speed Throttle" to "Sound buffer synchronization."