Forums > MaxMSP

Huge comp overloads

April 7, 2009 | 4:15 am

I ran into this problem while recording, too. The only change I made in Max was that I added one more buffer~ holding a 3-second (or so) sample. I also have three other buffers, all holding 3-second stereo samples. I have 4 GB of RAM, and it gives me 92% CPU utilization. My I/O is 1024, Signal Vector 1024, sample rate 44.1 kHz. I have like seven patches open, all very small, and no other programs (except for Safari). There has to be some kind of take-out-the-trash function here that I’m missing, aside from restarting Max. My senior composition concert is this Thursday, so I’d really like to have the instability sorted out before then. I won’t even be starting up Logic during the performance, but as I can’t be sure that’s the case I should get this ironed out before hand. I can’t afford to restart Max and load up all 7-8 patches in the middle of the show, either. Any solutions? More questions?

MacBook Pro, OSX.5.6
2.4 GHz Intel Core 2 Duo
4 GB 667 MHz DDR2 SDRAM
Max 5.0.6

Update: I restarted and everything, and it’s doing it now WITHOUT Logic. A quick run-through of third-party objects used: lp.nn~ (Peter Elseas degrader), JC_Rev~ (Percolate’s Chowning Reverb–currently set to 0), three buffer~ objects, each with very small (< 1 MB) .aif files. I doubt that it's the reverb, because two of the groove~ objects are routed (using [send~]) to the same reverb patcher, and both have a considerable drag on the cpu. Aside from that, it's all gain~, send~/receive~, groove~, and plenty of ctlin objects. I'll post a reasonable example.

– Pasted Max Patch, click to expand. –

with this as the reverb unit:

– Pasted Max Patch, click to expand. –

Okay, thanks.


April 7, 2009 | 9:43 am
acsmith wrote on Tue, 07 April 2009 06:15
lp.nn~ (Peter Elseas degrader)

Right degrader, wrong Peter.

Elsea == LObjects
this one == Litter Power

In all of my tests with nn~, CPU usage is almost zero, no matter what the settings. It is a very light-weight object CPU-wise.

Reverb is often more CPU-intense, although I wouldn’t expect to see the CPU numbers you’re reporting on modern hardware. However, I’m afraid I don’t have any experience with the JC_rev~ object. What sort of performance do you get with the object on its own?

Sorry not to have more concrete help.


Edit: fixed stupid typo


April 7, 2009 | 1:09 pm

Last time I performed with Max/MSP/Jitter, I killed all unnecessary processes (daemons and the like), I killed the dashboard, and I turned off wifi since I didn’t need it. My patches made Apple’s CPU Activity Monitor reach 100%, but that wasn’t a problem. Generally with Max, what doesn’t crash in rehearsal doesn’t crash in concert. With Jitter (or Max scheduler sometimes), you may reach 100%, without that being a problem.
Jean-François.


April 7, 2009 | 5:44 pm

Peter: sorry about that, definitely just saw the "l…" and assumed it was Elseas. JC_Rev~ is pretty light-weight, which is why I use it. Plus, I’m used to the settings from working with ChucK–it’s a Brad Garton object from RTCMix, I believe, so the code has lived a long life. I use it mostly to smooth out the sound when I have a very percussive source, like a sampled fortissimo piano harmonic or a spiccatto violin close-mic’d. Good to hear about lp.nn~’s CPU usage, though, because it’s quickly becoming one of my favorite objects (I also posted the thread on distortion techniques a week or so ago).

Jean-François- I can’t figure out how to kill the dashboard. It’s not actually crashing, but it’s skipping badly. If I have a groove~ object playing but muted (using gain~ or *~ 0.) then does it still take up a significant chunk of CPU? It’s probably performance techniques more than programming techniques, because my programming is so simple that I’m not sure how I could screw it up.

One more question: Another patch I have uses a 16-filter fffb~ for subtractive spectral synthesis. This is often the straw that breaks the MacBook Pro. I use it in a totally different scene from the others (it’s an opera!) but I don’t want to be clicking around and opening patches while conducting. Is there some sort of STOPwindow function? Because then when it comes time for that scene, I only need that one window and another (multi-channel mixer) window. EDIT: I don’t actually have a [dac~] object in the offending patch, just a bunch of send~ and receive~ objects. Does that make startwindow stuff impossible?

Thanks again, everyone. Any other performance techniques you have, please send them along.

Also, I’m using a PreSonus FireStudio, in case that matters.


April 7, 2009 | 7:34 pm
Jean-Francois Charles wrote on Tue, 07 April 2009 06:09
Generally with Max, what doesn’t crash in rehearsal doesn’t crash in concert.

Smile

mz


April 8, 2009 | 2:08 am

Well, if you’re working on an opera, no, you don’t want to be conducting and opening patches and mixing the electronics at the same time. One option would be to have a sound engineer at the mixing console, and another musician-technician dealing with opening and closing the necessary patches.
You could also investigate the magic world of the [poly~] object, that enables you to mute audio processing potentially with no click. For instance, if you use fffb~ only in a scene, you could host this process inside a poly~ (1 voice), mute it, and un-mute it only when you use it. Reading your most recent post, I think this is what you would need.
By the way, to kill the Dashboard, I found a simple line to type in the shell, and my dashboard is de-activated. You will find examples on the web. I would have to make such a search if I wanted to re-activate it, but I just don’t use it at all.
Jean-François.


April 8, 2009 | 4:43 pm
Quote:
Generally with Max, what doesn’t crash in rehearsal doesn’t crash in concert.

I want a big poster of this for my office. Can we designate this Charles’ law?
–NW


April 8, 2009 | 9:12 pm

Excellent poly~ suggestion! I just had a flash of insight today, too–instead of opening eight different patchers, I’ll just create a master patcher with bpatcher. Hm, whooda thought. Also, I’m scrapping the reverb, because apparently playing in an ultra-live hall meant for choirs and solo voice performances gives enough reverb in itself. I’ll post some youtube videos of it later, just to brag. Thanks again.

-Andrew

p.s. It didn’t crash during the dress rehearsal, so cross your fingers.

p.p.s. If anyone has a screenshot of "fatal error" from Max or something, post it. It could be a Cycling ’74 meme.


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