Macintosh Performance

I routinely test performance of projects in various DAWs, and have been doing so for years. Here is an example test I use:

I create an Omnisphere instrument track that plays a pair of 4 bar notes. Omnisphere is loaded with the attached multi which is designed use a huge amount of cpu. I then duplicate that track and see how many tracks can be played simultaneously before a system overload occurs. The more tracks that can be played, the better.

Test Machine:
MacOS 10.13.6
MacPro late 2013 6 Core 3.5 GHz
16 GB RAM
32 bit audio engine.
Cubase: asio guard on and set to high to use the same conditions as Logic uses for buffers.
Select an empty track when performing the test.


Performance Test Results:

Multi with only one part and one layer per part in order to use less cpu per track:
Cubase 10.0.20: 85 tracks
Logic 10.4.4: 86 tracks

That’s right. Both Cubase and Logic show the same results. They have shown the same results in my tests for years. A couple of points to keep in mind:

  1. This is not only unsurprising, it is to be expected. The DAW usually plays hardly any role in performance of audio playback of sessions. CPU load is usually dominated by plugins. That means when you’re measuring performance of a plugin-heavy session, you’re measuring the performance of the plugins, not the DAW. If you compare the same plugins in two different DAWs, you’re measuring the same thing twice. The DAW is responsible for assigning the buffer sizes and spreading the load across the cpu cores, but that is generally the end of the involvement of the DAW in anything related to performance. The amount of DAW code that is executed in a test like this is tiny, so even if it was inefficient it wouldn’t make a measurable difference in the test results.

  2. The DAW is responsible for buffer size and buffer size can affect performance. However, in these days of hybrid buffers and asio guard, it is not a simple matter to keep the buffer size the same across the DAWs, but it is important to design your test to do so to ensure you are measuring apples to apples.

  3. This test measures raw CPU load. It specifically excludes Omnisphere presets which would stream samples from the hard drive, thus avoiding any I/O issues. I also run streaming performance tests, but like cpu load, the streaming performance is the responsibility of the plugin, not the DAW, so if that test shows different results in different DAWs, that’s again due to some difference in the plugin, not the DAW.

  4. I am aware there are Macintosh tests that show performance differences between DAWs. While such a test may have uncovered a significant difference in DAWs, there are a number of other possible explanations. For one thing, the test may be comparing AU vs VST and perhaps there is a difference between those two for the plugin used in the test. Or perhaps there is some condition that is different between the two tests, for example the buffer size, or some system resource difference such as the amount of available RAM. Another factor is that some tests use VEPro. VEPro is a unique animal among plugins and works in an unusual manner. If you use VEPro, then a test that uses VEPro will be meaningful for you. If not, then it is probably irrelevant for you. Another possibility is performance is being measured incorrectly. For example, the system activity monitor is not a good measure of performance in tests like this, so a test that relies on that monitor could give misleading results.

In summary,

A) This test shows no measurable performance difference between Logic and Cubase for virtual instrument-heavy projects.
B) If someone claims to have a test that shows a difference, I will believe them. But I would be skeptical that any such difference could be attributed to a shortcoming in a DAW. It’s certainly possible the difference can be attributed to the DAW, but, since that defies logic, it is more likely that there is some other explanation for the difference.

GranPerfTestSingleLayer.cpr.zip (38.6 KB)
PerfTestGran.mlt_omn.zip (9.03 KB)

I’ve noticed most people that complain about Mac performance are using old hardware (ancient in computer terms). If you need good performance, buy a modern computer. Simple, really.

@Glenno, the bigger question for me is WHY Logic fills up the first core before allocating across all the cores we have. No dynamic allocation of workload makes zero sense. IF all the DAWS did this I think the coversations about performance would end

I don’t recall ever seeing that. Logic doesn’t “fill” cores. However, it does have control over how many processing threads are spread across the cores. Almost all DAWs use the same same logic and sequentially assign tracks to threads. That means the most likely explanation for what you observed is: your test project doesn’t have the plugins spread evenly across tracks. For example, if all of the cpu load in your project occurs on one track, you will basically be only using a single core.

26 tracks on a 12 thread CPU isn’t a great test as you’re not processing small enough amount of CPU per thread to test how efficient each DAW is in arranging that data into threads. So it’s no wonder they’re identical results, if each omnisphere instance is utilising 40% of each thread - what else can it do with 20% left per thread? Your results therefore could be out by that same (20%) margin.

Also, was the last thread being utilised in Logic?

It’s a better test that way since it exercises the DAW’s ability to handle that difficult situation. Larger numbers of less loaded tracks are simple by comparison and can be handled by any naive algorithm.

