# K5 inside Cubase Pro 8.5 on 12-threads multi-core CPU



## Tatiana Gordeeva (Mar 2, 2016)

Hi guys,

My question is about running K5 as a plug-in in my DAW. I've read that the option in the K5 settings panel to use multiprocessing applied ONLY to the standalone version.

When used as a VST inside a DAW apparently the DAW controls the allocation to the different cores/threads (in my case 12 threads, Core i7 4930k : 6 cores x 2 threads) and, in general, does it at the track-level. So it is recommended to run every K5 instrument in a separate instance of K5 to optimize CPU usage.

Is it really the case? Are there any settings in Cubase 8.x (Win7-64) that can modify this behavior?

Thanks for your input. Tatiana.


----------



## IoannisGutevas (Mar 2, 2016)

Tatiana Gordeeva said:


> My question is about running K5 as a plug-in in my DAW. I've read that the option in the K5 settings panel to use multiprocessing applied ONLY to the standalone version.



You should try it both turned on and turned off. The theory is that you should disable mutliprocessing from Kontakt when used in a DAW and turn on the daw option of multiprocessesing. In my case, i have found that in my daw (I use Cubase 8.5 and win7x64 like you), when i turn on multiprocess on in kontakt AND in cubase it works best and i have the least CPU consumption and it i can load many instruments in kontakt with no issue. Thats my recomendation to you. 

Load 5-10 cpu hungry instruments on kontakt and play a midi part. Check your ASIO/CPU meter. Try this with multiprocessing on in both Kontakt and Cubase. Then turn multiprocessing off from Kontakt and restart Cubase again and check again. You will find what works best in your PC. Whichever works best, keep that setting.

You can do a whole lot to optimize windows to be more "DAW Friendly" but you need to figure out how to make a single instance of kontakt to use all your CPU cores. 

In whatever case dont turn multiprocessing off from Cubase, that needs to stay on at all times. Just play with turning off and on Kontakt's multiprocessing (as a plugin).



Tatiana Gordeeva said:


> So it is recommended to run every K5 instrument in a separate instance of K5 to optimize CPU usage.



No it isnt recommended, and if it is, it shouldnt be. Kontakt is designed to be a host so you can load more than 1 instrument in it. Using it to load only one is a waste of resources. The only reason why you should think in using 1 instrument only for each kontakt is because Steinberg cant figure out a way when you select a midi track on the project window the corresponding output to be selected on the MixConsole and NOT the midi track.


----------



## Tatiana Gordeeva (Mar 3, 2016)

Hello Ioannis and thank you for your reply.

I agree that the standalone version of K5 is fully multipro; it does make sense being the host. Inside Cubase (and most other DAWs on PC and Mac) from what I have read the DAW, being the host, is responsible for the core/thread assignments. In Cubase it is done at the midi track level which, I agree, should not be the case.

Of course the use of effect chains can further complicate this reasoning but for the purpose of K5 inside Cubase it seems that one instrument per K5 instance per track is the way to go. Tests (below) seem to confirm that.

Here's what I found about this question (among the haystack of confusion):

_Enabling Hyper-Threading while ASIO Guard is active usually has a positive effect on the overall system performance and is the recommended combination. Only in rare cases - e.g. with projects using many "live" tracks - Hyper-Threading can still lead to performance issues. Again, please refer to the dedicated ASIO Guard article for details._
Source: https://www.steinberg.net/nc/en/sup...s/kb_show/hyper-threading-and-asio-guard.html

_Is there an automatic setting to stop the Arming a Track for Recording when you click on it?
This is actually the biggest CPU Juice drawer when you click on a track, it usually goes up by 10%._
Source: https://www.steinberg.net/forums/viewtopic.php?f=226&t=90950

_(In Cubase) the performance meter *only shows the highest load from one of your cores.*_
Source: https://www.steinberg.net/forums/viewtopic.php?f=226&t=84018

_Here's some classic multi-processing confusion, illustrated by Cubase 4 running 28 voices of a heavy-duty physically modelled soft synth that together consume almost 100 percent of a single core of this dual-core PC. The high Cubase 'VST Performance' meter reading (bottom left) simply indicates that one or more cores is approaching its limit. However, since Cubase 4 is optimised for multi-processing, if you create another track and connect its output to another instance of the same soft synth, you'll still be able to run a further 28 voices on the other core._
Source: https://www.soundonsound.com/sos/jan08/articles/pcmusician_0108.htm

_With Logic (and Cubase?) it's best to split the difference for best use of resources. If you do everything on one instance, it won't split over different cores. But if you have lots of instruments, you don't need each on a separate one, especially once you have more instruments than cores. Also, each instance uses more ram within Logic, so doing all separate instances uses more ram than necessary. With 64 bit it's less of an issue, but if you're running lots of instruments it can still add up - if you have tons of RAM to spare, go ahead and do all separate instances.
I recommend dividing your instruments over a number of multis that's around the same as how many CPU cores you have - if you have 8 cores, I'd use 6 or 7 instances (also depends on how many other plugins you're using). You'll want to see how it works and experiment a bit on your specific system._
 Example for 8 cores (if all 32 instruments are playing at the same time):
_ 32 instruments on 1 Kontakt instance - least ram use, but only uses 1 cpu core.
32 instruments on 32 separate instances - balances over all cores, but uses much more ram
32 instruments on 6-8 instances - decent compromise between ram use and cpu balance_
*Also: Seems like each additional (empty!) instance (of Kontakt) takes (only) an additional 20-45 MB of RAM. So with 64GB RAM machines now that is pretty much insignificant.*
Source: https://www.native-instruments.com/...arate-instances-or-a-multi-instrument.113517/

https://www.steinberg.net/forums/download/file.php?id=6619 (interesting! even if it's on a Mac)
_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._
Source: https://www.steinberg.net/forums/viewtopic.php?t=47931

_If one uses several instrument tracks Cubase can spread them over several cores whereas a rack instrument loaded up with quite a few "instruments" will only use one core._
Source: https://japan.steinberg.net/forums/viewtopic.php?f=226&t=91816

Best, Tatiana.


----------



## IoannisGutevas (Mar 3, 2016)

Nice research  But you not all theory always applies in practice. It depends on your machine, and most importantly your workflow and habbits. 

As i said in most internet topics you will see a big NO if you wanna turn the multiprosessing on , inside Kontakt when you use it in a daw. For me it doesnt work , i have always used it as a mutli-instrument host and if i need to have both multiprossessing on in Cubase and in Kontakt in order for it to use all cores.

And i can notice a huge difference if i have 30 single instances of Kontakt running and try to export a song loaded with 1 instrument each vs having 2 instaces of kontakt loaded with 16 instruments and try to export the same song. It goes much faster when you use Kontakt as a multi-instrument host.

For example this : 


Tatiana Gordeeva said:


> With Logic (and Cubase?) it's best to split the difference for best use of resources. If you do everything on one instance, it won't split over different cores.


this doesnt apply in cubase. Again from my experience i had multiprocessing off in Kontakt and on in Cubase. Using like that the kontakt with many instruments loaded used only 1 core and Audio processing load was reaching the top. 
I enabled multiprocessing on in kontakt and in Cubase and tried again. Audio processing load dropped like 90% and everything was smooth.

What i mean is some things you need to figure out for yourself. Its through trial and error and sometimes good tutorials that we learn


----------



## madfiddler (Apr 1, 2016)

I've just finished upgrading to a 5960x based machine, and for me it seems turning multiprocessing on, for Kontakt 5, within Cubase which also has multiprocessing switched on, works best by quite a mile.

Still very disappointing though that the ASIO meter is still no-where close to actual CPU usage. I had 65% ASIO compared to around 20% actual processor usage.


----------



## AllanH (Apr 10, 2016)

I found, in a different setup that yours, that I got the best result by allowing K5 to use half of the CPU cores. I didn't research the limit, but my guess is that giving K5 maybe maxcores-2 would be the maximum setting. 

For me, giving K5 full use of all cores in VST mode, is a poor choice, and performs as poorly as making it single threaded.

Hope this helps.


----------



## EvilDragon (Apr 10, 2016)

madfiddler said:


> Still very disappointing though that the ASIO meter is still no-where close to actual CPU usage. I had 65% ASIO compared to around 20% actual processor usage.



ASIO usage is NOT the same thing as CPU usage, really.


----------

