No, we didn’t know there was a limit either. But as computers have got more powerful and projects more complex some users have discovered that at a point in their project the DAW simply refuses to load any more unique plug-ins. This has something to do with Fibre Local Storage (FLS) and how DLLs (Dynamic Link Libraries – essentially the plug-in file) are allocated slots.
FLS limits on plug-in loading
There’s been a ceiling on the number of FLS slots that can be used in Windows. That number is 128 – but wait, you’ve run tests with more than 128 plug-ins loaded right? Yes, but FLS slots are only allocated to individual and unique DLL files. So if you load 50 instances of one particular plug-in then that’s only using a single FLS slot. So to hit the ceiling you actually need to be running a load of different plug-in effects and instruments. The DAW itself probably loads up 40 or so, but are you ever likely to be running 80 or 90 different effects and instruments in a single project? Some people do and it’s a limitation that Microsoft is happy to address.
With a new Windows 10 update which should be coming in the first part of 2019 the FLS ceiling will be lifted to 4000 – that’ll sort it out.
It could also be improved by better practices being adopted by plug-in developers. Currently most plug-ins are compiled with their own static DLL when in fact most plug-ins use the same functions within those libraries. If developers made them more dynamic they could all address a much smaller number of shared DLLs and massively reduce the memory required to run all your plug-ins.
Here’s the relevant section from the Microsoft developer blog:
As PCs get more powerful, musicians have created increasingly complex projects with more tracks, more instruments, and deeper effects chains. As a result, some of those musicians were running up against a FLS (Fiber Local Storage) slot allocation ceiling that prevented them from loading into their DAWs (Digital Audio Workstations) as many unique plugins as they’d like. This build greatly raises that per-process FLS slot allocation ceiling, allowing loading potentially thousands of unique plugins. Beyond musicians, this change will positively impact any application that dynamically loads hundreds or thousands of unique DLLs that have statically-linked Visual C++ runtimes, or otherwise allocate FLS slots.
It’s great that Microsoft is interested in DAWs, plug-ins and musicians – you don’t feel that very often. And thanks to Microsoft’s Pete Brown for bringing this very cool update to our attention.
- Microsoft developer blog.