Preset hander....
-
@danh said in Preset hander....:
@lindon why not try a commit before @d-healey tinkered with it?!
which was when? - along with the fact that I keep saying I dont think its a prest browser issue - the whole UI is lagging and glitching - knob turning, LFO display, filter displays, Audio Waveform display....
-
Watch this video: specifically watch how the Filter display and the Audio loop player display keep stopping and restarting whilst playing (I'm just holding down a single chord for the whole video)
https://u.pcloud.link/publink/show?code=XZ37u7VZqIrzdcjm4WpjVaylu1kTruIKeMyV
-
@lindon interestingly - If i load Hise and run the sound that's there - then none of this interface glitching happens - but as soon as I open the preset browser - even if I immediately close it without changing presets - then the interface starts to glitch badly...
-
@lindon heres a video showing the knobs glitching....
https://u.pcloud.link/publink/show?code=XZ5fu7VZ1TQRg0CAY9m93e1FKAdMaJ19NIbV
-
@lindon Oh boy, this is embarassing. These periodic hangs come from a timer that periodically takes a screenshot of the entire HISE interface (about every 4 seconds). Why does it do that? Well, in order to make a "glass background" for the popups by blurring it with a low opacity. Looks super nice, but leads to this problem (especially when you have an element visible that takes a long time to repaint, like the preview of a complex instrument interface), so let's consider it a massive UX fail.
The timer is only activated when there is a popup visible, which might explain why you thought it was the preset browser. Should happen with any other popup too (try the beatiful HISE controller on the top right).
Solution? HISE Settings -> Other -> Glass Effect -> Disabled. Fail.
-
@christoph-hart Oh that explains why it wasn't happening on my GNU/Linux machine, I turned that glass effect thing off ages ago and forgot about it. :)
-
@d-healey Lol me too. This might give us a clue what should be the default value...
-
@christoph-hart sadly - no.
I turned off the glass effect - restarted HISE loaded the project - same problems....
-
heres a video showing glass effect off... and the glitches still happening...
https://u.pcloud.link/publink/show?code=XZrnu7VZvO8QveeNSiSJmxh6aJFuCkS3n6GV
-
@lindon What happens if you enable OpenGL? The software renderer is notoriously bad on Windows (on macOS it's the other way around).
-
@christoph-hart sadly makes no difference....
-
@lindon said in Preset hander....:
@christoph-hart sadly - no.
I turned off the glass effect - restarted HISE loaded the project - same problems....
Confirmed here too. Turns out I already had glass effect disabled.
With OpenGL enabled though the problem goes away for me.
I'm only testing the preset browser scrolly thing.
-
here's a video of me loading the instrument - and turning a dial - it mostly doesnt glitch - then I load a preset - and it glitches like crazy....
https://u.pcloud.link/publink/show?code=XZoPu7VZwc5GFQ2uEFbe6gGVHQzrs0bFGrXk
-
@lindon said in Preset hander....:
here's a video of me loading the instrument - and turning a dial - it mostly doesnt glitch - then I load a preset - and it glitches like crazy....
The problem with trying to debug this is we can't rule out that it's something in your specific project that is causing the problem. Is that pan knob connected directly to a modulator or is going through some scripting? Are there any timers running with that preset that weren't running before you loaded the preset?
-
@lindon well I would recommend enabling it anyways, it gives you a much better UI performance.
But yeah, it's definitely something that is being executed with a very high interval that causes these hangs, and I still suspect that it's the screenshotter (or do you have a scripted timer running with an interval of 4 - 6 seconds?
If you want to make 100% sure that this thing isn't doing anything, try to comment out that code:
starting from line 757 to including 766 (just leave the wait statement in there). If the glitches still occur, then we can eliminate this as an option.
-
@christoph-hart said in Preset hander....:
well I would recommend enabling it anyways, it gives you a much better UI performance.
Does this affect performance of the compiled plugin too?
-
not sure what you mean by this :
The timer is only activated when there is a popup visible, which might explain why you thought it was the preset browser. Should happen with any other popup too (try the beatiful HISE controller on the top right).
-- I closed HISE reopened and reloaded the project - opened every possible pop-up in HISE I could think of, and tried the internal settings (top right ) pop up - they made no difference - the UI worked pretty seamlessly, but as soon as I open the preset browser - we are broken again.
-
@d-healey In general, OpenGL is better on Windows and worse on macOS (no idea on Linux, but I think that OpenGL is better there because I suspect Apple to make OpenGL deliberately bad in order to push their Graphics API).
This is true for both HISE and the compiled plugins. But unless you have a really really complex interface, the UI performance of a compiled plugin should not be of great concern. It's just that rendering the plugin AND all of HISE around it might make some systems choke.
-
@Lindon Send it over, the doctor needs to see the patient...
-
@lindon like Dan I have a timer running every second that refreshes the preset name in the main interface(and resets the icons in my case) - but this has been here since Master branch (causing no problems at all), and I removed it at one point and tried to use the pre and post preset call backs - that made no difference at all...