Convolution Reverb + Ambisonics Performance Questions

Hey fellas,

for testing reasons I was running on a 1x64 samples buffer for a few weeks now, just to see how far I can push before I need to increase the buffer size. I actually forgot about having set it so low.

After implementing the new convolution reverb, I started getting buffer underruns. So I bumped it to 1024 and I still get occasional underruns. Same with ambix files, although I feel like convoReverb was more expensive.
I have not tested in detail yet, I might have some other issues on my end.

But that got me curious.

How expensive are ambix files & convolution reverb? I see that in the “StateOf4.25Audio”-Project the buffer is set to 7x 256 and am wondering whether specific length & number of buffer combinations work better than others for specific purposes.

Sometimes one wants to use a LOOONG IR, either for an unreal long hall or some spectral paiting with the convolution reverb. But how does that affect performance? Long IRs in some cases can get up to 30s, right?

There are 4 tracks inside, is this at all an increase of CPU usage?

Thanks! :slight_smile:


Long IRs are more expensive than short IRs, for sure.

So 7 x 256 means that it’s buffering 1792 samples, but the callback rate is higher, so the audio render feels more responsive because it’s getting updated data from the audio thread at a higher frequency.

This helps things like panning feel more responsive at higher buffer sizes.

Convolution, even though it’s been around for a while, is very much a next gen feature because it’s always been expensive. Both of these features should probably be treated as next-gen features. So from a performance stand-point, I would suggest thinking about your min spec. Maybe that means using an algorithmic reverb instead of convolution reverb on lower tiered machines or platforms.

However, as we look toward the future, the ability of the average machine to handle things like convolution and ambisonics is only going to get better and better. :slight_smile:

Thanks a lot, Dan! Your technical knowledge helps me understand this a lot better! :slight_smile:

I am still a bit curious: how expensive is ambisonics playback?

You can think of Ambisonics as a complex panning algorithm. First Order Ambisonics has 4 channels that are transformed into X number of output channels. Second Order Ambisonics has 9, Third Order Ambisonics has 16.

So you will have transformations on the source rotation and on the decode.

It’s not free, but otherwise I don’t know how to quantify the expense.

Roger that, thank you Dan! :slight_smile: