Preset hander....
-
@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...
-
@christoph-hart sure can do BUT....
its every patient I have thats not tiny....so to be clear its happening to ALL my major projects... -
@lindon Does it also happen with the one you send me a few weeks ago?
-
@christoph-hart said in Preset hander....:
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
Are you able to recreate the preset browser scroll issue on your system with the example project I posted? That has the simplest UI possible.
-
@d-healey Nope, super smooth here. We're talking release build here, yes? Debug lags a little bit, but it's like 15fps, so nothing unexpected.
-
@christoph-hart said in Preset hander....:
@lindon Does it also happen with the one you send me a few weeks ago?
yep - tho now when I try the one I sent weeks ago - it wont even load presets....
-
@lindon Just tried to load your project:
Interface:! Can't reference local variables in nested function body {SW50ZXJmYWNlfG9uSW5pdCgpfDQzMTQzfDEzNTZ8NTk=} : onInit() - Line 1356, column 59 {SW50ZXJmYWNlfG9uSW5pdCgpfDQzMTQzfDEzNTZ8NTk=}
Lol this is Log4j level shit...
-
@christoph-hart said in Preset hander....:
@d-healey Nope, super smooth here. We're talking release build here, yes? Debug lags a little bit, but it's like 15fps, so nothing unexpected.
Weird, wonder why it's a problem here... I'll investigate more tomorrow when I'm back.
Did you test with openGL disabled?
-
@lindon OK, I'm getting somewhere. If I load your project in the Debug version, I get also a delay of about 8 seconds when clicking on a preset category.
So the possible reasons of failure are:
- Lindon doing something that he shouldn't.
- Me implementing something wrong.
- David breaking the preset browser with his crazy customizations.
The culprit? Applying debug master skills and drumroll...
JUCE::AccessibilityHandler. This was introduced in the last JUCE update and allows accessibility stuff (which we don't use), but it causes a update and reads every single preset file to figure out it's name.
I've pushed a change that deactivates this. This totally solves the lagginess in the PresetBrowser (for me), but I'm not sure whether this affects the other lagginess too.
-
@christoph-hart - cool - good work .
I would have put money on option 1 myself....
I will try a new build for the latest commit and let you know...
-
@Christoph-Hart --That was black belt ninja grade debugging oh master....
fixed.......everything seems to have sped up nicely, and no more glitching...
(but fingers just a little bit crossed)