Forum
    • Categories
    • Register
    • Login

    FilterDisplay and MatrixPeakMeter Floating Tiles - Performance

    Scheduled Pinned Locked Moved General Questions
    7 Posts 3 Posters 73 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.
    • DanHD
      DanH
      last edited by

      I'm getting a lot of UI lag on my rather large project. I assume that the FilterDisplay and PeakMeter floating tiles are running some reasonably fast timers but do the timers run even when the components aren't visible?

      DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
      https://dhplugins.com/ | https://dcbreaks.com/
      London, UK

      Oli UllmannO dannytaurusD 2 Replies Last reply Reply Quote 0
      • Oli UllmannO
        Oli Ullmann @DanH
        last edited by

        @DanH
        This also affects the FloatingTiles for FlexEnvelope, which is why I unfortunately had to remove them from my project. However, it seemed to me that the components are only updated when the visibility of the panels in which they are located is set to true. When the panel visibility is set to true, it seemed to me that updates are performed even when the FloatingTiles are not visible. It might help to set the visibility of the panels to false if the FloatingTiles are not visible at all.

        1 Reply Last reply Reply Quote 0
        • dannytaurusD
          dannytaurus @DanH
          last edited by dannytaurus

          @DanH Could check (in the HISE source) if a component is showing before running timer callbacks.

          MatrixPeakMeter already does it:

          void MatrixPeakMeter::InternalComp::timerCallback()
              {
          		if(!isShowing())
          			return;
                  ...
              }
          

          Maybe we could add it to other Floating Panel types?

          @Christoph-Hart thoughts? 🤔

          Meat Beats: https://meatbeats.com
          Klippr Video: https://klippr.video

          DanHD 1 Reply Last reply Reply Quote 0
          • DanHD
            DanH @dannytaurus
            last edited by

            @dannytaurus

            searched the source but can't find anything for FilterDisplay

            It's possible the FilterDisplays only update when parameters change...

            DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
            https://dhplugins.com/ | https://dcbreaks.com/
            London, UK

            dannytaurusD 1 Reply Last reply Reply Quote 0
            • dannytaurusD
              dannytaurus @DanH
              last edited by

              @DanH Things are named differently in the source. Makes it more fun! 😂

              Claude says it's in EqComponent.cpp

              class FilterGraph::Panel : public PanelWithProcessorConnection,
              	public Timer
              

              and add it in the timer callback:

              	void timerCallback() override
              	{
              		if(!isShowing()) << ADD HERE
              			return;      << ADD HERE
              			
              		if (auto filter = dynamic_cast<FilterEffect*>(getProcessor()))
              		{
              			...
              		}
              	}
              

              Meat Beats: https://meatbeats.com
              Klippr Video: https://klippr.video

              DanHD 1 Reply Last reply Reply Quote 1
              • DanHD
                DanH @dannytaurus
                last edited by

                @dannytaurus have you fed Claude the source?

                DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                https://dhplugins.com/ | https://dcbreaks.com/
                London, UK

                dannytaurusD 1 Reply Last reply Reply Quote 0
                • dannytaurusD
                  dannytaurus @DanH
                  last edited by dannytaurus

                  @DanH Yeah, I use Cursor code editor every day in my normal work (Ruby on Rails).

                  I have a separate Cursor project open with the HISE source.

                  Clause is very good at finding code points when it has the full codebase.

                  Meat Beats: https://meatbeats.com
                  Klippr Video: https://klippr.video

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

                  14

                  Online

                  2.1k

                  Users

                  13.2k

                  Topics

                  114.3k

                  Posts