Plugin using nearly 100% CPU in Ableton 11 M1 Max

Hi everyone! A few of my users have reported that my plugin takes up 70-90% CPU on the Ableton 11 meter, all on M1 Max machines (it should use 2-10% CPU). Their MacOS versions are Monterey and Sonoma. I got one of them to send me the logs from an altered release build with a bunch of PerformanceCounter instances, and discovered that there was no one culprit in the code - all DSP modules were simply running 2-10x slower than on my machine (a macbook pro 2022 M1).

One theory I had was that the audio thread was being run on an efficiency core - I heard that Ableton 11 can only allocate performance cores with small buffer sizes, so I asked one user to reduce his buffer size and see if that fixed it. He said that the performance was even worse with a 64-sample buffer size.

So, perhaps it’s not a thread priority issue? My plugin only uses the default JUCE main thread, I do not instantiate any of my own threads. I am on JUCE version 7.0.9, the latest version. Has anyone else experienced this issue, or any ideas about what it could be? Thanks!

1 Like

I’m afraid I don’t have an answer but just to dig into the details more, does it matter what plugin format they are using? I think Ableton supports VST2, VST3, AUv2, and AUv3.

Did you ask for the sample rate too?

If these users create additional instances of the plugin on the same track, do they actually run into cpu overloads, or does the machine make additional room? Just asking because if the scheduler does a good job, I don’t see a problem with a cpu core getting fully utilized if that also means better energy efficiency. Similar observations can sometimes be made with load-dependent cpu clock rate too.

To get a better impression, maybe have those users do non-realtime exports with Reaper, which is attempting to run as fast as possible.

If DSP code becomes slow, I find it always important to check if it hasn’t inadvertently triggered denormals

2 Likes