# Kontakt multiprocessor support, preload buffer?



## Nick Batzdorf (May 24, 2019)

1. The default for Kontakt 5 is for multiprocessor support to be turned off. Am I right that this is so the host can handle that instead?

2. Should one override the instrument's preload size if one is using SSDs?


----------



## ionian (May 24, 2019)

Nick Batzdorf said:


> 1. The default for Kontakt 5 is for multiprocessor support to be turned off. Am I right that this is so the host can handle that instead?
> 
> 2. Should one override the instrument's preload size if one is using SSDs?




Depends on the host. If your host has multi-core support, then leave it off and let the host handle it. If your host does not, then enable it.

For example, Sonar has excellent multi-core support so I leave it off. Presonus Studio One has no multi-core support and even a half-way decent library would almost peg the cpu meter. Any decent library was unusable. Once I figured out that Studio One had no multi-core support, I enabled it in Kontakt and the usage dropped by a huge amount. 

As for #2, you can drop it for SSD usage. I tried it and noticed no improvement to what I was already getting, but that's probably something dependant on your usage so you should try it and see.


----------



## Nick Batzdorf (May 24, 2019)

ionian said:


> Depends on the host. If your host has multi-core support, then leave it off and let the host handle it. If your host does not, then enable it.



For sure Logic and VE Pro have MP support! Thanks, that's what I thought.

As to #2, the only reason to do that would be memory usage. I'm not running into the limits of my 64GB (no matter how hard I try), so the question is academic anyway. What I really wanted to know is whether Kontakt knows you're using SSDs. The latest Play seems to, judging by its setting the buffer to the smallest - or maybe that's just a default.


----------



## ionian (May 24, 2019)

You gotta think of it as, if the host isn't managing the multiple cores, then the app can. But you have the app trying to manage the cores AND your host trying to manage the cores for the same thing at the same time, well, the end result isn't gonna be pretty no matter how you slice it lol...


----------



## Nick Batzdorf (May 24, 2019)

Again, that was what I thought, but I wasn't sure.


----------



## brenneisen (May 24, 2019)

Nick Batzdorf said:


> but I wasn't sure.



I'm not sure yet, heard @EvilDragon saying that you can keep both ON


----------



## tack (May 24, 2019)

ionian said:


> But you have the app trying to manage the cores AND your host trying to manage the cores for the same thing at the same time, well, the end result isn't gonna be pretty no matter how you slice it lol...


It's fine.

As far as I've been able to measure it, Kontakt's multithreading applies to parallel processing of voices. Multithreading in your DAW would be useful to parallelize FX across different tracks. The two work nicely in concert.

