Rack 2 Pro is a CPU hog on my Mac Mini M2

Hello,

I’m trying to use VCV Rack 2 Pro in MacOS on a Mac Mini M2 at 48kHz with a patch running flawlessly on an old Wintel.

I’ve set Rack to use 10 threads and reduced the display refresh rate to 10Hz.

However, whatever the output Block Size I’m using, the patch can’t deliver a clean sound.

I’m around 235% CPU. The same patch takes less than 80% CPU on my Wintel i8700K!

And it’s even worse when I try to use Rack as a plug-in within Max. It goes beyond 400% CPU!

What’s wrong?

This is most likely your problem. In Rack adding threads uses CPU. Start by reducing to 1 thread and only add an additional thread at a time if the audio breaks up, which likely won’t happen since the M2 has quite powerful single-thread performance.

3 Likes

Actually I set Rack to 10 threads after the issue arose. The situation is the same whatever the number of threads set (1, 2, 6, 10…).

In the Engine->Sample rate menu, is it set to “Auto (48Khz)”?

1 Like

It was set to 48kHz manually. I’ve just tried to set it to Auto (48kHz) and it hasn’t solved anything.

Sounds like you need to write to support@vcvrack.com with a copy of your patch and describe the problem.

Yep, from what I’ve read VCV should work pretty well on the M2. I have an M4 Mini and it runs loads more modules than my windows laptop or desktop (and the desktop is quite powerful, 5Ghz i9,16Gb, decent graphics card).

I’m not interested in platform wars, I’ll use whatever works better for what I’m trying to do, and at the moment that seems to be the M chips, as much as I dislike Apple in general!

The Mac Mini runs way bigger patches without getting warm, I don’t think I’ve even made it glitch yet. Something must be wrong in your case. What’s your interface? Do other audio apps run OK?

1 Like

Couldn’t have said it better myself.

1 Like

And this was to you, @roald.baudoux :slight_smile:

My only other suggestion is to enable performance meters and see if there’s one module that’s not happy, and gone rogue with the CPU usage!

2 Likes

Yes, I am myself quite surprised about the performances of the M2 in that situation.

Good to hear performance is great there, I plan on upgrading to that kind of Mac soon so I can replace my MacBook Pro from 2018, I can soon host larger racks of modules and the envelope city module won’t strain the system too

I have a mac mini M1 and an M4, both 32GB RAM and version 26.2 of MacOS. Neither has any issue with quite insane patches at 48kHz and Rack set to 1 thread. So something in the patch or on your machine must be really unhappy indeed

DO kill the browser while patching though

1 Like

Hello,

Here is a follow-up.

I got in touch with the support and the answer was that the Formula module was the cause of this heavy CPU use. I got the suggestion to replace it either by docB’s Formula One or Stochastic Telegraph’s BASICally.

However, as you can see in the attached screen captions, the CPU ratios between the macos Silicon M2 and the Wintel i7 8700K are quite similar as they were for the Formula module.

This raises some questions: are these modules poorly optimized for the Silicon processors? Is it a development issue? Or is linked to the nature of these modules? Or is it something else.

Anyhow, I’m really disappointed because it totally prevents me to use Rack for my live setup - the very reason I bought a Mac Mini with a supposedly Intel-killing CPU.

I hope some solution can be found.

Maybe share your actual patch?

For one instance of Basically/FormulaOne, you have shown that CPU usage is similar on both platforms. Okay.

But your patch is using 3 instances of Formula. And in that case, as you say, clearly ARM Mac is using more cpu than windows.

F3 cpu usage per module would be the right information to have. Also on Mac, Activity Monitor will show you how many threads in total Rack is using. (I assume there must be a similar utility on Windows.)

I wonder about your 7 instances of Array too. It’s generally a very efficient module, but any math-intensive module can be driven to extremes.

1 Like

I have actually shown that the CPU usage is not similar on both platforms, especially the maxima reached.

Also, what do you mean with “F3” ?

Press the F3 function key to activate the CPU meters for the modules (displayed at the bottom of each module).

1 Like

Here we go with F3 on the Silicon M2. The CPU usage of all three modules is quite low. But the global CPU usage is quite high. What’s wrong?

Again, share the original patch if you want real help.

Since we’re just doing screenshots, here are mine.