DirectX SDK |
Every change to 3-D sound buffer and listener settings causes DirectSound to remix, at the expense of CPU cycles. To minimize the performance impact of changing 3-D settings, use the DS3D_DEFERRED flag in the dwApply parameter of any of the IDirectSound3DListener or IDirectSound3DBuffer methods that change 3-D settings. Then call the IDirectSound3DListener::CommitDeferredSettings method to execute all of the deferred commands at once.
Every change to 3-D sound buffer and listener settings causes DirectSound to remix, at the expense of CPU cycles. To minimize the performance impact of changing 3-D settings, use the DS3D_DEFERRED flag in the applyFlag parameter of any of the IDirectSound3DListener or IDirectSound3DBuffer methods that change 3-D settings. Then call the DirectSound3DListener.CommitDeferredSettings method to execute all of the deferred commands at once.
Note Any deferred settings are overwritten if your application calls the same setting method with the DS3D_IMMEDIATE flag before it calls CommitDeferredSettings. For example, if you set the listener velocity to (1.0, 0.0, 0.0) with the DS3D_DEFERRED flag and then set it to (2.0, 0.0, 0.0) with the DS3D_IMMEDIATE flag, the velocity will be (2.0, 0.0, 0.0). Then, if your application calls the CommitDeferredSettings method, the velocity will not change.