Multichannel VST or Many Instrument tracks - CPU difference?

Hello. Tried searching the forum, but didn’t find anything about it.
I always used a Project Template with NI Kontakt and Omnisphere and Halion loaded in VST Rack, many outputs enabled + and many MIDI channels assigned to corresponding VST and… well, you all know it. I made it to hasten the workflow, but in the end what i get is hundred of channels in the mixer, difficulties with understanding where i have midi and where i have VST output channels, mistake clicking and wrong renaming, routing abracadabra and so on.
On several small projects i found that just creating Instrument Tracks for every instrument proves faster, no additional routing, easier automation right on the channel, + i can save the whole instrument with all inserts, expression maps…
So i was thinking i should move to that kinda workflow. But i have doubts if having 10 Kontakt instances and 15 Battery instances and 6 omnisphere instances will hit my CPU too hard. Or maybe all these separate instances together are using too litlle CPU to even worry?

If you have a beast of a computer (both CPU and RAM), by all means, do what works for you.
Sampler instruments (like Kontact or Halion) can get very RAM intensive and using a single instance might save on this.
Another nice thing about using a single VSTi for multiple things is drums, where it’s convenient to have one MIDI track for the drums, while still having multiple outputs to mix them differently (and using effects etc).

A friend of mine bought a new super PC for his musical work and even with multiple heavy VSTis (EastWest), the system barely felt it.

Well, i made some comparison cubase projects.

The “Multichannel Project” includes one NI Kontakt with 12 StereoOuts, NI Battery with 4 StereoOuts, Omnisphere with 8 StereoOuts.
The “Instrument Project” includes 12 Kontakt instances, 4 Battery instances and 8 Omnisphere instances.
Sample Rate set to 44.1kHz, i switched buffer size to 32 samples (just for zooming in the CPU), 128 samples (i usually arrange my works with like that) and 512 samples (i mix bigger projects like that).

Made some screenshots of the CPU performance in these projects (screenshot attached)

with 32 samples buffer difference looks tremendous, but i never really work like that, and even absolutely empty projects with these settings already uses 10-20% of my CPU.

I have i7 3,49hhz processor, so i can say that there IS differences. On my previous computer with slower processor that would be almost a no-go in case of large projects… And adding even more instances will have bigger impact.

I tried opening 24 GrooveAgentOne instances - significantly lesser CPU usage than Battery, but well you can’t compare versatility of these two. 24 NI.Massive synths used much less than those Omnispheres too. Maybe i should consider using it and PadShop for some sounds which i usually take from Omnisphere.

Wish Kontakt and Omnisphere had some kinda cut-on-features versions for guys like me, who don’t use any of their build in effects and mixers - i prefer to mix everything in Cubase’s mixer.

But for me now i’ll try switching to Instrument Tracks (except for real drum modules, which need multiple outputs anyway). I presume that even if i’ll be sometimes forced to switch to a larger buffer, things will still go much faster with Instrument Track, which are much easier to mix, automate, route, save and recall.
CPU Experiment.jpg

You could tidy things up using the new mixer feature to hide channels that you don’t want to see and save this in your template (assuming that sort of thing saves of course).

I also tend to move (drag) the instrument output audio channels to be underneath their respective midi channel in the project window (the mixer follows this). Helps avoid a lot of confusion.

I’ve had times when I’ve been up against CPU power due to complex orchestral composition, and all I’ll say is that it was due to me lazily creating a few too many instruments when I should have been using the multi-outs of just one or too! A right pita to rejig it was but once I’d done it I was back in business. The less I’ve learned is to keep a tidy and efficient project as I go along…


From my relatively noob perspective, I much prefer to try and get away with instrument tracks. I’m still at a point where I get very confused using a multi-out. I do have a project template for multiple outs on Superior2, but it took a while for me to figure it out. I know I’m gonna want it. I’ve used Kontakt the same way, but again, I can keep things organized in my head better with instrument tracks. I just do the housekeeping along the way and I’m all good. On the other hand, I’m not creating lots of tracks yet, maybe 24 or so at most so far. Likewise, I have had to freeze tracks to get the project to open again later. Hours spent trying to get it back open just to do so. I freeze for safety now, and unfreeze to further edit. Freezing takes time, but unfreezing is very quick.

I would imagine that different VI’s would behave slightly differently because of differences of each one’s coding.

Interesting result nonetheless, but it’s hard to accurately tell which VI is responsible for the biggest or smallest gains.

I’m basically at the point where I have consider things like this, I haven’t thankfully needed to worry up until recently. :nerd:

I gathered the following:

In the good old days of single-core processors, it was always preferable to use one instance of a multi-timbral VSTi in the VST Instruments rack. With multi-core processors things has changed somewhat, though. Most* DAWs handle instruments by having one instance access one core (unless the VSTi is multi-core aware, like HALion Sonic SE).

This means that if you have four separate MIDI tracks, each playing it’s own instrument, one core will be tasked to handle all instruments if you use a multi-timbral VSTi in the VST Instruments rack. If you, on the other hand, load 4 instances of the VSTi, each in in it’s own Instrument Track, the workload will be spread over 4 separate cores (provided you use a processor with 4 or more cores).

  • Most being the operative word here. I haven’t found any information on how Cubase deals with VSTi’s and cores.

Anyway, from what I can see, the best option is to run Cubase in 64-bit mode (with your computer fully loaded with RAM) and use multiple instances in Instrument tracks. I only use the VST Instruments rack when I find a special reason for it. For example, when I need separated outputs from a drum VSTi.

Users of Kontakt may use the “Purge” option, to drastically reduce the memory footprint.

