About Standard Reverb

I’m applying Standard Reverb using FMOD_System_SetReverbProperties() and have several questions.

A. What is the difference between passing 0 and FMOD_PRESET_OFF to the third argument?

The document says
“Passing 0 or NULL to this function will delete the physical reverb”
“When using each instance for the first time, FMOD will create a physical SFX reverb DSP unit that takes up several hundred kilobytes of memory and some CPU”

‘deleting the physical reverb’ seams like ‘deleting the instance’…

B. Does this mean, when I apply NULL and then reapply something else again, the old physical SFX reverb DSP unit will be removed and newly created again?

C. Are both calling FMOD_System_SetReverbProperties() and FMOD_System_CreateDSPByType() with FMOD_DSP_TYPE_SFXREVERB the same?

You are spot on with all the points you mentioned.

By passing in zero to SetReverbProperties, the DSP will be removed and then need to be created if needed at a later point. If you use FMOD_PRESET_OFF, the DSP will still be used and this can use CPU if it is not needed.

The DSP used is of type SFXREVERB, previously it could have used hardware reverb but they don’t exist anymore.

1 Like