Platform SDK: DirectX

コントロールの変更の最少化

セカンダリ バッファのパン、ボリューム、周波数を変更すると性能に影響する。サウンド出力が途切れることを防止するには、DirectSound ミキサーは 20ms から 100ms、またはそれ以上先行してミキシングを行わなければならない。コントロールを変更した場合は、ミキサーは先行ミキシング バッファをフラッシュ (消去) し、変更後のサウンドを使って再ミキシングを行わなければならない。

[C++]

送信するコントロールの変更回数を最少にすることは良い考えである。IDirectSoundBuffer::SetVolumeIDirectSoundBuffer::SetPanIDirectSoundBuffer::SetFrequency の各メソッドを使うルーチンの呼び出し回数を減らすよう努める。たとえば、アニメーションのフレームに同期して音を左スピーカから右スピーカへ動かすルーチンを使っている場合、SetPan メソッドを 1 フレームごとに 2 回でなく 1 回呼ぶことを試みる。

[Visual Basic]

送信するコントロールの変更回数を最少にすることは良い考えである。DirectSoundBuffer.SetVolumeDirectSoundBuffer.SetPanDirectSoundBuffer.SetFrequency の各メソッドを使うルーチンの呼び出し回数を減らすよう努める。たとえば、アニメーションのフレームに同期して音を左スピーカから右スピーカへ動かすルーチンを使っている場合、SetPan メソッドを 1 フレームごとに 2 回でなく 1 回呼ぶことを試みる。

 :  3D コントロール (方向、位置、速度、ドップラー係数など) を変更した場合も、DirectSound ミキサーは先行ミキシング バッファを再ミキシングしなければならない。しかし、3D コントロールの変更をグループ化し、再ミキシングを 1 回に削減できる。「遅延設定」を参照すること。