HISE Logo Forum
    • Categories
    • Register
    • Login

    Scriptnode cpu ?

    Scheduled Pinned Locked Moved General Questions
    46 Posts 12 Posters 2.7k 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.
    • Christoph HartC
      Christoph Hart
      last edited by

      What are you doing that eats up 30% CPU? You can send me a screenshot of the full patch per PM if you want to keep your magic private :)

      Again: scriptnode is being heavily rewritten at the moment and there are a few occassions where the CPU usage was excessively high, which is now more optimised (IIRC a modulation connection caused an UI update per sample which was unnecessary). However using a scriptnode patch in the compiled plugin is not advised because there are limits what a interpreted DSP graph can achieve regarding performance.

      In order to get a reasonable performance from scriptnode you need to create a C++ node from it - this is where the real magic of scriptnode comes in as it allows you to transform the DSP algorithm that you've designed within scriptnode into a fully optimisable C++ class. I did that for some of the effects in PercX and there is no difference regarding performance to the ones that I've handwritten in C++.

      Unfortunately the code generator is broken in the current scriptnode branch (it did work before I started the rewrite, but now it's in a nimbus state until I get this overly massive rewrite done).

      ustkU ? NatanN 3 Replies Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart
        last edited by

        Ah also that entire custom node location thing will be removed. You will just export all the scriptnode patches as a dedicated .dll that will be loaded by HISE for each project during development and when you export your final plugin it will be embedded into the code (so you donβ€˜t have to drag another dll around).

        1 Reply Last reply Reply Quote 2
        • ustkU
          ustk @Christoph Hart
          last edited by

          @Christoph-Hart said in Scriptnode cpu ?:

          it's in a nimbus state until I get this overly massive rewrite done).

          And you receive an overly massive encouragement for the titan work this represents! πŸ‘
          Really happy to see all those commit notifications every day! :)

          The new node exporting system seems to be easier than the actual export, and I can't complain! 😎

          Can't help pressing F5 in the forum...

          1 Reply Last reply Reply Quote 0
          • ?
            A Former User @Christoph Hart
            last edited by

            @Christoph-Hart said in Scriptnode cpu ?:

            What are you doing that eats up 30% CPU? You can send me a screenshot of the full patch per PM if you want to keep your magic private :)

            Nothing too crazy, I'm okay with showing some snippets if it helps other people learn (although I'm probably doing it wrong since it's using so much CPU).

            d9c05310-80dc-4138-beba-ad77d71c2cea-image.png

            eb8f0710-b565-4936-ba37-c51b26df37df-image.png

            These are 2 of 3 node trees for this one Exciter plugin, I've already read the threads about Transient Shaper node using a bit of CPU, but the other plugins (FET Compressor, Saturator, Basic EQ) all have around 9% in ableton. I can't run more than 2-3 copies of each before my audio hangs.

            However using a scriptnode patch in the compiled plugin is not advised because there are limits what a interpreted DSP graph can achieve regarding performance.

            In order to get a reasonable performance from scriptnode you need to create a C++ node from it

            Unfortunately the code generator is broken in the current scriptnode branch (it did work before I started the rewrite, but now it's in a nimbus state until I get this overly massive rewrite done).

            Damn that's tragic, thanks for explaining though :) Do you have a rough eta for us? I really do appreciate all the work you're doing.

            1 Reply Last reply Reply Quote 0
            • ?
              A Former User
              last edited by

              I'm stupid, I didn't expect the oversampling nodes to have that much impact, I'll have to lower them to 4x... πŸ€”

              I wonder what the ideal middle-ground is for anti-aliasing and performance. I assume 16x will have diminishing returns for aliased frequencies.

              1 Reply Last reply Reply Quote 0
              • NatanN
                Natan @Christoph Hart
                last edited by

                @Christoph-Hart Dear Christoph
                Could you point Me to a version of scrptnode that the export To Cpp Still Works?

                @ustk And you said that it was workong Before you start to dosome changes.

                Thank You

                1 Reply Last reply Reply Quote 0
                • NatanN
                  Natan @A Former User
                  last edited by

                  @iamlamprey Mate, in what version you did export Nodes to Custom cpp?
                  Do they increase the Cpu usage?

                  ? 1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User @Natan
                    last edited by

                    @Natan I haven't done it, I exported them to meta nodes, which don't affect CPU and are also being deprecated.

                    NatanN 1 Reply Last reply Reply Quote 0
                    • NatanN
                      Natan @A Former User
                      last edited by

                      @iamlamprey In The Latest Version, I Succesfully Exported To Cpp Meta Node.
                      They Work In Hise, But In Exported Plugin, They Get Muted, Or Do'nt DO Anything To The Input Signal, Kinda Bypassed Or Not Integrated :(

                      ? 1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User @Natan
                        last edited by

                        @Natan What kind of node setup are you using? I brought mine down by a significant amount by adding a button that disables oversampling nodes.

                        For simple stuff like compression/filters/dry-wet chains and saturation, you should be able to bring the CPU usage down to reasonable and competitive amounts, not sure about more modulation-based stuff though.

                        NatanN 1 Reply Last reply Reply Quote 0
                        • NatanN
                          Natan @A Former User
                          last edited by

                          @iamlamprey It's That Flanger, Yo Can Find It In The Forum

                          It Just Have A Oscillator, And 2 Delays, Nothing Crazy
                          But It Makes Some Artifacts, Which Will Get Disapper With Only Using Oversampling,
                          And It Causes CPU Spikes In Other hand

                          LindonL 1 Reply Last reply Reply Quote 0
                          • LindonL
                            Lindon @Natan
                            last edited by Lindon

                            @Natan I built a flanger (well I gave it a go) and posted here somewhere, it only uses 2x oversampling...maybe try it..I never exported it or compiled it so it might be a dud..in HISE on my system its using about 2% CPU

                            HiseSnippet 2002.3oc6b0sTaaDEVByBXCISZmjI4ROY5EjYR8HIafvzoSH7WJSAhGLIo2wrHs.6frjpzZ9oc5SSuuyzmh7Hza6iPeCZO6tRVqLFv3DL1TwM38r+nu867ydNFsTOz2lDE4GpoWb2yCHZ5yfZbtG6nUNBS8z1XUPN5.Wr2gjPskOO.GEQbzz0K7Vd25EGWS7y+75kwvfrIohzz9fO0lrIsIkkJs9R+H00ccrCYWZSkQWaoMr88Vw20uE.kBHCs.r8w3CIai4CaLjl9Dq4PY9gMXXFIRSe7k8cNuwQ9m5IG+GnQz8cI7FlZMfERJdceWGNh4R0V4HpqS8jsbjllNpdJATPR.OFsE0g1VdJQ7HQGkSmgJenO1UAOSU3YzyvSSAciKQG.BemVtXVVjwUGwcP88xfrM7XDuHJ6bU00cJb+JTcJy9nti2w5BdAE0sMdiU9O.s1AGPrYofcbz5+zsulVW+hbWITC6PZ.Cd9bfTBstzOzLCbjiQS+OPkKWdMuCodjJ1gD.aqFErMgcpe3wy973o97W7ckOnkmMmzKGDRBvgjc8q6hOe1Hby.WxNv7dY48c8sOtA8WHunzuVpXoeqj5jDvbY9Hl09HrmGwM5hCi6K6wB8cm0qUy8Igur7IX2Voq2EbmKb4rnp6bWTh632hQ8NbKLKjdF3QucqlMfnH1jUhQGHSeLM9TEsM3s41TMHdNhF+K7Sbml715wcZlzoFeyP7Xf7XFUnxh+L7IYbxXRl2iuC.8oVGaCawyqiYGws5gHbLvrhDVwts4khVE.dJjKfrz1D33NDZnwWZ03jq32rIGZ7Xjwe9iTG9CDgpZXDaqrCnc4Qb2havhrfscAfDCHgLJgSh7UUtmDHeRNzd.5.5YlyumvZPKyd4oJ6E0Ac6rE5Ar9Pj+IjPoMr0YYA6yT.alQcmg1IQQAtvwhWp8gr6AJ9JDayJ07mFhCDFollZWiU7vfYqJ3KgBI1D5IDqNQdnLRQk39uKQtHdOuEbJWAIk+FGmc8aPOzC6p8AdvRYru5s12kZGG8K8HycwgGRXhCwvgPNRLR7wHIsf.Ra3AV6L4gNFZaQ8ZurPK7YJOjM8OkDFmpFu22GDnzFB.yHA7yCfv1HiJFffiImJYW4.hCkQHN6C4skfe9fmqlTM0NnRpok0PkCvXJ1PShj11i.l9Sn.6o4Qr2yg.mmmE5OBfdHoRZu2kH+ZMhG6laDOAxz..vUYGGOjTSYDXcl0RtHHopgoQUMIatJmqDEpD+XPHqJKpf1aD9rpcs3CFRJ9DNdc2OKo9IkmklhcPwjPf4Q.uii.1oloDR3+sma0rplGfhXGWItugauSUBtTuQviCl1WICKFfpkuQW42IkdjpjamvMt.qLNCIzZNiOXXbH8VQ0SY36G1N3CuygpHOyff567HhJWS1oogPuQgeTogIPMa4NeVVnDpI76JPGiNlbC5nnShjqX6ybgjHubVdJYpZliZ4pMSZtZl4IqcajrlvgcXOUs1UqZlmq1PP0pUM6d5ZV4IOLfRdnMkalS4e1TdQTsJK7pZKLeOm0l0HcVaJQS+7Raag7z19LSaS7c+Y1AMeYbtz1q58CaOqans20jYa0QgLaGS4q3cZTSemtkT9iUfdxPFreGuHILKJygwOxl5J9aS2kuIZHC7z9Grbb5edW9hbMlhEQuOhvewDTOl8lkFVg9IpQsqIpQujd7D72Nfad95xZARAChWrPF3HnQU7LIHHaAEcIRVIPjk0hKZLWbIEqGR94VDO6zySGuze86AeeoO85drvByrmwOeGjlYmmwOeOvZyHvU4c3pT0buylEUD8PKvI6BmmKNHKty7Cy5wCy5rpMQNBUyyQ3ylVMuHstXNs9kH0KqDlsnbDAD7wcDLXZ4wb7dFdNfqaLs9XWr7kY3XYCmL0n2VEvkmTJz6BZ+5TQXRFZMO79tIuLV2NEnMEWaYzE80ZmEDRhh3INxYMsdYmYNRty5wL+scI3vrFlyH84k8j60eCNi5Zpkn1nasDVCa0RLQlWXpzZEpNTUKQd0CCOUOvmjUO+5ibmW5P07RGtsxwct7bb+BSqHD1woqrJW9nOqNN5aMG.zp3wbAy0Wkat9EnjrZK1kRxpdutjrp22JIK8kI6daEYSIqHyLujragRx5mFueiUwLLemEeMjT3Cc8UImPsIRythfYXzwL+fLWssmH6bZzGwmPDWtSAVehn8A9gMK+VBTFEu1DyK8Nd9os+yd8NdFzy2wy2Yy.HraH1KJvOhXptxczmkZeqRXs7xNbonLihu8VG1dJi6QKkHTcjKUG6kYwf1YVos3Wrrjl+8qktzMHvtw4co00ob8Jq2xMhHLtMUmXpXKUw+.NzAzK1YtviE54aY3M35tNQ90c85tsgFW4sMLy8zrXBFaP42nr0fXMtfmo.ieM3Jd.tkKKQZVWqs787CNx2ilQouCgEROTbEBSwdW2Pugw3u4Rsk73k1g.gliTb29lk1j5AQq2RlxQ+vEl8NWbU5qmgjvsLOdP46GWS4B+u7ZJ26dnPHyQGM8SQPXbqxB0c46d88f3FMOHdFMw1g96YKuH37.FSIj.6aOw+UGJh1h2tro1Ioe0bFZMgic1y1NoXztOGq9XNU6i4TqOlyb8wbluOlyB8wbd0UNG9I9uoEyuoz9GDTeMQxm55sqiQuf1+Ax+JVoB
                            

                            HISE Development for hire.
                            www.channelrobot.com

                            1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User
                              last edited by

                              @Natan Could you try this again? Or did this not work out?

                              459943c4-7b9f-4743-a1d0-5f8171e7e9d3-image.png

                              NatanN 1 Reply Last reply Reply Quote 0
                              • NatanN
                                Natan @A Former User
                                last edited by

                                @iamlamprey It Has Its Own CPU Usage Story, It Removes The Artifacts,
                                And Another Wierd Issue With This, It'll Add Around +5 dB :/ To The FX Plugins Output.

                                L 1 Reply Last reply Reply Quote 0
                                • L
                                  LeeC @Natan
                                  last edited by

                                  @Natan @iamlamprey For me, use of the transient shaper is the worst culprit. As @Natan mentioned, the 'Export To Cpp Meta Node' method reduces CPU significantly in HISE but the nodes become inaudible when used in exported plugins.
                                  Guess we'll just have to wait until @Christoph-Hart roles out the scriptnode revamp - Can't be an easy task mind!

                                  1 Reply Last reply Reply Quote 1
                                  • L
                                    LeeC
                                    last edited by LeeC

                                    Still think it would be good to know the last known version of Scriptnode when 'Export to CPP Meta Node' worked end to end ( from within HISE all the way into DAWs).
                                    If anyone has this info please chime in ☺

                                    1 Reply Last reply Reply Quote 1
                                    • NatanN
                                      Natan
                                      last edited by

                                      Prety Stocked Here :(
                                      @Christoph-Hart Could You Please Help Out Our Hise Buddies :(

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

                                        Still think it would be good to know the last known version of Scriptnode when 'Export to CPP Meta Node' worked end to end ( from within HISE all the way into DAWs).

                                        Now that I think about it, it never worked full end to end. In PercX I took the generated C++ code and wrote some custom wrappers around it, but there never was a proper export when you compile plugins.

                                        I'm afraid you need to wait until the revamp is ready. I am closing in on a first prototype for the SNEX workbench. It's kind of nice because you can export any node now into a custom dll that will be loaded as plugin without having to restart the app (also the compile time is a fraction of the full HISE compilation, so the development cycle is quite efficient this way).

                                        ? d.healeyD 2 Replies Last reply Reply Quote 4
                                        • ?
                                          A Former User @Christoph Hart
                                          last edited by

                                          @Christoph-Hart Watching git like a hawk ☺

                                          1 Reply Last reply Reply Quote 1
                                          • d.healeyD
                                            d.healey @Christoph Hart
                                            last edited by

                                            @Christoph-Hart said in Scriptnode cpu ?:

                                            can export any node now into a custom dll

                                            Does it work on GNU/Linux and Mac too?

                                            Libre Wave - Freedom respecting instruments and effects
                                            My Patreon - HISE tutorials
                                            YouTube Channel - Public HISE tutorials

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

                                            31

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.5k

                                            Posts