Reducing DMA Overhead

Most of today's sound cards are ISA-bus cards that use DMA (direct memory access) to move sound data from system memory to local buffers. This DMA activity directly affects CPU performance when the processor is forced to wait for a DMA transfer to end before it can access memory. This performance hit is unavoidable on ISA sound cards but is not a problem with the newer PCI cards.

DMA overhead could be the biggest single factor affecting the performance of DirectSound. Fortunately, this factor is easy to control when you're tweaking performance.

The impact of DMA overhead is directly related to the data rate of the primary buffer. Experiment with reducing the data rate requirement by changing the format of the primary buffer. For more information on how to do this, see Access to the Primary Buffer and IDirectSoundBuffer::SetFormat.