[ 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