HISE Logo Forum
    • Categories
    • Register
    • Login

    CPU optimization for convolution

    Scheduled Pinned Locked Moved General Questions
    9 Posts 6 Posters 670 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • O
      optimistic
      last edited by

      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.

      Dan KorneffD Matt_SFM 2 Replies Last reply Reply Quote 1
      • Dan KorneffD
        Dan Korneff @optimistic
        last edited by

        @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.

        Dan Korneff - Producer / Mixer / Audio Nerd

        CyberGenC 1 Reply Last reply Reply Quote 0
        • Matt_SFM
          Matt_SF @optimistic
          last edited by

          @optimistic and did you enabled IPP? I got some crashes recently using convolution because I forgot to turn it on 😝

          Develop branch
          Win10 & VS17 / Ventura & Xcode 14. 3

          1 Reply Last reply Reply Quote 0
          • lalalandsynthL
            lalalandsynth
            last edited by lalalandsynth

            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.

            Link Preview Image
            Convolution Reverb glitch/timing Bug.

            Using the convolution reverb in Reaper. When I start playback right at the start of a sound I get an artifact , some kind of glitch that is not there when I ...

            favicon

            Forum (forum.hise.audio)

            https://lalalandaudio.com/

            https://lalalandsynth.com/

            https://www.facebook.com/lalalandsynth

            https://www.facebook.com/lalalandsynth

            Dan KorneffD 1 Reply Last reply Reply Quote 0
            • Dan KorneffD
              Dan Korneff @lalalandsynth
              last edited by

              @lalalandsynth replied to your other thread

              Dan Korneff - Producer / Mixer / Audio Nerd

              1 Reply Last reply Reply Quote 0
              • O
                optimistic
                last edited by

                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?

                1 Reply Last reply Reply Quote 0
                • CyberGenC
                  CyberGen @Dan Korneff
                  last edited by

                  @Dan-Korneff Hi,
                  Can you expand on this a bit?
                  A simple convolution scriptnode is taking about 9 percent of my cpu?

                  • Do you do it by right clicking on the main container and selecting wrap into fix block? or do you insert a fixBlock before the convolution?

                  • How do you decide how many samples to use for the fixblock?

                  Christoph HartC 1 Reply Last reply Reply Quote 0
                  • Christoph HartC
                    Christoph Hart @CyberGen
                    last edited by

                    @RastaChess said in CPU optimization for convolution:

                    A simple convolution scriptnode is taking about 9 percent of my cpu?

                    1. Turn on multithreading in order to tuck away the load OR
                    2. Accept that long IRs will consume CPU resources.
                    CyberGenC 1 Reply Last reply Reply Quote 0
                    • CyberGenC
                      CyberGen @Christoph Hart
                      last edited by

                      @Christoph-Hart Understood. Hadn't consider the length of the IR as directly proportional to the CPU consumption.
                      Thank you.

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      45

                      Online

                      1.7k

                      Users

                      11.7k

                      Topics

                      101.9k

                      Posts