VST plugin loading limitation on Windows

Audio Plugin Hosts and other audio software applications discussion
RELATED
PRODUCTS

Post

So, second try to discuss this. This time without any HPC-leading topic title.

Announcement from Steinberg: http://www.steinberg.net/en/newsandeven ... -3852.html
In the past months, reports by windows users have been accumulating (OS X customers are not affected), who — working with projects that contain many VST plug-ins — reach a point, at which no further plug-ins can be loaded. After selection of the required plug-in, the insert slot simply remains empty.

During our investigation concerning these events, indications have arisen that a technical limitation of the operating system could be the cause of that problem. In the next step we will therefore lead talks with Microsoft and exchange ideas with third-party VST plug-in manufacturers, to push for the solution of the problem.
Thanks to Rommelaar i know now, that this is topic for Presonus too (and for any other DAW, it seems). Here is an official announcement of Presonus: http://support.presonus.com/hc/en-us/ar ... on-Windows And here is a thread i found, there are probably others, in the Presonus forums: https://forums.presonus.com/viewtopic.php?f=151&t=15408

Post

Last page of that Presonus forum post has a link to this page:
http://support.presonus.com/hc/en-us/ar ... on-Windows

So the cause is plugins (and the host too) linking statically (instead of dynamically) to the C runtime library.
It’s a problem that has always been there but for some reason hasn’t surfaced until recently. There is little documentation about the limitation and it varies depending on the Windows version and compiler version being used. According to Microsoft, this behavior is "by design".
We are the KVR collective. Resistance is futile. You will be assimilated. Image
My MusicCalc is served over https!!

Post

I remember the days where we linked dynamically. It was support nightmare. I don't think we're gonna go back to that. besides, even if developers use redistributable runtimes, there's still as many as there are developers IIRC due to certificate stuff. It just postpones the issue...?

It happens btw. when a lot more than 1000 plug-ins are loaded in a process (!). The easiest fix is for host developers to spawn child processes for groups of tracks, or groups of plug-ins.

Another fix may be available from Win 10, where a "Universal C Runtime" or some such thing as surfaced.

Post

Urs wrote:Another fix may be available from Win 10, where a "Universal C Runtime" or some such thing as surfaced.
https://xkcd.com/927/

Post

Hm, I seriously do not anticipate needing to load in 1000+ plugins into any particular session (nor do I think I have a machine that could handle that many), so hopefully I will be okay.

Post

The limit is because of Patriarchy, obviously.
No signature here!

Post

Sequent wrote:Hm, I seriously do not anticipate needing to load in 1000+ plugins
Would be even harder with hardware comps and similar things. :hihi:

Daws have unleashed the age of (supposed) "no limits" so... yeah... some people will occasionally test those limits. :)

Post

Urs wrote:I remember the days where we linked dynamically. It was support nightmare. I don't think we're gonna go back to that.
For as long as I've been developing Windows software, that's been the question:

Do I want to guarantee that my binaries have a small footprint (dynamic) or do I want to guarantee that they always work (static)? It's usually not a tough decision, although some customers demand small binaries above all else.

Post

It's not an issue with other DAWs pre Windows 10. I had a session once in Sonar on Win 8.1 with 251 plugins without an issue. I have noticed that DSP management in both Cubase and Nuendo is not as good as other DAWs so I'm going to lean towards it being a Steinberg issue.

Not saying it can't be Win 10 though as I don't run it.

Post

Akanishta wrote:It's not an issue with other DAWs pre Windows 10. I had a session once in Sonar on Win 8.1 with 251 plugins without an issue. I have noticed that DSP management in both Cubase and Nuendo is not as good as other DAWs so I'm going to lean towards it being a Steinberg issue.
251 is a lot less than the 1000+ plugins that appear to be required to trigger the issue so your Sonar example is hardly conclusive.

PreSonus have also confirmed the problem for Studio One users so it seems unlikely that it is just a Steinberg issue.

Post

swatwork wrote: 251 is a lot less than the 1000+ plugins that appear to be required to trigger the issue so your Sonar example is hardly conclusive.
Also, if I understood correctly, those plugins have to be different :o plugins, not just the same plugin type instantiated many times over several tracks.

I don't suppose I would have ever encountered this issue myself, but now I am of course inclined to test this with various hosts.
:hihi:

Post

Akanishta wrote:It's not an issue with other DAWs pre Windows 10. I had a session once in Sonar on Win 8.1 with 251 plugins without an issue. I have noticed that DSP management in both Cubase and Nuendo is not as good as other DAWs so I'm going to lean towards it being a Steinberg issue.

Not saying it can't be Win 10 though as I don't run it.
Read the linked articles. It IS DAW unrelated. It also seems to depend on the way plugins are coded.

Post

The VST limit is nowhere near 1000. I've experienced this issue with roughly 50 plugins in a session. It blacks out the gui of the plug-in, preventing you from adjusting parameters, or selecting presets. Hopefully this gets fixed soon.

Post

Actually, if i get the articles right, it should prevent you from loading the plugin at all. Maybe your experiencing a different issue.

Post

Urs wrote:I remember the days where we linked dynamically. It was support nightmare. I don't think we're gonna go back to that. besides, even if developers use redistributable runtimes, there's still as many as there are developers IIRC due to certificate stuff. It just postpones the issue...?

It happens btw. when a lot more than 1000 plug-ins are loaded in a process (!). The easiest fix is for host developers to spawn child processes for groups of tracks, or groups of plug-ins.

Another fix may be available from Win 10, where a "Universal C Runtime" or some such thing as surfaced.
Seems to be somewhat like the old issues with number of concurrently open files in a process. I remember having to rebuild static libraries increasing the default, if it was 50 files or something. You changed a header file value, and just recompiled static libraries.

It seems this is more or less a length of table issue too that could be set - like you had in config.sys "Files=200" or similar. But now set for number of DLL's allowed in a process for OS.

And would not be surprised if it also has to do with all the security fixes Microsoft made over the years, that devs made limitation for viruses to have a hard time.

Post Reply

Return to “Hosts & Applications (Sequencers, DAWs, Audio Editors, etc.)”