HISE HEAVY ON GPU PROCESSING?
-
@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..." -
@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?
-
@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.
-
@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 :/
-
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. -
@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 useHISE_USE_OPENGL_FOR_PLUGIN=1
in extra definitions menu, right?
Also there is no combobox for Graphic Rendering even when I make it true. -
@DanH Ok....
HISE_USE_OPENGL_FOR_PLUGIN=1
-
@Tania-Ghosh Yeah, Just Paste That Code Into The White Boxes
-
@Natan Superb (y)
-
@Lunacy-Audio Am I right i thinking "VoiceAmountMultiplier": true / false should also be in that list?!
-
@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?
-
@dustbro Same Here @Lunacy-Audio
-
@dustbro I think you need to add it to your custom settings floating tile as Fortune showed in his image a few posts back.
"GraphicRendering": true
-
@d-healey i tried. Not showing up ️️
-
@d-healey Same here like @dustbro & @Natan
"GraphicRendering": true
doesn't make the opengl combobox show up in CusotomSettings floating tile.I am also confused that, in order to make OpenGl enable:
Is
HISE_USE_OPENGL_FOR_PLUGIN=1
enough?
Or should I doHISE_USE_OPENGL_FOR_PLUGIN=1
and"GraphicRendering": true
both? -
@Fortune It's Enough Here.
HISE_USE_OPENGL_FOR_PLUGIN=1And No Extra Codes
-
@d-healey FYI everyone, it seems my FloatingTile "FilterDisplay"s were causing a lot the GPU lag.
-
@DanH How many did you have displayed at one time?
-
@d-healey 6..... And then a spectral analyser, 4 audio waveforms, a Goniometer, 2 tables, a sliderpack, and 3 sliders linked to LFO gains which would be constantly moving... lol
But actually way back in the beginning of this project I noticed the lag (before all the extra stuff), and I never considered the Filterdisplays to be the issue, and removing them has made the biggest difference of all.
-
@Fortune Ok so.... I was thinking the same thing and I just compiled my plugin and opened my 'settings' tab and there is the 'Use OpenGL' option! Weird!