daryl1968 Posted January 10, 2019 Share Posted January 10, 2019 Interesting - any CbB coders ( @Noel Borthwick ) know if this would affect performance? https://blogs.windows.com/windowsexperience/2019/01/09/announcing-windows-10-insider-preview-build-18312/?fbclid=IwAR1ycVXxAedMN3u0ejLugykUTrquurZc8LKHJXPznFGcDOn1MemXwtly5K4 Here's the excerpt of interest: Windows 10 Insider Preview Build 18312 FLS Slot Limit Increase 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. 1 Link to comment Share on other sites More sharing options...
Noel Borthwick Posted January 10, 2019 Share Posted January 10, 2019 Yes we got notification from Microsoft about this and will be testing this update. It should only affects cases where people were loading up hundreds of instances of plugins inside the DAW. You could hit the ceiling if the plugins were built with an old VC runtime or if they were statically linked with it (static linking is not ideal since every plugin instance has a duplicate copy of the runtime so takes more memory) No other functionality should be impacted. Its good that they fixed it however. 1 Link to comment Share on other sites More sharing options...
daryl1968 Posted January 10, 2019 Author Share Posted January 10, 2019 18 minutes ago, Noel Borthwick said: Yes we got notification from Microsoft about this and will be testing this update. It should only affects cases where people were loading up hundreds of instances of plugins inside the DAW. You could hit the ceiling if the plugins were built with an old VC runtime or if they were statically linked with it (static linking is not ideal since every plugin instance has a duplicate copy of the runtime so takes more memory) No other functionality should be impacted. Its good that they fixed it however. great - good to know. Thanks Noel Link to comment Share on other sites More sharing options...
Noel Borthwick Posted January 10, 2019 Share Posted January 10, 2019 If anyone is on the Insider program please try out that build and report back. The way to test would be to load up as many instances of VST plugins as you can in CbB. Try and load up 1000 or more instances <<see correction below>> A quick way to test is by adding an effects chain containing say 20 or so plugins (not important which ones) and then duplicate that chain several times in the track, and finally duplicate the track. CORRECTION: My original recipe above wont work. You have to add UNIQUE instances of plugins that specifically load a new DLL to run into the limit. i.e loading a 100 waves plugins wont hit the problem since they are all loaded from a single waves shell dll. Also loading the same plugin multiple times is fine since it all comes from the same dll. This is likely why most people never run into the 128 slot limit. Here is a much more detailed explanation from Pete Brown from Microsoft. So to test this you need more than 128 UNIQUE plugins installed and need to load them all into a single project to see if its fixed. Good luck Link to comment Share on other sites More sharing options...
daryl1968 Posted January 10, 2019 Author Share Posted January 10, 2019 I can recommend @Bapu to test - he has more vst's than most...... 1 1 Link to comment Share on other sites More sharing options...
Noel Borthwick Posted January 10, 2019 Share Posted January 10, 2019 See correction to my post above. You may actually need Bapu. You must own more than 128 unique plugins to run into this.. Link to comment Share on other sites More sharing options...
daryl1968 Posted January 10, 2019 Author Share Posted January 10, 2019 Just now, Noel Borthwick said: See correction to my post above. You may actually need Bapu. You must own more than 128 unique plugins to run into this.. Lol. I knew he had a special purpose. Link to comment Share on other sites More sharing options...
Noel Borthwick Posted January 10, 2019 Share Posted January 10, 2019 Well I could probably compile 100 copies of a test plugin just changing the guid. I'm not in the mood to wait for 100 compiles today 1 1 Link to comment Share on other sites More sharing options...
Starship Krupa Posted January 12, 2019 Share Posted January 12, 2019 I actually found a VST that reports how many FLS slots are left. I loaded it into a project I have that doesn't have all that many plug-ins and it said that I had 79 slots left. Now I know I don't have 50 plug-ins in this project, so some of them must be using multiple .DLL's, Cakewalk itself must use several (I count 14 .DLL's in the Core folder, if that means anything). Very interesting, and I never heard of this limitation. It seems to be something that film composer types would run up against moreso than audio recorders like me. Nice that Microsoft are addressing it and announcing it right ahead of the NAMM Show. Link to comment Share on other sites More sharing options...
daryl1968 Posted January 12, 2019 Author Share Posted January 12, 2019 5 minutes ago, Starship Krupa said: I actually found a VST that reports how many FLS slots are left. I loaded it into a project I have that doesn't have all that many plug-ins and it said that I had 79 slots left. Now I know I don't have 50 plug-ins in this project, so some of them must be using multiple .DLL's, Cakewalk itself must use several (I count 14 .DLL's in the Core folder, if that means anything). Very interesting, and I never heard of this limitation. It seems to be something that film composer types would run up against moreso than audio recorders like me. Nice that Microsoft are addressing it and announcing it right ahead of the NAMM Show. Ha. Interesting Link to comment Share on other sites More sharing options...
Noel Borthwick Posted January 12, 2019 Share Posted January 12, 2019 Must users use multiple instances of similar plugins. i.e if you patch 100 intances of an EQ or compressor this would count as 1. I think its very infrequent that anyone would run into a hundred unique plugins in a single project even if there are hundreds of tracks. Irrespective its a good fix to have since apps could load DLL's for other stuff that counts towards the FLS limit. 1 Link to comment Share on other sites More sharing options...
Pete Brown Posted January 12, 2019 Share Posted January 12, 2019 There are some real subtleties to this. I figured it would be good to post a clarification. Most DAWs use between 20 and 40 FLS slots. Plugins typically use 1 to 45 slots themselves (with most using < 4). It's not about loading up 128 plugins, but loading up plugins that take up the remaining slots left after the DAW has its slots allocated. The VC runtime allocates a slot (the whole static linking thing), but code may allocate FLS slots for other, completely legitimate, reasons. Or the plugin may just have a whole lot of statically linked runtimes in its numerous sub components, using up slots and wasting memory by filling it with many copies of the same runtime code. You don't know which case it is unless you decompile the plugin code. Here are some numbers that folks put up in another forum (I have not personally confirmed them, but they look right): Steinberg Padshop - 1 Spectrasonics Trilian - 1 Waves (Waveshell) 2 Waves Codex - 2 UAD -2 Roland TR 808-2 dbx160 - 2 Slate VMR - 2 FXpansion BFD3 - 2 Korg Arp Odyssey - 3 Steinberg Dark Planet - 3 BX20 - 4 ATR102 - 4 Kontakt -4 Maschine-4 SSL E Legacy - 4 API 2500 - 4 EMT 140/250 - 4 Fairchild 670 MKII - 4 LA-2A Grey - 4 Arturia Arp 2600 v3 - 6 Arturia Buchla - 6 Arturia DX7 - 6 Synclavier - 7 CMI - 8 Analogue Lab3 45 I've also separately confirmed that iZotope Neutron uses 10 slots itself for the version I have (I'm a rev behind current, as I recall) So if the DAW uses, say, 30 slots, and you also have Analog Lab 3 loaded, and Neutron, you end up 85 of your 128 slots taken up. It's not at all hard to hit that limit this way. Note that freezing or disabling tracks doesn't change this count. It's about code loaded into the process. Also note that adding and removing a bunch of different plugins in a session can also use up slots, as it appears the slots don't always go back to the pool. Not sure why there, and I haven't looked into it. The limit is per-process, not machine-wide. Solutions that host plugins in a separate process get their own 128 slots. The limit itself goes back to Windows Vista, and hasn't changed since then. Folks using Windows 7 have confirmed that the slot count is the same as on Windows 10. The fix itself, if all goes well, will be in the 19H1 release of Windows 10, in the first half of this calendar year. Pete 2 Link to comment Share on other sites More sharing options...
daryl1968 Posted January 12, 2019 Author Share Posted January 12, 2019 5 minutes ago, Pete Brown said: There are some real subtleties to this. I figured it would be good to post a clarification. Most DAWs use between 20 and 40 FLS slots. Plugins typically use 1 to 45 slots themselves (with most using < 4). It's not about loading up 128 plugins, but loading up plugins that take up the remaining slots left after the DAW has its slots allocated. The VC runtime allocates a slot (the whole static linking thing), but code may allocate FLS slots for other, completely legitimate, reasons. Or the plugin may just have a whole lot of statically linked runtimes in its numerous sub components, using up slots and wasting memory by filling it with many copies of the same runtime code. You don't know which case it is unless you decompile the plugin code. Here are some numbers that folks put up in another forum (I have not personally confirmed them, but they look right): Steinberg Padshop - 1 Spectrasonics Trilian - 1 Waves (Waveshell) 2 Waves Codex - 2 UAD -2 Roland TR 808-2 dbx160 - 2 Slate VMR - 2 FXpansion BFD3 - 2 Korg Arp Odyssey - 3 Steinberg Dark Planet - 3 BX20 - 4 ATR102 - 4 Kontakt -4 Maschine-4 SSL E Legacy - 4 API 2500 - 4 EMT 140/250 - 4 Fairchild 670 MKII - 4 LA-2A Grey - 4 Arturia Arp 2600 v3 - 6 Arturia Buchla - 6 Arturia DX7 - 6 Synclavier - 7 CMI - 8 Analogue Lab3 45 I've also separately confirmed that iZotope Neutron uses 10 slots itself for the version I have (I'm a rev behind current, as I recall) So if the DAW uses, say, 30 slots, and you also have Analog Lab 3 loaded, and Neutron, you end up 85 of your 128 slots taken up. It's not at all hard to hit that limit this way. Note that freezing or disabling tracks doesn't change this count. It's about code loaded into the process. Also note that adding and removing a bunch of different plugins in a session can also use up slots, as it appears the slots don't always go back to the pool. Not sure why there, and I haven't looked into it. The limit is per-process, not machine-wide. Solutions that host plugins in a separate process get their own 128 slots. The limit itself goes back to Windows Vista, and hasn't changed since then. Folks using Windows 7 have confirmed that the slot count is the same as on Windows 10. The fix itself, if all goes well, will be in the 19H1 release of Windows 10, in the first half of this calendar year. Pete Excellent info Pete Link to comment Share on other sites More sharing options...
InstrEd Posted January 12, 2019 Share Posted January 12, 2019 Thanks Pete for the explanation. Hopefully it will make it into the Windows build. Link to comment Share on other sites More sharing options...
whistlekiller Posted January 12, 2019 Share Posted January 12, 2019 How about trying to limit what stuff you shove though a DAW. Some of the best music was created with a minimum number of tracks and effects. ? 1 Link to comment Share on other sites More sharing options...
daryl1968 Posted January 12, 2019 Author Share Posted January 12, 2019 1 minute ago, whistlekiller said: How about trying to limit what stuff you shove though a DAW. Some of the best music was created with a minimum number of tracks and effects. ? Read 'Here There and Everywhere' by Geoff Emerick. It changed the way I approached recording forever. Great read. 1 Link to comment Share on other sites More sharing options...
Pete Brown Posted January 12, 2019 Share Posted January 12, 2019 18 minutes ago, whistlekiller said: How about trying to limit what stuff you shove though a DAW. Some of the best music was created with a minimum number of tracks and effects. ? That's up to the individual. We just didn't think the OS should be making that decision for you. Pete 2 1 Link to comment Share on other sites More sharing options...
Noel Borthwick Posted January 12, 2019 Share Posted January 12, 2019 1 hour ago, Pete Brown said: Also note that adding and removing a bunch of different plugins in a session can also use up slots, as it appears the slots don't always go back to the pool. That's pretty bad. I wonder if it's due to undo history or memory leaks. Did you try clearing your undo history @Pete Brown Thanks for the details, appreciated. Link to comment Share on other sites More sharing options...
Pete Brown Posted January 13, 2019 Share Posted January 13, 2019 51 minutes ago, Noel Borthwick said: That's pretty bad. I wonder if it's due to undo history or memory leaks. Did you try clearing your undo history @Pete Brown Thanks for the details, appreciated. I didn't dig into it at all. I also haven't tried it in Cakewalk. I've seen others report it, and I had it happen with me in another DAW. Pete Link to comment Share on other sites More sharing options...
Pete Brown Posted January 13, 2019 Share Posted January 13, 2019 I've installed 18312 on my DAW PC. FWIW, I tried out the FLS Checker plugin, and it maxes out at 128. So DAWs all show 128 even after a ton of plugins have been added. To confirm the slot increase, I wrote a small C++ console app. It's running under the debugger here, so a few slots are taken. Results Code Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now