Frame time deviation with dsound, resampling issues with xaudio

I was using dsound audio driver due to this issue pointed by @James-F with xaudio where the resampling is of very bad quality. Now I realized it was dsound which was giving me so bad core frame time deviation so I’m a bit trapped in the middle, has xaudio issues been ironed out? Didn’t want to necro the thread. It also looks like wasapi messes with framerate.

Have you tried WASAPI with your own setup? I believe some people have no issues with it.

I don’t think anything has been done with xaudio driver since that thread, no.

1 Like

Yes I’m testing with wasapi and so far looks like it doesn’t have the frame time issues, I will try to run a longer test. By the way what means audio_wasapi_sh_buffer_length? it’s set to “-16”

EDIT: Whoa, wasapi is a mess, even with exclusive = false it functions as exclusive, and makes very ugly pops and crackling when switching on the driver.

yeah, I think the ‘always exclusive’ thing is known. Non-exclusive was either never merged or dropped because it was even more of a mess :open_mouth:

I’m testing with openal and so far seems good, if you know any other quirk about this driver please tell now, haha

lol no, I think it should be okay, though I don’t know that anyone like James-F has given it a deep analysis.

1 Like

I could check all cores I use and here are the worst offender, some of them couldn’t get them to improve any better. What I do is set a modeline to the system cycle rate (or should I set it to core reported cycle rate?), set estimated frame rate in RetroArch, and use OpenAL audio driver as stated.

system, deviation, estimated video refresh (improvements)
v n64-angrylion 50% 60.002 (nothing helped to improve it)
CPS 3 16%, 59.602 (rewind off fixed it, to ~1%)
CPS 2 16%, 59.641 (rewind off fixed it, to ~1%)
v DC-flycast 50% 60 (26% with rewind off)
kronos 20% 59.827 (but core reports 50fps because I set it to PAL otherwise bad performance/stutter)
v psx-hw 13%-20% 59.827 (13%-20% with rewind off)

While the testing I found out that a few cores have wrong cycle rates.

DS: 59.826098288081 (desmume rounds it to 59.83)
N64: 60.130001
Naomi: 61.702586Hz (has a 60Hz mode though)