Disk space and performance

For discussion of the Voltage Modular synthesis ecosystem.
User avatar
utdgrant
Posts: 540
Joined: Wed Apr 07, 2021 8:58 am
Location: Scotland
Contact:

Re: Disk space and performance

Post by utdgrant »

That's a BIG patch! :o
ThatsABigPatch.png
ThatsABigPatch.png (2.58 MiB) Viewed 1611 times
I suppose one general approach you could take is to isolate each 'thread', or 'signal chain' and save it as a unique patch. Run that patch in isolation and see how much processor load you are using. That way, you can narrow down the most processor-hungry element(s) of the total patch.

You can then concentrate more of your optimsation efforts on those parts to help reduce the impact on total CPU load.


Also, I did notice a couple of things which suggest that a bit of housekeeping is in order.
Redundant02.png
Redundant02.png (554.16 KiB) Viewed 1611 times
The Six-Input Mixer appears to be redundant, here. I'd be inclined to just patch the Oscillator's pulse wave straight into the Ladder Filter's input. It's a tiny saving by itself, I know. However, if you stay alert to these small savings while building a patch, it all adds up. It might make the difference between a complex patch just being able to run or starting to glitch.
Last edited by utdgrant on Mon May 30, 2022 1:39 pm, edited 2 times in total.
______________________
Dome Music Technologies
ColinP
Posts: 951
Joined: Mon Aug 03, 2020 7:46 pm

Re: Disk space and performance

Post by ColinP »

OK, you seem to have half apologised for being so rude to people here, so I'm going to give you one more chance. Any comments similar to the obscenities you posted before and it's bye bye permanently.

Your i7 8700 does about 28 GFLOPS so is reasonable powerful. It's about 75% as powerful as my CPU and I can build patches with about 200 basic modules so you ought to be able to do some fairly crazy stuff.

However as Grant points out you need discipline to build large patches. Just throwing another module at a patch isn't going to make it automatically sound better.

Your patch has seven plug-in hosts. I haven't got time to look at exactly what you are running in them but each of those is potentially very expensive.

Your patch doesn't have obvious structure so you'll struggle to modify or debug it. Use a separate cabinet for each sub-system. Ideally label each cabinet using a notes module on the far left. You can also document other stuff with the notes modules so that when you come back to a patch a week or two later any obscure details that you've forgotten about can still be understood.

Your patch is about the limit of what is sane to do without breaking it down into some kind of hierarchy. Again as Grant advises you could isolate things and then look at CPU usage running things standalone. Although as I've stressed in the thread on metering it's difficult to really judge how close you are to buffer overrun without a meter.

Anyway one way to break through these problems is to modularize by using the plug-in host to run separate instances of VM. You can then build sub-patches, test them and optimize them as best you can in isolation and then build a master patch that connects together these sub-patches with relatively simple high-level wiring between plug-in hosts. This hierarchical approach is far easier to manage than doing everything in one flat space.

My LSSP Tutorial 5 uses this approach and might be worth reviewing https://www.adroitsynthesis.com/lssp-101-tutorial-5/
User avatar
utdgrant
Posts: 540
Joined: Wed Apr 07, 2021 8:58 am
Location: Scotland
Contact:

Re: Disk space and performance

Post by utdgrant »

ColinP wrote: Mon May 30, 2022 9:23 am Anyway one way to break through these problems is to modularize by using the plug-in host to run separate instances of VM. You can then build sub-patches, test them and optimize them as best you can in isolation and then build a master patch that connects together these sub-patches with relatively simple high-level wiring between plug-in hosts. This hierarchical approach is far easier to manage than doing everything in one flat space.

My LSSP Tutorial 5 uses this approach and might be worth reviewing https://www.adroitsynthesis.com/lssp-101-tutorial-5/
There is some really great stuff in there, Colin. Fantastic resource!

In particular, the Performance Tips page is required reading for all!

Thanks,
Grant
______________________
Dome Music Technologies
theWholeSandwich
Posts: 82
Joined: Mon Feb 07, 2022 6:53 pm

Re: Disk space and performance

Post by theWholeSandwich »

There are no input trims on the console mixer, which creates clutter.

JUST doing what You guys suggested - and then opening each component separately in LMMS, will eliminate most of those plug-in hosts and samplers. The PLHs are dynamics mostly, bus compressors, saturation which can just go on the main channel in lmms
Last edited by theWholeSandwich on Mon May 30, 2022 2:32 pm, edited 1 time in total.
theWholeSandwich
Posts: 82
Joined: Mon Feb 07, 2022 6:53 pm

Re: Disk space and performance

Post by theWholeSandwich »

utdgrant wrote: Mon May 30, 2022 8:38 am That's a BIG patch! :o

ThatsABigPatch.png

