Dolphin, the GameCube and Wii emulator - Forums

Full Version: Can someone explain the Audio Backends?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have no idea what they're supposed to do or how they work. I also have no idea about the latency. I have an overall idea of what the HLE and LLE (well, sort of), but those aren't my main concern. If there's already a thread on up, a link would be appreciated! I tried searching and got nothing.


All I know is that changing my audio backend from XAudio2 to DSound perfectly fixed the audio problems in Donkey Kong Country Returns, or at least from what I played on 1-1. There was no skipping or anything. I also have no idea what the audio latency is.

This thread was made in the support board, but I think I was asking the wrong place for this question.
Please do not make multiple threads. 1 is enough.

Closed.
Err, I'm reopening this, Garteal already closed his other thread about this subject. Next time, avoid the mess and select the right section before opening new threads...
(11-14-2013, 06:33 AM)Jhonn Wrote: [ -> ]Err, I'm reopening this, Garteal already closed his other thread about this subject. Next time, avoid the mess and select the right section before opening new threads...

Technically, I closed this thread before Garteal did (see the Mod CP) but how often does that happen when staff close two related threads like this at the same time? :p The other was open when I closed this, but I guess no one's at fault really.

Anyway, about the OP's question (since no one else wants to answer it):

DSound -> http://en.wikipedia.org/wiki/DirectSound Uses the older audio API that was fairly common on Windows, from what I can tell.
XAudio2 -> http://en.wikipedia.org/wiki/XAudio2 Uses the newer audio API that replaces DirectSound.
OpenAL -> http://en.wikipedia.org/wiki/OpenAL Cross-platform audio API; in Dolphin you can manually control the latency under this backend.

As for the differences you hear, such as when switching between DSound and XAudio2, you can probably chalk it up to how the newer API handles certain audio functions versus the old API. XAudio2 might be doing something that takes longer or maybe Dolphin uses it in a less efficient way than DSound. I don't know for certain, but those are at least two possible cases.
Regarding latency, XAudio2 provides less latency than DSound, and OpenAL has the adjustable latency option but tends to be the longest in relation to the other backends (even if you set it to 0)... Probably related to timestretching feature, only available in OpenAL at the moment...

@Shonumi: I did a quick search for new posts then I saw the two threads closed, so, I reopened this one (the one I saw last) Tongue Anyway, next time I'll check Mod CP if I find another case like that, although, unlikely Wink
Thanks for the explanation, although it's still kind of over my head. I'll just have to tinker with that selection when trying to get games to run properly.

And sorry for the multiple threads. I'd just realized that my thread was probably in the wrong area, so I just asked to close it. I'm typically pretty good at keeping things pretty clean, so my bad on that.
To make it simple: use XAudio2 (the default backend), if your computer can't run the game fullspeed, then the audio will stutter, and in this case you use OpenAL...