Re: [AD] Mixer diff #3

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Ben Davis wrote:
I'd agree with you, except the DirectX mixer probably has lower latency than the Allegro mixer. We mustn't remove the DirectX mixer without being sure that the Allegro mixer-based implementation in Windows works properly and has low latency on all systems.

A quick look through wdsndmix.c (which is the one for Allegro's mixer on top of DX, despite the name), it appears that DirectSound is in complete control of any added latency. The number of bytes per buffer fill are gotten when the buffer handle is locked, and doesn't seem to be able to be set anywhere. The callback timer runs at 50Hz, though, so I would guess there to be about 0.02 seconds in latency (~20ms).

However, to submit as anecdotal evidence, the only difference I noticed between using AMX and DMX (when I was in Windows) seemed to have been output volume. Any added latency went by unnoticed to me.

There is one thing I can do for the AMX driver. For some reason, it seems to create a voice at the max capabilities DX reports for the card. For most, this would mean 44khz 16bit stereo is always set and resampled to. I can change that so it'd pay attention to the sound_freq, sound_bits, and sound_stereo config settings (only setting it lower if the card reports less than what's requested).

- Kitty Cat




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/