Forums > MaxMSP

metro falls behind with certain DSP settings

April 2, 2009 | 7:59 pm

Hi,

Whenever I set the Signal Vector Size > 64 and turn on DSP, [metro 1] does not generate bangs at 1ms interval. Instead, the bigger the vector size, the greater the interval. Turning off
"In Audio Interrupt" and "Scheduler in Overdrive" doesn’t help.
Please let me know if you can reproduce the problem on your machine and if you discover a workaround. Thanks.

Here’s a patch demonstrating the problem:

– Pasted Max Patch, click to expand. –

Here’s my setup:

Intel Mac
MaxMSP 5.0.6

My Scheduler and Audio Settings:

I/O Vector Size = 128
Signal Vector Size = 128
Enable Refresh = on
Event Interval = 3
Overdrive = on
Poll Throttle = 30
Queue Throttle = 15
Refresh Rate = 40 Hz
Scheduler Interval = 1 ms
Scheduler Slop = 2 ms


April 3, 2009 | 12:54 pm

I would be disinclined to program anything expecting bangs at millisecond intervals (or expecting ms accuracy) in Max. I would keep everything in the MSP domain.

When Max was invented, the smallest metro interval was something like 20ms. Our hardware is many times faster nowadays, by factors >100x. And metro will bang faster than in 1987. But still, my gut feeling is that a [metro 1] is pushing your luck.


April 3, 2009 | 1:21 pm

The two numbers stay the same here. At least for a couple of minutes, if that’s sufficient for what you meant?

Intel Mac, maxmsp 5.06

I/O Vector Size = 128
Signal Vector Size = 128
Enable Refresh = on
Event Interval = 2
Overdrive = on
Poll Throttle = 20
Queue Throttle = 10
Refresh Rate = 40 Hz
Scheduler Interval = 1 ms
Scheduler Slop = 25 ms


April 3, 2009 | 4:02 pm

Works fine on my PowerBook G4 for 2 minutes.
But it may depends on what you are doing on your computer and/or with Max at the same time.
Maybe (just a guess) if Max is busy doing other things, opening another patch, etc, maybe either the metro is slowed down and/or counter misses some counts.

My settings (watch the vector size I used!)
MaxMSP 5.0.6

I/O Vector Size = 2048
Signal Vector Size = 2048
Enable Refresh = on
Event Interval = 2
Overdrive = on
Poll Throttle = 20
Queue Throttle = 10
Refresh Rate = 33.33 Hz
Scheduler Interval = 1 ms
Scheduler Slop = 25 ms

But another side of the question is why do you need this? It’s pretty sure that implementing in audio domain would be more efficient CPU-wise.
Jean-François.


April 3, 2009 | 10:02 pm

Thanks for the feedback, everyone. I’m surprised at your results.
For me, the discrepancy between the two elapsed times happens
right away (don’t have to wait long).

Using 1ms clock in Max may not be the best idea and I already have an audio based workaround. I was hoping for a simple fix like a change in a MaxMSP setting. That way, I wouldn’t have to update some of my patches and externals. BTW, my externals that use Max clocks are affected as well.

Anyways, thanks for the help.

Davis


April 3, 2009 | 10:40 pm

Hold on! Setting Scheduler Slop = 25ms like you guys fixed the problem. Awesome Smile

Thanks guys, you saved me a bunch of time.

Davis


Viewing 6 posts - 1 through 6 (of 6 total)