Juce freeze all plugin GUI in ableton [solved]


#1

This is the last bug in my buglist of my first VST \o/

any graphic update in my plugin freeze the GUI of all other plugins open in ableton.
I don’t call paint explicitly, its code is the default template code (except i removed the hello world) :

void KeruFilterAudioProcessorEditor::paint (Graphics& g)
{
    g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId));	
} 

Even the fading “made with Juce” logo forced to me in the free closed source edition cause the UI to freeze.

Even if i comment all calls to “addAndMakeVisible()” in my editor constructor, the GUI still freeze when the logo fade.

My 2 guess :

  • the call to fillall is slow (edit : nope!)
  • paint is called as fast as it can possibly be and use all the cpu ressource that ableton allocated to plugins GUI.

Any suggestion ?
thank you <3


#2

i removed the fillall call so the paint method is empty now.

The GUI still freeze when the logo fade. (i don’t see it fading anymore since i’m not clearing the GUI by calling fill, but the timing is right).


#3

problem partialy solved.

The combination of juce’s graphic intensive logo fading + the graphic intensive “dust analyzer” exhaust all graphic resources in ableton.

When i close dust analyzer and use other plugin instead : almost no problem.

Is there a way to limit FPS in order to not exhaust graphic resource ?

Dust analyzer may be at fault but i never had the problem with dust analyzer + other plugins.


#4

i made a video to demonstrate the problem :

i also compare it with another plugin that don’t freeze GUI on update.


#5

bump :slight_smile:


#6

Did you try the juce demo plugin? If that doesn’t cause any problems then it must be something you’re doing in yours, which you should dig into using a profiler.


#7

a fresh empty project with the default plugin template have the same problem.


#8

Hooooooooo i see ! it only happens in debug compilation.
In release, it works <3

Well, case solved :smiley:
thx !


#9

Yeah, a lot of hosts will struggle when plugins do a lot of intensive GUI drawing, the message queue can get snarled up by all the un-cooperating plugins fighting over resources.