We have a plug-in that’s doing a lot of processing, but it’s still only a fraction of what the CPU is capable of. The JUCE GUI interface is very sluggish, however, at least in Logic. It appears that the processing calls, e.g. the calls to PlugInProcessor, are happening on the GUI thread – is that right? That bizarre behavior would explain the sluggishness. The same plug-in on a PC as a VST runs very fast, and the processing happens on a separate thread.
Is there some other way AU plugins are meant to be designed so they don’t freeze the GUI thread? Or is there some option in Logic we might have inadvertently enabled that forces all processing to happen on the GUI thread?