CPU optimization for convolution
Does anyone here have experience optimizing the CPU for the convolution node?
I have a product out that uses it extensively and the user said the following about having CPU issues with convolution based products
"This same thing happens with one or two other IR-based reverbs (and only with them). However, it seems fixable. For example, Korneff updated their Micro Digital Reverberator awhile back and it finally uses low CPU for me. The other culprit, which has improved but still isn't usable at 5+ seconds decay times is Transatlantic Plate. Reverberate3 has zero issues."
I know the developer of Korneff Audio uses HISE as well so I'm guessing there must be a solution around?
One thing is that I had to disable multi-threading on the convolution node for Windows because we had reports of crashing in Windows on Cubase with it enabled. Curious if there are optimizations beyond that though.
@optimistic For us, the solution was to enable multi-threading so the convolution is processed in a background thread, then wrapping the entire DSP chain in a fix_block container.
@optimistic and did you enabled IPP? I got some crashes recently using convolution because I forgot to turn it on
Did none of you encounter this problem ? My reverb is not releasable at the moment due to this.
please tell me I am missing something
The Convolution can not start at the beginning of a sound , always needs a "pre-roll" or it misses the first part of the sound.
@lalalandsynth replied to your other thread
Thanks for the replies everyone!
We're getting quite a few reports of poor multi-core performance and I'm guessing this is because I disabled "Enable Multicore" on the convolution.
@Matt_SF that's quite interesting you experienced crashes before IPP was enabled. I have IPP enabled in the project and also built HISE with IPP enabled. What did you do to resolve this because it also sounds like my issue.
@Dan-Korneff what do you mean by "wrapping the entire DSP chain a fix_block container"? Is that something using ScriptNode?