Multichannel VST or Many Instrument tracks - CPU difference?

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.
FWIW…

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


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.

The “song” is the 4 bars loop, and i’ve made both screenshots in the highest CPU usage moments. So they are mostly reflecting the situation - the Multichannel project uses more cpu AND if you see the system monitoring window there are more peaks and falls on every core. It looks to me that Kontakt is using multiple cores, but does it worse than Cubase can with individual Instrument Tracks.

It looks to me that what I’ve learned was correct. It’s better to use Instruments Tracks than MIDI Tracks + VST Rack, whenever possible. I think stereolost has proven that (Good job).

I’ve noticed that there is a preference setting for multi-core operation of the Kontakt VST plug-in, as well as in the stand-alone. However, I’ve been told that it’s the DAW (Cubase), not the plug-in (Kontakt) that decides how the cores are used.

It would be nice to hear from one of the programmers, for a clarification of this issue.

I personally save RAM using Multichannel VST setting.

I tested both the methods this week. :wink: