Anyone using Waves plug-ins (let’s say the mercury bundle featuring more than 400 plug-ins) can easily notice that the instantiation of one of these vst3 plug-in can be very slow. Actually it can take more than one minute, for some of them (easy to reproduce with the AudioPluginHost sample Application). When comparing the duration of the same plug-in insertion on Reaper you quickly come to the conclusion that something can be enhanced on the Juce vst3 hosting side.
More precisely, the instantiation of the first enumerated plug-in (e.g. Waves API-2500) is almost instant, while the instantiation of bottom listed plug-ins (e.g. Waves Q10) can take more than a minute.
What happens is that during each first plug-in instance creation, every single vst3 component of the vst3 module is created and destroyed, only to check if the name of the AudioProcessor description can be found. This is clearly overkill, because this potentially causes load and unload of other DLLs and license verification for most plug-ins.
So I submitted a code update for juce_VST3PluginFormat.cpp on the Juce Git Master here:
Can you please consider this pull request? This makes a huge difference for Waves users