I'm starting to get into DSP plugin development, and my interest is in creating plugins with very responsive GUIs (60fps, GPU rendered) with as little performance hit to the CPU as possible.
The gold standard to me is the FabFilter suite of plugins that seem to be running real-time FFT spectrum analyzers as well as buttery smooth UI elements at 60fps, even in the midst of a busy mix. They seem to be rolling their own framework, which I'd expect from that level of performance.
I've tried to run strings on the executables of some of my favorite plugins to determine which library the developers have used, and it seems like there's a high correlation between the ones that use JUCE and the ones that have UIs that break a sweat running at anything higher than 30fps. To me it seems like JUCE has included way too much in the framework (a web browser? really?) which in turn only results in more CPU cycles being wasted on a subpar UX.
To me, it seems like the Steinberg VST3 framework might offer better UI performance when using VSTGUI, but is this a wrong assumption? I'm just starting out and would like to choose the best framework beforehand for the many years to come.
I have three specific noob questions that I wonder about:
- What framework/which techniques should I use for lowest-overhead GUI development? Does the Steinberg VST3 framework perform better than JUCE for UIs?
- What is the distinction between the VST3 framework and the VST3 API?
- If I were to decide to attempt to roll my own GUI library instead of using either VSTGUI or JUCE, does anybody know of any examples/google keywords that can point me in the right direction, if they're there?
