Automatic CPU load distribution

Just got off the Apple web site their instructions on how to distribute multi core CPU load.

Balancing multi-core performance

Their main suggestion is to create multiple busses and distribute the plug ins among the busses routed serially to the mains outputs.

Very clever and simple solution. However..... not very elegant.

I was thinking. If I can do this manually, why can't Logic do it automatically?

That is, when Logic discovers that a core is being overloaded it checks the channel strips to find the culprit(s). It then automatically creates multiple busses IN THE BACKGROUND and performs the routing. I don't need to see this happening or even care as long as it works.

If you want, you could have a temporary dialog box to let you know that it's happening, but otherwise who cares as long as the audio routing through the plug ins remain and the output sound is the same?

Any thoughts folks?

I am not a programmer but seeing that you COULD probably create an environment that would take care of this that it sounds reasonably straight forward.




Staff member
What would bother me about this idea would be allowing logic to change mixer architecture without my knowing exactly what would be changed. Adding multiple busses in the background, as you say, would in all likelihood lead to total and untter confusion with respect to understanding signal routing. I definitely would not want this.

Furthermore, it may not work anyway. I have seen so many examples of users loading many individual instances of space designer into audio channel strips, each treating just one signal, as opposed to aux sending signals from those channel strips to 1 or 2 space designers on dedicated reverb aux channel strips. Understanding how an overload is taking place as well as how to set up efficient signal routing is IMO the key to avoiding overloads.

kind regards

Ok Mark,

How about if Logic asks you if that's cool to do with an option to never ask again or never perform, etc.? Best of both worlds.

According to Apple (see article) and my brief experience in this matter, it really doesn't matter if you send the audio through a single channel serially through plugins or through 2 or more Aux channels serially with evenly (and serially) dispersed plug ins as long as it gets to the Outputs in the same flow .

I am suggesting that on the surface (user interface) you would handle your plugins the same, stacking them on a single channel. However, if you chose to (via dialog box) you could allow Logic to monitor when the cpu load is too high due to this stacking on a single channel and allow Logic to perform a simple internal routing technique which evenly disperses the load over a few Aux channels. I have a feeling they wouldn't actually create more channels just do a virtual routing behind the scenes.

I picture it like setting up an Environment but have a different user front end that would look and act as you normally would like.

On a separate note, you are exactly right about most users (including myself at times) going plug in happy and not setting up my signal path effectively. This is probably why most users have cpu problems not a dispersment problem.

However, my suggestion would only monitor and rectify (hopefully) the issue with cpu overload due to a single core getting used to it's max before using alternative cores.