In any case, the attached multi conveniently uses 2 parts, each with 2 layers. So, to reduce the cpu load per track, you can simply disable one of the two parts and one of the 2 layers. When I do that, I get 85 tracks for Cubase and 86 for Logic.

That’s certainly true. However, I’m not addressing the issue about whether performance is good or bad. I’m simply doing a comparison between DAWs. When I run these tests, that’s what I’m generally interested in learning. If I changed something (a new version of Omnisphere, an update to the OS, running in a different DAW), does the performance change? And I think that’s how the performance complaints in this forum are generally expressed, when people say that performance is better in DAW X than in Cubase.

Steinberg has already posted that cubase doesn’t perform well on Mac systems with 6 core cpu’s and that 8 and 12 core newer machines don’t offer any advantage.

Mac computers 2012 to 2019 with SSD will perform about the same.

For example a 15” 4 core cpu 2012 and 2018 MBP with SSD will perform about the same.

Thank you for sharing, but as I said, that’s not the subject of this thread. However, if you have benchmark test results to prove what you’re saying, I would suggest you start a new thread with those test results. I’m sure people would be interested in seeing those numbers.

Ah ok, so basically anything over 6 cores is when it starts to fall down? Does that explain the poor results on the higher multicore machines from the cheesegrater Mac Pro range then? i.e. i’ve read that the 12 core runs particularly bad on another thread here.

Don’t suppose you remember where you read this information?

https://www.steinberg.net/forums/viewtopic.php?f=226&t=106912

Since “Most People” leaves room for outliers I figured I would chime in as one of them to say that I’ve found the CPU utilization of Logic to be much better for me than Cubase on my 2018 Macbook Pro

My basic test is a simple Instrument/Midi track with a reverb send using either Fabfilter Pro-R2 or Valhalla Room

My experience is even with the transport stopped, in Cubase 10 when I add a reverb to the FX track (VST2 or VST3) my cpu takes a ~40% hit. I don’t experience this at all with Logic, maybe due to AU/VST differences?

So for me Logic performs better. I can still use Cubase for writing but being on a laptop I’m more sensitive to the high CPU load since that = heat which = more fan noise. Granted I can still get the fans going with my Logic sesison it just happens much faster and with less instruments loaded using Cubase.

I suppose if I was on a desktop machine this wouldn’t matter as much but it makes it hard to pick Cubase over Logic for my use case right now.

40% when adding a Pro-R2 definitely shouldn’t happen :slight_smile:. VST/AU might be the cause, but the first thing I would suspect is you’ve got something set up differently in Logic than you do in Cubase. For example, buffer sizes or asio guard.

I had the buffer setting on both set to 256 and played around with the ASIO settings as well but then got frustrated and stopped fiddling with it. I know being on the 2018 MBP with the T2 did some interesting things with the audio bus so I’m not sure how much that plays a role as well. But I’m hopeful that as they continue to update Cubase that these issues will be addressed.

In that case you might be comparing apples to oranges. Turn on asio guard and set it to High. Load up your tracks with plugins, select an empty track so none of those tracks are selected and see how many tracks you can add before you start getting audio drop outs due to excessive cpu usage.

The T2 issue can be mitigated a bit by turning off the use of a time server.

Thanks I’ll try that out and see if things are better!

What I see here is Logic filling up the FIRST core of my 16 cores that are available. To me it doesnt look like it dynamically spreads the load if you will. I could be wrong though as I am a little Logic dense here :astonished: THats what the performance meter looks like to me

It’s certainly possible to have a track routing that causes all processing to occur in a single thread in Logic. I suspect that’s what you did. But that’s unusual in a multi-track project.

I have 6 core Hackintosh and it flies. But then I have stem groups which spreads the load evenly across cores. I haven’t personally noticed any difference between Logic & Cubase performance wise, other than export times. Logic is lightening quick at rendering whereas Cubase takes much longer.

Cubase is fine for most plug ins such as Ominsphere, performance is comparable to Logic. Kontakt is the one that for some reason after you load about 150 of them or so, Cubase overloads and cannot play back at all - even with empty Kontakts. It’s a shame because Cubase is the best DAW for scoring (I believe) but Logic can load seemingly an infinite number of Kontakts and the CPU use is nothing if no audio is passing through those instruments. The new version of Logic will support 1000 VI tracks (big deal I know :slight_smile: and if it can manage the CPU in the same way, it’s hard not to argue the Logic is a better option for scoring with huge Kontakt sessions. This is with multi-core off in Kontakt, let the DAW manage that of course.

And yeah, bouncing and exporting in Cubase takes a very long time compared to Logic / Ableton / Bitwig. Bitwig can load 500 VST Kontakts no problem and still have a lot of CPU to spare, is its not an AU vs VST issue.