If you have a lot of Kontakt instances, you may not want to dial up the threads you allow Kontakt to use _too _much, just because the context switching overhead isn't worth spending. Although here I'm talking well over a hundred instances before it starts mattering (even on Windows whose thread overhead isn't all that it might be). 4 seems like a fair compromise to me. OTOH, if you tend to load up your Kontakts with multis and have fewer instances, then increasing the number to be close to your CPU's logical processor count would be reasonable.


----------



## Nick Batzdorf (May 24, 2019)

tack said:


> Although here I'm talking well over a hundred instances



The chances of my loading that many instances of everything combined are pretty slim.


----------



## EvilDragon (May 24, 2019)

Tack is right You can freely enable multiprocessing and not worry much. Kontakt will perform better, especially with heavy patches that would overload a core easily due to their voice count.


----------



## ionian (May 25, 2019)

It's a test it and see situation. I've had bad results in Sonar because sonar handles the multi-core, and good results in studio one because studio one doesn't. I've disabled it on purpose in Sonar because things went pear shaped when multi core was active in kontakt.

Try it and see what the results are first.


----------



## tack (May 25, 2019)

ionian said:


> I've disabled it on purpose in Sonar because things went pear shaped when multi core was active in kontakt.


What sort of behavior did you observe?

The multithreading done by your DAW tackles different problems than the multithreading done by Kontakt. They parallelize different things. Indeed the DAW should be oblivious to Kontakt's use of threads. So it's an interesting puzzle that it should cause problems. One possibility is that the thread count was set too high in Kontakt and Sonar wasn't doing a good job prioritizing the audio thread. I'm just curious about the technicals.


----------



## Nick Batzdorf (May 25, 2019)

EvilDragon said:


> Tack is right You can freely enable multiprocessing and not worry much. Kontakt will perform better, especially with heavy patches that would overload a core easily due to their voice count.



Coolio.

How many cores would you recommend enabling (12-core 3.46 GHz 5,1 Mac Pro, Logic)?


----------



## EvilDragon (May 25, 2019)

That's entirely up to you. It's very much a trial and error thing.


----------



## samphony (May 25, 2019)

Nick Batzdorf said:


> Coolio.
> 
> How many cores would you recommend enabling (12-core 3.46 GHz 5,1 Mac Pro, Logic)?



Maybe start with 3.


----------



## babylonwaves (May 25, 2019)

the one thing you should avoid is to enable all cores in the host and also in ANY plug-in. if you enable all cores in logic, put an instance of Kontakt on a single core. this might be different for another DAW.
the way Logic distributes load (in a situation where logic has all the cores) is based on the assumption that a single plug-in runs exclusively on one core.


----------



## EvilDragon (May 25, 2019)

There's a difference between distributing the CPU load of tracks and the way Kontakt does distribution of voices across the cores. Both can definitely work in concert, more often than not.


----------



## Nick Batzdorf (May 25, 2019)

EvilDragon said:


> That's entirely up to you. It's very much a trial and error thing.



Well, I haven't run out of any computer resources on this machine, and I've tried hard.

But I don't load 50 mic positions.


----------



## shomynik (May 27, 2019)

Following forum advices I once disabled Kontakt's multicore support, and I remember I had issues with a heavy library patch that I resolved by enabling that back. I kept it ON since.


----------



## Nick Batzdorf (May 27, 2019)

shomynik said:


> Following forum advices I once disabled Kontakt's multicore support, and I remember I had issues with a heavy library patch that I resolved by enabling that back. I kept it ON since.



How many cores did you enable?

I have 12.


----------



## X-Bassist (May 27, 2019)

I was having CPU problems on heavy sessions then enabled half my available cores in multicore processing in Kontakt as ED suggested, and it’s been working great since. With my 6 core mac pro kontakt showed me 12 available cores, so I set it to 6.


----------



## benatural (May 27, 2019)

Awesome thread, I have to give this a shot. 

What about a system running a daw, kontakt, and VEP? Multi-core for all of them?


----------



## Nick Batzdorf (May 27, 2019)

Why does Kontakt throw up a dialog warning you that enabling MP support in it and your host DAW can lead to audio problems?

I enabled six just for fun, but I'm curious about that dialog.


----------



## EvilDragon (May 27, 2019)

It's an old dialog from the time when the feature was implemented and CPUs weren't as powerful as today. Can disregard it nowadays


----------



## shomynik (May 27, 2019)

Nick Batzdorf said:


> How many cores did you enable?
> 
> I have 12.



The machine with the problem was 12 core, so that is what I set since. Now it went to slaves and the new master has 16, and that's the setting selected in Kontakt. Now, I haven't ever tried the half of available cores, I might try it, but I wouln't try OFF again.


----------



## DANIELE (May 28, 2019)

benatural said:


> Awesome thread, I have to give this a shot.
> 
> What about a system running a daw, kontakt, and VEP? Multi-core for all of them?



Exactly my kind of system.

I tryed to disable kontakt multi-core in the past but everytime I did it I had stuttering, drops and so on...so I keep it enabled on all cores as in my DAW as I do it in VEP.


----------



## stargazer (Mar 15, 2021)

Difference macOS / Windows?

I made some comparisons with MPS on/off.
It worked better with MPS on, both in Pro Tools Ultimate HDX, Studio One 5 demo and VE Pro 7.
I tried it with the same patch on low buffer settings.
It seemed to be the other way round with my VE Pro slave (Windows 10 Pro), more hick-ups with MPS on, but I’ll have to do some more tests to see if that behaviour is consistent.

The reason for my tests is for optimizing my Pro Tools (HDX) performance.
With one single piano patch Pro Tools struggles at H/W Buffer Size 64, while the demo of S1 manages 16 samples.
On my Pro Tools machine (MacPro4,1 with 5,1 FW and 128GB RAM) I use mechanical HDDs so I tried to raise the DFD Preload Buffer Size, but that didn’t seem to help.
Pro Tools HDX doesn’t seem to work well on low buffer sizes, possibly due to Native processing working in tandem with HDX DSP.

Anybody’s seen any improvement with higher DFD Preload Buffer Size than 60kB with mechanical HDDs?


----------

