HISE Logo Forum
    • Categories
    • Register
    • Login

    HISE HEAVY ON GPU PROCESSING?

    Scheduled Pinned Locked Moved General Questions
    50 Posts 8 Posters 3.2k 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.
    • 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
                                          • Dan KorneffD
                                            Dan Korneff @Casey Kolb
                                            last edited by

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

                                            OpenGL can be a setting in your Settings Floating Tile, so the user can choose which one to use.

                                            "GraphicRendering" doesn't appear in my settings floating tile when I add HISE_USE_OPENGL_FOR_PLUGIN=1 in extra definitions menu. Is there something I need to do with Projucer to amek this available?

                                            Dan Korneff - Producer / Mixer / Audio Nerd

                                            NatanN d.healeyD 2 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            9

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.6k

                                            Posts