HISE Logo Forum
    • Categories
    • Register
    • Login

    HISE HEAVY ON GPU PROCESSING?

    Scheduled Pinned Locked Moved General Questions
    50 Posts 8 Posters 3.1k 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 DanH

      My graphics definitely slow down when using a plugin compiled in HISE. Anyone else find the same?

      The level meters in DAWs and graphics in other plugins really get laggy whilst a HISE plugin is open.

      What's the best way to gauge performance levels?

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

      1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey
        last edited by

        I haven't noticed any issues, does your plugin have a lot of interface components?

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

        DanHD 2 Replies Last reply Reply Quote 0
        • DanHD
          DanH @d.healey
          last edited by

          @d-healey about 60 knobs on the main interface, plus 6 analysers (which you can toggle on / off - def helps performance with them off but not game changing). It's busy for sure. Knobs are made in Knobman and about 0.5MB in size. It's a lot slower if I use images so have mainly used paint routines. I don't notice much on my new mac mini, but on my 2013 mac air it's very noticeable.

          I also have a project with 100 instances of my plugin and the graphics really freeze up in it lol

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

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

            @DanH Danny, Use The OpenGL Option, It Smooths The Performance Out
            Just Add This Line, Into The Prefrenceses, For Win, Mac, And Linux.

            Works Like A Charm Here

            HISE_USE_OPENGL_FOR_PLUGIN=1
            
            DanHD Tania GhoshT 2 Replies Last reply Reply Quote 0
            • DanHD
              DanH @Natan
              last edited by

              @Natan oh great, will try asap thank you!

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

              1 Reply Last reply Reply Quote 1
              • Tania GhoshT
                Tania Ghosh @Natan
                last edited by

                @Natan said in HISE HEAVY ON GPU PROCESSING?:

                HISE_USE_OPENGL_FOR_PLUGIN=1

                I didn't find it in preference >settings... Can you guide me where it is located exactly?

                Tania Ghosh

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

                  @Tania-Ghosh You have to enter it into the 'Extra Definitions' boxes in Settings.

                  It hasn't made a huge difference for me, will continue testing though

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

                  Tania GhoshT 1 Reply Last reply Reply Quote 1
                  • Casey KolbC
                    Casey Kolb
                    last edited by

                    @DanH Be wary of the OpenGL option. It's a naughty little beast and will screw up a lot of things if you're not careful. It's better to optimize your GUI first by removing unnecessary hover and drag callbacks from panels, etc.

                    Try optimizing the code as well: https://forum.hise.audio/topic/79/scripting-best-practices/2

                    Casey Kolb
                    Founder & CEO of Lunacy Audio
                    Composer | Producer | Software Developer

                    DanHD FortuneF 2 Replies Last reply Reply Quote 1
                    • DanHD
                      DanH @Casey Kolb
                      last edited by

                      @Lunacy-Audio Will do, cheers!

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

                      1 Reply Last reply Reply Quote 0
                      • FortuneF
                        Fortune @Casey Kolb
                        last edited by

                        @Lunacy-Audio said in HISE HEAVY ON GPU PROCESSING?:

                        @DanH Be wary of the OpenGL option. It's a naughty little beast and will screw up a lot of things if you're not careful. It's better to optimize your GUI first by removing unnecessary hover and drag callbacks from panels, etc.

                        Try optimizing the code as well: https://forum.hise.audio/topic/79/scripting-best-practices/2

                        So is it possible that enabling open gl can cause issues? What have you experienced so far? Can you please give an example or a little bit info about it please?

                        Casey KolbC 1 Reply Last reply Reply Quote 0
                        • Casey KolbC
                          Casey Kolb @Fortune
                          last edited by

                          @Fortune It causes issues in certain contexts. For example, in Vienna Ensemble Pro it's a bit of a nightmare and my test users have had crashes whenever that setting was enabled. It can definitely speed up the interface if you have a massive number of knobs, sliders, waveforms. Waveforms are generally the biggest culprit in terms of GUI snappiness.

                          This is what Christoph said to me months ago about the OpenGL:
                          "Watch out for headless systems. I got a few bug reports from users that use PercX in a slave setup through Vienna Ensemble and their UI was black because they had no monitor attached to their slave PC so it deactivated any kind of hardware graphic rendering..."

                          Casey Kolb
                          Founder & CEO of Lunacy Audio
                          Composer | Producer | Software Developer

                          FortuneF 1 Reply Last reply Reply Quote 1
                          • FortuneF
                            Fortune @Casey Kolb
                            last edited by

                            @Lunacy-Audio Very interesting info, thank you so much.

                            So maybe it is better to compile with open gl and without open gl separately, right?

                            1 Reply Last reply Reply Quote 0
                            • Casey KolbC
                              Casey Kolb
                              last edited by

                              @Fortune You can compile just once, but the OpenGL can be a setting in your Settings Floating Tile, so the user can choose which one to use.

                              Casey Kolb
                              Founder & CEO of Lunacy Audio
                              Composer | Producer | Software Developer

                              FortuneF Dan KorneffD 2 Replies Last reply Reply Quote 1
                              • FortuneF
                                Fortune @Casey Kolb
                                last edited by Fortune

                                @Lunacy-Audio So first I need to set HISE_USE_OPENGL_FOR_PLUGIN=1 in extra definitions menu.

                                And also must use in Settings Floating Tile?

                                Also I can't see use open gl option in Custom Settings Floating Tile :/

                                1 Reply Last reply Reply Quote 0
                                • Casey KolbC
                                  Casey Kolb
                                  last edited by

                                  I think you need to add a Settings Floating Tile and set the content data like this:

                                  const var settingsEngineTile = Content.getComponent("settings_Engine_Tile");
                                  const var isPlugin = Engine.isPlugin();
                                  const var tileData = {
                                              "Type": "CustomSettings",
                                              "Driver": !isPlugin,
                                              "Device": !isPlugin,
                                              "Output": !isPlugin,
                                              "BufferSize": !isPlugin,
                                              "SampleRate": !isPlugin,
                                              "GlobalBPM": false,
                                              "StreamingMode": true,
                                              "DebugMode": false,
                                              "GraphicRendering": true,
                                              "ScaleFactor": true,
                                              "SustainCC": false,
                                              "ClearMidiCC": true,
                                              "SampleLocation": true,
                                              "ScaleFactorList": [
                                                  0.5,
                                                  0.75,
                                                  1,
                                                  1.25,
                                                  1.5,
                                                  2
                                              ]
                                          };
                                  
                                  settingsEngineTile.setContentData(tileData);
                                  

                                  graphicRendering is the OpenGL combobox that allows the user to toggle it on/off.

                                  Casey Kolb
                                  Founder & CEO of Lunacy Audio
                                  Composer | Producer | Software Developer

                                  FortuneF DanHD 2 Replies Last reply Reply Quote 1
                                  • FortuneF
                                    Fortune @Casey Kolb
                                    last edited by Fortune

                                    @Lunacy-Audio said in HISE HEAVY ON GPU PROCESSING?:

                                    I think you need to add a Settings Floating Tile and set the content data like this:

                                    const var settingsEngineTile = Content.getComponent("settings_Engine_Tile");
                                    const var isPlugin = Engine.isPlugin();
                                    const var tileData = {
                                                "Type": "CustomSettings",
                                                "Driver": !isPlugin,
                                                "Device": !isPlugin,
                                                "Output": !isPlugin,
                                                "BufferSize": !isPlugin,
                                                "SampleRate": !isPlugin,
                                                "GlobalBPM": false,
                                                "StreamingMode": true,
                                                "DebugMode": false,
                                                "GraphicRendering": true,
                                                "ScaleFactor": true,
                                                "SustainCC": false,
                                                "ClearMidiCC": true,
                                                "SampleLocation": true,
                                                "ScaleFactorList": [
                                                    0.5,
                                                    0.75,
                                                    1,
                                                    1.25,
                                                    1.5,
                                                    2
                                                ]
                                            };
                                    
                                    settingsEngineTile.setContentData(tileData);
                                    

                                    graphicRendering is the OpenGL combobox that allows the user to toggle it on/off.

                                    Oh I see Thank you.
                                    So if I use this floating tile I won't need to use HISE_USE_OPENGL_FOR_PLUGIN=1 in extra definitions menu, right?
                                    Also there is no combobox for Graphic Rendering even when I make it true.

                                    1 Reply Last reply Reply Quote 0
                                    • Tania GhoshT
                                      Tania Ghosh @DanH
                                      last edited by

                                      @DanH Ok....EXD.jpg

                                      HISE_USE_OPENGL_FOR_PLUGIN=1
                                      

                                      Tania Ghosh

                                      NatanN 1 Reply Last reply Reply Quote 0
                                      • NatanN
                                        Natan @Tania Ghosh
                                        last edited by

                                        @Tania-Ghosh Yeah, Just Paste That Code Into The White Boxes

                                        Tania GhoshT 1 Reply Last reply Reply Quote 1
                                        • Tania GhoshT
                                          Tania Ghosh @Natan
                                          last edited by

                                          @Natan Superb (y)

                                          Tania Ghosh

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

                                            @Lunacy-Audio Am I right i thinking "VoiceAmountMultiplier": true / false should also be in that list?!

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

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

                                            58

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            101.8k

                                            Posts