Max4Live CPU usage shenanigans
Max4Live CPU usage shenanigans
Following up on a previous thread viewtopic.php?t=253103 ...
I've got a new (to me) MacBook M1 Max with 64GB ram, a fresh install of Sequoia and Live 12.3.2 and I've noticed that at least some Max4Live devices CPU usage increases dramatically as the buffer size is decreased, in a way that native devices do not.
For example, I can load an empty set, set the driver to CoreAudio with a 32 sample buffer, load the default Drift patch and set it to unison / 32 voices and hold down a 4 note chord (so effectively a 32 simultaneous voices) and the CPU hovers around 20%. At 64 sample buffer it's around 14%, at 128 it's around 12%.
If I set the buffer back to 32 samples and replace Drift with Expressive Chords (so, no other devices loaded) and hold down a single note CPU spikes to 160+ and drops down to 8% over the course of about 5 seconds. At 64 samples it peaks at 75%, at 128 it's 35%. Melodic Steps is even worse and completely unusable at a buffer smaller than 128 samples.
So I'm curious if other folks with are experiencing M4L devices becoming unusable with small buffer sizes.
But I've just noticed something else that's fascinating: both Expressive Chords and Melodic Steps CPU usage drops dramatically when I open them in the Max editor, and become completely usable even at 32 samples! I can put a synth in the chain and use and interact with the devices in the editor just fine!
Is it me or is this a bug?
I've got a new (to me) MacBook M1 Max with 64GB ram, a fresh install of Sequoia and Live 12.3.2 and I've noticed that at least some Max4Live devices CPU usage increases dramatically as the buffer size is decreased, in a way that native devices do not.
For example, I can load an empty set, set the driver to CoreAudio with a 32 sample buffer, load the default Drift patch and set it to unison / 32 voices and hold down a 4 note chord (so effectively a 32 simultaneous voices) and the CPU hovers around 20%. At 64 sample buffer it's around 14%, at 128 it's around 12%.
If I set the buffer back to 32 samples and replace Drift with Expressive Chords (so, no other devices loaded) and hold down a single note CPU spikes to 160+ and drops down to 8% over the course of about 5 seconds. At 64 samples it peaks at 75%, at 128 it's 35%. Melodic Steps is even worse and completely unusable at a buffer smaller than 128 samples.
So I'm curious if other folks with are experiencing M4L devices becoming unusable with small buffer sizes.
But I've just noticed something else that's fascinating: both Expressive Chords and Melodic Steps CPU usage drops dramatically when I open them in the Max editor, and become completely usable even at 32 samples! I can put a synth in the chain and use and interact with the devices in the editor just fine!
Is it me or is this a bug?
Re: Max4Live CPU usage shenanigans
Ah I noticed that opening the editor introduces 2048 samples of latency this must account for the drop in CPU usage.
It's pretty surprising (and disappointing) that M4L MIDI effects that don't even process or generate sound would take up so much CPU as to be unusable at buffer sizes that native synths can handle 32 voices without breaking a sweat.
It's pretty surprising (and disappointing) that M4L MIDI effects that don't even process or generate sound would take up so much CPU as to be unusable at buffer sizes that native synths can handle 32 voices without breaking a sweat.
Re: Max4Live CPU usage shenanigans
Just for note, i did check Expressive Chords right now at Win10, incl with different setting (strum \ modulation etc), with playing pretty extensive midi clip. By itself (with no any instrument) it load about from zero to 1% cpu core. With instrument (Analog, init state) - 4%.
Win10 latest \ Ableton 12.3.2
Pretty not a new cpu intel i7-8700.
Large audio buffer though (1024), if this has matter.
Win10 latest \ Ableton 12.3.2
Pretty not a new cpu intel i7-8700.
Large audio buffer though (1024), if this has matter.
Re: Max4Live CPU usage shenanigans
Yeah it's at small buffers (64/32) that it becomes straight up unusable on a Macbook M1 Max, which just doesn't seem right for a device whose only inputs and outputs are MIDI data.
How does it look for you at those buffer sizes?
How does it look for you at those buffer sizes?
-
scheffkoch
- Posts: 598
- Joined: Thu Jan 08, 2015 12:37 pm
Re: Max4Live CPU usage shenanigans
…fwiw: i have a mbp m1pro and i have zero problems running my set at 64 samples buffer except when i use iftah‘s „sting2“ (midi note generator) m4l device…when i switch to 128 samples buffer everything is ok…i‘m on vacation right now but i‘ll do some testings with m4l devices when i‘m back home next week…
macbook pro m1pro, macos monterey, rme multiface via sonnet echo express se I, push 2, faderfox mx12, xone:k2
Re: Max4Live CPU usage shenanigans
The problem that i use pretty old (about 20 years) MAudio card (AP192) which driver does painfully by using low buffers. I gues it's not suppose for that by design. It's even does not have 32, 64 samples buffer is minimal here.
But ok as experiment for you i did check with 64.
In that condition Ableton 12 cause for me 4% of cpu usage already just with opened empty interface lol.
But, surprizingly, adding Expressive Chords (with no instrument) and plaiyng with this was not caused increasing cpu load at all, it was keeps the same 4%. Pretty fun.
(Although, that in principle match with behavior during big buffer)
Upd
Btw did check empty project (with 64 buffer) but in Ableton 11, it shows 2%. What initially upset, but then i did check old cpu test (8-track test) - and by compare both (11 vs 12) Lives shows the same usage, that somehow calmed down.
Re: Max4Live CPU usage shenanigans
> adding Expressive Chords (with no instrument) and plaiyng with this was not caused increasing cpu load at all
Interesting, thank you for taking a look. Did you specifically try holding down a note that triggers a chord? That's when my CPU goes haywire. I also wonder if your CPU meter is set to average or current ? When I set it to average the CPU increase barely registers, but I get dropouts if there's any instrument after it, and if I set the meter to current those dropouts correspond to the massive spikes.
Interesting, thank you for taking a look. Did you specifically try holding down a note that triggers a chord? That's when my CPU goes haywire. I also wonder if your CPU meter is set to average or current ? When I set it to average the CPU increase barely registers, but I get dropouts if there's any instrument after it, and if I set the meter to current those dropouts correspond to the massive spikes.
Re: Max4Live CPU usage shenanigans
Are you sure it's not because of synth presets with a high number of voices + long release setting?
Ableton Forum Moderator
Re: Max4Live CPU usage shenanigans
Certainly not, the meter indicates CPU spikes over 100% when Expressive Chords is the only device in the entire project. When I add any instrument after it I get clicks and dropouts, and when I remove EC and play the chord manually, playback is smooth and CPU is nominal.
I've filed a bug report, will report back.
I've filed a bug report, will report back.
Re: Max4Live CPU usage shenanigans
Ok let's better i make video tomorrow and you will see how it does, with cpu meter etc (perhaps i really doing not exactly what you mean, who know)ian_h wrote: ↑Sat Jan 03, 2026 2:08 pm> adding Expressive Chords (with no instrument) and plaiyng with this was not caused increasing cpu load at all
Interesting, thank you for taking a look. Did you specifically try holding down a note that triggers a chord? That's when my CPU goes haywire. I also wonder if your CPU meter is set to average or current ? When I set it to average the CPU increase barely registers, but I get dropouts if there's any instrument after it, and if I set the meter to current those dropouts correspond to the massive spikes.
Re: Max4Live CPU usage shenanigans
@ian_h
Update: oh wait. After switching cpu meter to "Current" (instead default "Average") a see that wild spikes too (exacty with 64 buffer).
Oh dmn.
That bad lol.
Ok as i said later i make video, perhaps it will be usefull.
Upd And btw even with my 1024 buffer but in "Current" meter mode it show me already not so little as before.
Whereas in idle state it still shows zero, but with playing Expressive Chords there is spikes up to 6% (again, with 1024 bufer).
Damn.
There is little hope - maybe something wrong with that meter ?
Update: oh wait. After switching cpu meter to "Current" (instead default "Average") a see that wild spikes too (exacty with 64 buffer).
Oh dmn.
That bad lol.
Ok as i said later i make video, perhaps it will be usefull.
Upd And btw even with my 1024 buffer but in "Current" meter mode it show me already not so little as before.
Whereas in idle state it still shows zero, but with playing Expressive Chords there is spikes up to 6% (again, with 1024 bufer).
Damn.
There is little hope - maybe something wrong with that meter ?
Re: Max4Live CPU usage shenanigans
Hi @ian_h ; @[jur]
Here Expressive Chords cpu usage demonstration with 1024 samples buffer
https://www.mediafire.com/file/sp3plqxc ... l.mp4/file
Here with 64 samples ("Current" mode\spikes you can see in the second half part of video)
https://www.mediafire.com/file/48496ged ... l.mp4/file
All demonstrated with both - Average and Current cpu meter mode.
Win10 \ Ableton 12.3.2 (m4l default \ internal)
Here Expressive Chords cpu usage demonstration with 1024 samples buffer
https://www.mediafire.com/file/sp3plqxc ... l.mp4/file
Here with 64 samples ("Current" mode\spikes you can see in the second half part of video)
https://www.mediafire.com/file/48496ged ... l.mp4/file
All demonstrated with both - Average and Current cpu meter mode.
Win10 \ Ableton 12.3.2 (m4l default \ internal)
Re: Max4Live CPU usage shenanigans
Ok, A bit strange behavior frankly to say. From one hand, we can't observe the same spike with any of core in OS cpu meter. From other hand - i tried couple other m4l midi devices but can''t reproduce the same spikes with them (with 64 buffer). However i'm incline to think we have some hungry (or poor optimized) midi device.
Re: Max4Live CPU usage shenanigans
I missed that bit of info, and I also only tested right now... which brings me to one question:
do you actually hear audio dropouts?
I can also see the spikes when I set Live's CPU meter to Current with a 32/64 buffer size BUT I'm not getting any audio dropout.
One advice: don't use the Current CPU meter mode unless you're trying to find out what's going wrong in a Set. It's mostly distracting imho, especially with Silicon machines. You can often think that things are not going good because of it while never experiencing any problem. Mine is always set to Average, and I'm never getting any bad surprises.
That being said, it was worth reporting as it's nonetheless surprising (but that might just be because the whole CPU measurement logic is more complex than what it seems).
Ableton Forum Moderator