HISE Logo Forum
    • Categories
    • Register
    • Login

    The New Profiler - Further Feedback and Issues

    Scheduled Pinned Locked Moved Bug Reports
    18 Posts 5 Posters 557 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.
    • HISEnbergH
      HISEnberg
      last edited by

      @It appears HISE doesn't want to compile my plugin (AU/VST3) with the new profiler enabled. The project will compile once I disable this flag:

      HISE_INCLUDE_PROFILING_TOOLKIT=1
      

      I'll see if Windows has the same behaviour but here is the Terminal output:

      ❌ Undefined symbols for architecture arm64
      ❌   "hise::DebugSession::ProfileDataSource::ViewComponents::Manager::showOptions()", referenced from:
      ❌ ld: symbol(s) not found for architecture arm64
      ❌ clang++: linker command failed with exit code 1 (use -v to see invocation)
      

      Sequioa 15.1.1
      XCode 16.1

      A 1 Reply Last reply Reply Quote 0
      • A
        aaronventure @HISEnberg
        last edited by

        @HISEnberg did you simply build HISE with it or do you have it set in the project's Extra Definitions fields?

        HISEnbergH 1 Reply Last reply Reply Quote 0
        • HISEnbergH
          HISEnberg @aaronventure
          last edited by

          @aaronventure Both in this context! HISE builds as a standalone but trying to build the plugin AU/vst3 fails. Not necessarily surprising since perfecto isn't designed for it!

          A 1 Reply Last reply Reply Quote 0
          • A
            aaronventure @HISEnberg
            last edited by

            @HISEnberg There's a "Compile with Perfetto" flag in Project Settings. Perhaps that's the one you need to tick if you want to built with the profiler?

            Or maybe it hasn't been adjusted yet to work with the new profiler.

            HISEnbergH 1 Reply Last reply Reply Quote 0
            • HISEnbergH
              HISEnberg @aaronventure
              last edited by

              @aaronventure Nice suggestion, I had missed that flag. However the build fails still.

              This is the template project:

              HiseSnippet 927.3ocsV0uaaaCDmxIrXwccnEXO.B4uTJJLrZRryvvvxrcbqwZRMlxJFPAZ.sHkMQnHEnnZqwP.1SzdF5iTeCZOpOrjWb2BLV0ejf6ie28i2w6nmpUgrzTkF4z9xkILjy2hCVJMKFtfvknIi.83oZUDWvznAKSHooLJxwYmmYs6r2tn7uO9yCHBhLjUqBgdkhGxdAOlap0N8zekKDiIT1k73FdezoSBUxgJgJC3xN3tnDR30j4rKHV2ZgQOmjt.47XbOZDoGs+wc8YGdBs+S86e7ObT+dc6FQOwu+r9yNjPI852E4buynbiRGXHFVJxY2AJ5xfEp2IKRvq3o7YBlUvGE.YtP8XkfZOhVsngK3B5zphTJBhxz5R1NEkruGeNmxWoutz8vbCt0HZV.cZsN81YM542jdcaPuMPImFTZ2BJ8HbPnlmXpsX4y8wSjFlNh.8olTovWTq+tEdnB7PZ5DStlMVCBqP3Ak3m3B+4fercanWkZbeKQ6NyHup7Bh6O4VAeNyLTEmnjff29M7Y+ZzTV50FUxHtF.NFrErL0vhsXy6AZuFJGU3Lft.rPMebQJqCSdVsUGqEu8mJxlykuPMuCkXxyKWJ3RlaTlLzvURWkrAyrTWqDdgU79Iv4SjwNn8e11E93QtdkJrhEJseWtPyHzzNoFh1TDLtbtmeWa8pJWdIUFFQLjAjTVuiNXUHpCl8q7r04cZtgEXz1nsI3vIpBxMfP9+aeCn8NzE5jZskehGRDhYvvl2lJGPbaTttPYXuT5YKI609l1t+SSQQazVYrfUHazrcSf9eCnmLKdFS2ngj6Hbae8QH7WdDp4DdXQ4ogiJ4DI27xDl7KM2iJqo1wsRVAtZxG19txgsAYFiRh3vL0CvMJknbZ2byH52mX6iUAChK3ZBSa31igyH1agMmESx6gKu5m6aYyDNp2wT+9Uo8ud8oKWI7g2bpg8d6d4ps6vp4asEA1eonYBhY8kZ1U+kFf1zZaRraKjobyxlOM7+1lt6JEeDdJ2DtXybr0F3HzH9Zvwx2Gd.9rnHVnolf6hG+GecdL.8apLCrl3bBr2.Z93KxhCf2TCYP1kRlvNl3zxdgtPtqU1VABXRZtvmfuRi9VYmRi9UFQwjPs5pvhw.6KPeStFfSx7Wq2CetU10+127igGDuJLb8PcKfOcaAd31B7nsE3waKvdaKv9aKvS9uAZ+8J+RlQEWL1fPmO8r7MUNNmIIvMv7aqnOyKdcNY
              
              Christoph HartC 1 Reply Last reply Reply Quote 0
              • Christoph HartC
                Christoph Hart @HISEnberg
                last edited by

                @HISEnberg yeah, it's just a minor regression from my last update. I'll fix it soon.

                I'll also change the API method to accept a JSON object that you can pass in to customize the profiling (which thread to record, how long, the trigger, basically anything you can adjust in the Profiler settings).

                In your case you can exclude the audio thread callbacks to get rid of ~80% of the noise (and data size this way).

                HISEnbergH 1 Reply Last reply Reply Quote 3
                • HISEnbergH
                  HISEnberg @Christoph Hart
                  last edited by

                  @Christoph-Hart Nice this sounds very promising, thank you!

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

                    @HISEnberg actually weird, I just checked and this function should not be compiled in the plugin. Are you sure you're using the latest HISE source code?

                    I've committed some other fixes and it's working for me now in the compiled plugin. I also added the possibillity of passing in a JSON object with the options (check the documentation for the method for an example):

                    Link Preview Image
                    HISE | Docs

                    favicon

                    (docs.hise.dev)

                    1 Reply Last reply Reply Quote 1
                    • clevername27C
                      clevername27
                      last edited by

                      Could the profiler be adapted to measure latency?

                      griffinboyG 1 Reply Last reply Reply Quote 1
                      • griffinboyG
                        griffinboy @clevername27
                        last edited by

                        @clevername27

                        That seems like a natural and good feature.

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

                          nope, that's completely out of the scope of the profiler - it doesn't know anything about audio signals.

                          But I've added a small tool that will send an impulse through the signal chain and measure the delay. It's located at Tools -> Check latency. Just turn down your speakers and click on it, then it will measure the latency with the current sample rate and show a message with the value.

                          I tested it with a few test-patches (a simple delay or oversampling chains) and for me it works quite OK, but let me know if it chokes on "real-world" projects.

                          Open to suggestions what to do with the value (like including the samplerate / copy to clipboard or generate the code that sets the latency of the plugin).

                          HISEnbergH A clevername27C 3 Replies Last reply Reply Quote 4
                          • HISEnbergH
                            HISEnberg @Christoph Hart
                            last edited by

                            @Christoph-Hart Cool looking forward to trying this. Some preliminary tests were showing the correct results (48 sample delay with the stock Limiter).

                            Also I am pretty sure I was using the most up-to-date version of HISE for my original post, but I just updated HISE again and it seems the profiler is compiling now so thanks!

                            1 Reply Last reply Reply Quote 0
                            • A
                              aaronventure @Christoph Hart
                              last edited by

                              @Christoph-Hart said in The New Profiler - Further Feedback and Issues:

                              Just turn down your speakers and click on it,

                              This should not be a thing; the tool should absolutely mute HISE's audio output while it's open and doings its thing.

                              Christoph HartC 1 Reply Last reply Reply Quote 3
                              • clevername27C
                                clevername27 @Christoph Hart
                                last edited by clevername27

                                @Christoph-Hart That was fast. 🙏 I'm confused how is that different from what I asked about?

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

                                  @aaronventure it does but I can‘t guarantee that you have a delay somewhere or store the output in a custom buffer so that‘s an additional safety measure. It also says this before it actually puts the impulse in the buffer so you can‘t accidentally zap your ears out.

                                  A 1 Reply Last reply Reply Quote 1
                                  • A
                                    aaronventure @Christoph Hart
                                    last edited by

                                    @Christoph-Hart Nice. All of these are good points that I hope no one has to learn by personal experience from.

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

                                      @clevername27 said in The New Profiler - Further Feedback and Issues:

                                      I'm confused how is that different from what I asked about?

                                      It doesn't have anything to do with the profiler, it's just a simple function that inserts a impulse into the buffer and measures the delay to the first non-silent sample.

                                      The profiler measures the time stuff takes on different threads with event dependencies so it's a different beast than that.

                                      clevername27C 1 Reply Last reply Reply Quote 1
                                      • clevername27C
                                        clevername27 @Christoph Hart
                                        last edited by

                                        @Christoph-Hart Thank you.

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

                                        61

                                        Online

                                        1.7k

                                        Users

                                        11.7k

                                        Topics

                                        102.2k

                                        Posts