Comment 14 for bug 732977

Revision history for this message
JosepMa (josepma) wrote :

An old bug, many things have changed since, but I would like to share my findings:

---------------
CPU: Core 2 Duo 1.5GHz
OS: Win 10 64bit
Asio4all: 2.11
Realtek HD audio: ALC268, drivers 6.0.1.7535
Hercules DJ Console 4-Mx: (2016 drivers). For all the tests, except explicitly said, configured with the WDM driver mode.
Mixxx: 2.1.0 alpha (november 2016)
---------------

Test 1: ASIO API on Mixxx, both soundcards as ASIO4all (It might require configuration of which soundcards and channels use). Hercules Master and realtek headphones. 5ms latency. 44Khz.
- In this mode, Mixxx works in single soundcard mode. Soundcard synchronization is done by ASIO4all.
- Playback works without issues initially.
- From time to time, there's a break on the audio, both master and headphones. Mixxx shows the graphics as running.When audio is recovered, usually the playback position goes back to where audio stopped, although in one case it didn't (or so it seemed).
- intercard latency is very good (i didn't need to change it from mixxx settings).

Test 2: ASIO API on Mixxx, Hercules as ASIO, Realtek as ASIO4all. Disabled the corresponding options in asio4all (so that it does not enable Hercules through it).
Hercules refuses to load if i add the realtek one. Deck 1 workaround didn't work here. It's as if the mode only accepted one soundcard.

Test 3: WDM-KS API: Hercules Master and Realtek headphones. I also had to connect Hercules channels 3-4 to something, in this case Deck 1. Else it refuses to open the soundcard.
- "Default (long delay)" mode works very good, I actually had to add 1ms latency to the master, instead of the headphones, but could have lived without it.
- "Experimental" mode gives an "unanticipated host error"
- "Deactivated" mode gives constant skipping.

Test 4: WDM-WASAPI API: Hercules refuses to load if i add the realtek one. Deck 1 workaround didn't work here. It's as if the mode only accepted one soundcard.

Test 5: Directsound API: Hercules master and Realtek headphones, 11ms latency, 44Khz
- "Experimental" (no delay) synchronization mode does not work -> headphones get no sound
- "Normal (long latency)" mode works fine. latency (as expected) is long, seems to be a bit more than the configured audio latency. Listening with one speaker in one ear, and that same channel of the headphones on the other ear, I added 18 ms to the headphone latency.
- "Deactivated (short delay)" mode worked fine initially but soon it lost synchronization and the headphone output started to get some "clicking" that could only get restored by reiniting audio (for example, changing this same setting). I added 4ms of latency using the above mentioned method.

Test 6: MME API: I briefly tried this. Seemed to behave like Directsound. It required a higher latency (i used 22ms).

So, with all these, for multiple soundcards, and given my setup, the best type of connection was WDM-KS, with Directsound the second best. Obviously, since I don't require multiple soundcards, I'm fine with ASIO.

It might require investigation why I couldn't get ASIO or WASAPI to work with two soundcards.