I prefer the multi instruments simply because I can freeze them and still manipulate the faders.

And you can’t with Instrument tracks? Then you’re really doing something very wrong. Just click on the Freeze button in the Instrument tracks inspector. You can now operate it just like any Audio track. Move faders, add VST effects, etc.

That’s what I was saying. If I use individual instrument channels you can freeze them and still have the ability to slide the faders. This is not the case when you use the VST Rack. I know you can still move the instrument fader but if if i’m using 8 patches on 8 midi channels in Omnisphere Multi, you can’t go back and move the midi faders when it’s frozen.

No it wasn’t. You said…

The Instrument tracks are monotimbral. You can only use the instruments multitimbral with the VST Instruments rack.

In my case (and in most cases, i think) it’s not a RAM problem, but CPU. If you see from my test, 30 CPU-hungry VSTi instances (like Kontakt or Battery) are having a serious impact on CPU even when nothing is playing and no samples loaded in them.

Latest song arrangements i’ve made with using Instrument tracks instead of VST Rack and it is significantly more intuitive to tweak, route, automate, mix etc. (for me, at least…)
These were no so big arrangements - 15-25 instruments, multi-out drum VSTi and 15-20 group and FX channels, about 5GB RAM used and my CPU reaching limits with 128 samples buffer size. Which means when i face a 100+ tracks project, i will be forced to 256 samples and even 512. And 512 is will make all guitars and drums recording pretty hard… I actually expected a bit more from a new computer which cost me 2k dollars :slight_smile:

I beg to differ. Of cause CPU power is very important, but with the HUGE sample libraries in use today, so is RAM. That’s why Kontakts Purge feature is so valuable.

Skip this paragraph if you’re familiar with what Purge does. Purge removes all samples from memory and then, on the first play-though, reloads only the samples actually used. This will drastically reduce the used amount of memory.

To get some figures, I did a test on an “ordinary” 5 minute track I’m working on right now. For the bass part I use the Scarabee Rickenbacker library. When first loaded, this library gobbles up 431,72MB. After putting the track through the Purge procedure, the memory footprint had dropped to 15,60MB. That’s quite a difference, isn’t it?

Sounds really cool. But i wonder what happens when you re-open the project? Are all instrument samples loaded again? Or do i have to run through the project for sample detection again?

It would be interesting to see the same comparison in a Windows environment.

Also, I wonder if there would be a difference if you would only use VST3 plugins versus the older plugin formats that you already tested here.

Actually that is technically incorrect. Currently, Instrument Tracks does not have the option of using MIDI Channels. Monotimbral is different.

From what I can tell, you need to re-do the Purge and detection.

Can you redo the test, but drop the Battery & Omnisphere (and everything else)? They might scew the test result. It would be interesting to know what results you get with only Kontakt.

Another interesting question is what computer you use. From your description I would guess that it’s a 15-inch 2.4GHz PowerBook Pro with Retina display. If that is correct, that processor is quad-core so you should be able to detect a difference.

Furthermore, of case you will see that 12 instances of Kontakt than with one. That is not the main issue, though. Cubases meter only shows the overall power use. What is interesting is how much the individual cores use! There are utilities that can measure this (but can’t recall a name right now). If you task one core with handling all your 12 instances (equivalent), it would be overloaded (resulting in droputs, click and pops. As well as crashes) as opposed to spreading the work over all four cores.

Using the VST Instruments Rack option, you run the risk of overloading 1 core, while the other 3 are running more or less idle. In this case, the Cubase processor meter would still tell you that you have plenty of power left!

Done a new test, with unexpected results. :slight_smile:

My system is a custom built hackintosh, Intel i7 3.49hHz, 16GB RAM, MacOS 10.8.4, UAD Apollo thunderbolt connected, Cubase 7.0.5 in 64 bit mode.
Both projects are 44.100kHz, 64 samples buffer size, ASIO Guard disabled (found it more stable that way).
A simple instrument fragment cycled, Alicia’s Keys, Session Strings PRO, NI Modern Drummer, Rickenbacker Bass, Session Horns, Evolve Mutations. System Monitor shows that Cubase is using 6,5 GB RAM.

Left screenshot - one instance of Kontakt 5 in the VSTRack, six outputs enabled
Right screenshot - six instrument tracks with a Kontakt 5 instance each
VSTRack vs. Instrument Tracks.png
As can be seen from the screenshots, Kontakt 5 vst actually uses multiple cores, in it’s setting there is a checkbox for that.
But you see the project with instrument tracks uses a bit less CPU and the usage is more even, and that surprised me.
Looks like Cubase is doing better job using multiple cores than Kontakt which results in a better performance in the end. So in the “Empty Project” test it looked like using Instruments Tracks is resource-unfriendly, but in the second test with music playing Instrument Tracks win over VST Rack.

I love the result, because i prefer the ease of use which goes with Instrument Tracks. So on this test i wanted to find out how much CPU do i sacrifice for that… only to find that i’m actually saving it that way. :slight_smile:

Results could be different with other multi-out VSTis or on other systems, though…

Interesting stuff.

Goes against what I figured regarding instrument tracks, vs. multi out from rack.

I’ve usually used tracks for single channel VSTi and racks for multi-channel.
For me, I prefer being able to save up to 16 slots as a multi under one preset, and further be able to gang control those if needed.

That has generally outweighed any CPU/core benefit, if there were indeed one from manually delegating cores per VSTi.

It’s interesting to note that the Peak meter is overloading in stereolosts screendumps with the MIDI channels/VST Rack option. Whether this is caused by asking one instance of Kontakt handle all MIDI track or some other reason, is hard to tell because the dumps are taken at different positions in the song.