VEpro - Lots of instances vs Lots of Midi Channels

MoeWalsaad

Member
Hello,
I'm halfway through building my first grand template on Vienna Ensemble Pro7 and Cubase10, but some concerns are arising.

I wonder what would be the ups and downs of having too many VEP instances vs too many Plugin Channels vs too many Midi channels coming from less Kontakt Instances.

It's a big advantage to me to load so many instruments each in one Kontakt instance because this will give me the chance to enable and disable them when I need to save memory.
but I don't know what would be the long term flaws and limits of this workflow.

While if one Kontakt instance was containing too many instruments in several midi and output channels, I wouldn't be able to disable just one instrument but rather the whole Kontakt instance, which means less freedom, but as I see from Youtube tutorials many composers are going with this method but I am not sure why.

Also what would be the ups and downs of having too many VEP instances, so you can enable and activate them whenever you need? most users on Youtube seems to be conservative at the number of VEP instances and I'm not sure why.

I would like to learn from your experiences because building a template takes forever, but I don't want to waste time on a system that doesn't work.

Thanks in advance.
 
Last edited:

Ashermusic

Senior Member
It depends on your DAW. I can only speak for Logic Pro. Historically Logic likes more instances with less in them and spread over two computers I have used over 80. One of my Logic clients had a separate slave computer for each section of the orchestra so he had what was then the maximum of 256 software instruments in Logic. However, AU 3 apparently is changing the calculus on this with Logic, according to Dewdman, and others. So it may come down to user preference.

Again, I cannot speak to other DAWs.
 

Ben

VSL Support
In general it is good to have as few VEP instances as possible. This allows VEP to distribute the load evenly between the CPU cores and the computer has not to handle with the overhead that comes with each instance.
Aside from this it is fine to have one Kontakt instance per instrument.
 
OP
MoeWalsaad

MoeWalsaad

Member
It depends on your DAW. I can only speak for Logic Pro. Historically Logic likes more instances with less in them and spread over two computers I have used over 80. One of my Logic clients had a separate slave computer for each section of the orchestra so he had what was then the maximum of 256 software instruments in Logic. However, AU 3 apparently is changing the calculus on this with Logic, according to Dewdman, and others. So it may come down to user preference.

Again, I cannot speak to other DAWs.
Thanks Jay, interesting, but do you mean over 80 instances of VEpro or VST plugin instances?


I'm using Cubase, I don't seem to have any limits or problems so far with the (more midi outputs approach) except that I'm not liking it because there is less freedom with loading and unloading.

That's why I wish to learn more about how practical would it be if I go with (lots of plugin instances) and (lots of VEpro instances) approaches in Cubase.
 
OP
MoeWalsaad

MoeWalsaad

Member
In general it is good to have as few VEP instances as possible. This allows VEP to distribute the load evenly between the CPU cores and the computer has not to handle with the overhead that comes with each instance.
Aside from this it is fine to have one Kontakt instance per instrument.
Interesting, thanks, I'm using Cubase, so any idea if it can handle lots of Kontakt instances coming from VEpro?
 

Dewdman42

Senior Member
In general it is good to have as few VEP instances as possible. This allows VEP to distribute the load evenly between the CPU cores and the computer has not to handle with the overhead that comes with each instance.
Aside from this it is fine to have one Kontakt instance per instrument.
VEP does a very good job of distributing load across cores. VEP has one parameter that is a little troublesome which is the setting about number of cores per instance. The problem is that if you are running a few instances, then you may not be able to set that setting optimally. If you are running only a single VEP instance, then its easy, you set that setting to something big, like maybe the number of cores-2 or something, or maybe its 2x-2, I can't remember now. But anway, used that way, VEP will take advantages of as many cores as it can and its very good at it.

Alternatively, if you use one instance per instrument, then you would set that parameter to 1 or 2. Each instance would be handling only a single channel and would only need 1 core, leaving the other cores for other instances. That doesn't spread the load around with one track playing, but it does with 20 tracks playing...

If you have let's say 4 instances, then what do you set that VEP setting to? At first we'd say set it to the number of cores/4. But when if at a certain moment in time, only two of the instances are playing stuff and the other two instances are idle? Then VEP would be underutilizing cores.

In general, a single VEP instance is best in terms of always having as many cores as possible for VEP to use and spread the load while its playing, regardless of how many tracks happen to be playing...
 

reddognoyz

Senior Member
I use DP and it's happier with less instances of VEP. I have a Visiondaw slave and I have 38 VI's, mostly instances of kontakt, in VEP, Most of the the Kontakt with over 10 instruments. running splits and separate reverb sends per stem, maybe 60 audio tracks? All in one instance...with room to grow.
 

Ben

VSL Support
what do you set that VEP [thread-] setting to
It depends on your setup. Each VEP instance needs some CPU cycles of overhead, even if no instrument is triggered inside the instance. The less instances the less CPU cycles you throw away. Inside an instance VEP can manage the load and decide how to ditribute the load to the cores. But an instance does not know what the laod of an other instance is. So in worst case scenaria you have all the heavy instances on one core while the other cores have almost nothing to do.
I have a 6 core CPU and set the VEP thread count to 4, and it works fine for me. I have ~6 instances.
 

Dewdman42

Senior Member
It depends on your setup. Each VEP instance needs some CPU cycles of overhead, even if no instrument is triggered inside the instance. The less instances the less CPU cycles you throw away. Inside an instance VEP can manage the load and decide how to ditribute the load to the cores. But an instance does not know what the laod of an other instance is. So in worst case scenaria you have all the heavy instances on one core while the other cores have almost nothing to do.
I have a 6 core CPU and set the VEP thread count to 4, and it works fine for me. I have ~6 instances.
exactly ben but its still the same if you have two instances, then do you change that setting to 2? And what if one instance happens to be idle at some point during playback?