I suppose one general approach you could take is to isolate each 'thread', or 'signal chain' and save it as a unique patch. Run that patch in isolation and see how much processor load you are using. That way, you can narrow down the most processor-hungry element(s) of the total patch.

You can then concentrate more of your optimsation efforts on those parts to help reduce the impact on total CPU load.


Also, I did notice a couple of things which suggest that a bit of housekeeping is in order.

Redundant02.png

The Six-Input Mixer appears to be redundant, here. I'd be inclined to just patch the Oscillator's pulse wave straight into the Ladder Filter's input. It's a tiny saving by itself, I know. However, if you stay alert to these small savings while building a patch, it all adds up. It might make the difference between a complex patch just being able to run or starting to glitch.


Yikes, thanks for pointing that one out! And thanks a LOT more for the Idea! Once I separate the various components, I can open each one in LMMS like I normally do. Then I can actually record (or export rather) the song.
theWholeSandwich
Posts: 82
Joined: Mon Feb 07, 2022 6:53 pm

Re: Disk space and performance

Post by theWholeSandwich »

ColinP wrote: Mon May 30, 2022 9:23 am OK, you seem to have half apologised for being so rude to people here, so I'm going to give you one more chance. Any comments similar to the obscenities you posted before and it's bye bye permanently.

Your i7 8700 does about 28 GFLOPS so is reasonable powerful. It's about 75% as powerful as my CPU and I can build patches with about 200 basic modules so you ought to be able to do some fairly crazy stuff.

However as Grant points out you need discipline to build large patches. Just throwing another module at a patch isn't going to make it automatically sound better.

Your patch has seven plug-in hosts. I haven't got time to look at exactly what you are running in them but each of those is potentially very expensive.

Your patch doesn't have obvious structure so you'll struggle to modify or debug it. Use a separate cabinet for each sub-system. Ideally label each cabinet using a notes module on the far left. You can also document other stuff with the notes modules so that when you come back to a patch a week or two later any obscure details that you've forgotten about can still be understood.

Your patch is about the limit of what is sane to do without breaking it down into some kind of hierarchy. Again as Grant advises you could isolate things and then look at CPU usage running things standalone. Although as I've stressed in the thread on metering it's difficult to really judge how close you are to buffer overrun without a meter.

Anyway one way to break through these problems is to modularize by using the plug-in host to run separate instances of VM. You can then build sub-patches, test them and optimize them as best you can in isolation and then build a master patch that connects together these sub-patches with relatively simple high-level wiring between plug-in hosts. This hierarchical approach is far easier to manage than doing everything in one flat space.

My LSSP Tutorial 5 uses this approach and might be worth reviewing https://www.adroitsynthesis.com/lssp-101-tutorial-5/

Great feedback...better than any customer service you can get online I suppose. I did order another 8G DIMM as well
User avatar
TheGarnet
Posts: 36
Joined: Mon Aug 22, 2022 1:55 pm

Re: Disk space and performance

Post by TheGarnet »

Why is this patch failing to load this plugin?

c:\program files\TyrellN6(x64).dll

Why is a VM configuration trying to directly load DLL's?

Is this a security breach?
User avatar
utdgrant
Posts: 540
Joined: Wed Apr 07, 2021 8:58 am
Location: Scotland
Contact:

Re: Disk space and performance

Post by utdgrant »

TheGarnet wrote: Mon Aug 22, 2022 2:14 pm Why is this patch failing to load this plugin?

c:\program files\TyrellN6(x64).dll

Why is a VM configuration trying to directly load DLL's?

Is this a security breach?
No, just one (of the many!) plug-in hosts trying to load up a VST plug-in that was part of the patch.
Unless you also own that particular plug-in, VM won't load it.
I believe you'd have to jump through several (expensive) hoops in order to use this as a malware attack vector.
______________________
Dome Music Technologies
Steve W
Posts: 767
Joined: Thu Jul 16, 2020 5:55 pm

Re: Disk space and performance

Post by Steve W »

TheGarnet wrote: Mon Aug 22, 2022 2:14 pm Why is a VM configuration trying to directly load DLL's?
I don't know about this specific preset, but I use VM's Plugin Host and Mini Plugin Host extensively for dlls and vst3s, both FX and Instruments, and both in standalone mode and as a plugin. You might want to read about those modules and try them out, if you have them.

Not all plug-ins work within VM. I have TyrellN6. It produced an error message in VM and locks up Nanohost. I probably don't have it installed properly.
User avatar
TheGarnet
Posts: 36
Joined: Mon Aug 22, 2022 1:55 pm

Re: Disk space and performance

Post by TheGarnet »

Steve,

Thanks a bunch for your hints. I am an old school programmer since before the days of DOS, and wrote my share of DLLs, but I am very new to modular and especially VM. It was funny to see a reference to my old friend the DLL! Directly referencing DLLs, what a way to create something that is not cross platform compatible!

- Garnet
Post Reply

Return to “Voltage Modular”