I’m running Retroarch 1.9.7 on a Windows 10 computer, i5-10600k CPU, R7 260X GPU, using Calamity’s CRT Emudriver with the generic 15kHz preset. I’ve enabled CRT switchres and use a CRT TV. I have no other monitors, this is a purpose built emulation PC. Power options are set to max performance, I’ve done a lot of other gaming optimizations in Windows as well.
I’m trying to get rid of some occational audio pops and crackles in Snes9x, using Super Metroid to test. I have to switch audio driver to xaudio and increase buffer to 40 ms to make them go away; this seems high to me, I’d think the rig would be able to manage Wasapi and a shorter buffer size.
I’m looking for sync issues, as the crackles only happen now and again, and seem unrelated to the intensity of the action on the screen (they can just as easily happen on the start menu). However, I’m having trouble understanding Retroarch’s refresh rate behaviour.
As I understand it, it’s important to run the “estimated refresh rate” to get a baseline for proper audio sync. When I run it I get 60.006 Hz. When I press ok the value transfers to the vertical refresh rate, which changes from 60.000 Hz to 60.006 Hz. I am however unable to save this value by saving the Retroarch config; the next time I open Retroarch the vertical refresh rate is back to 60.000 Hz. The menu item called “set display-reported refresh rate”, however, is at 60.006.
When I open Snes9x the vertical refresh rate seems to change again; without me doing anything it’s suddenly 60.099 Hz. If I run the estimated refresh rate again I get the same result as before, 60.006 Hz. Again, I can transfer this to the vertical refresh rate, but it won’t save; the next time I open the game the vertical refresh rate (and the set display reported refresh rate) are back to 60.099 Hz.
Any ideas as to what’s happening here?