Huge comp overloads
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
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.
----------begin_max5_patcher---------- 3080.3oc6ckzjihiE9bV+JH74rxParMGmy8o9ZGSjA1Voa5DCN.xrpY5nqe6 CnmvFLaBLVfqhHxvoEKl26SuUoGR+8WdZy1nuyS1X7uL9Cimd5u+xSOINT9A dR19oMG899t.uDwks4HOIw6.eyyv4R4eOUbbTwQB+3XzGoA7Tw0ikGENT5+8 DGdXa1X7ejm5snvzD++m3DX1KH4gO4kt6O8CO7ZLeWJbStnryZfsx+jRdw7Y CB9Ez4eH+8BJIZ6e8UpUIxwOrfZHkdjgdGEOxM+auj24we5GDv2je5+4KeI+ imuQ.AqA.wxQY.goM.Ij+srmXM7HgGjQ2FHCLwtYng1Fzr0K7vlmu7+w.Uz7 ylAOt4+yVfXDZKXEpQrBqOrZWZfengiSy3DoMbxOLMGdx+2nQHrKM+eljtPH BYYfPXBRqPDwBfESATY51IF4nML5sfnrmw.QhraxK8rVUufQLOgGl5k5GEVB PXlnK5Sv2qfGMfgXBHmY21sT5IUFvJCs1ZCZ+l2m72hhO9ilQWqdQ2N9RfeR ZUyY4h26hBhhgekFwjJhiBnDLlYJ9W9QNeaa+3s23wmghjfnuko0b1UUSB31 heQFp0eSE5dbar2wbB8slvSMJ3FCc3nUhKTGg7pizWRKJ9tydrGw7SAd63Fa 4Gh8B2GcD6v9Jigewy+sIGsZS1Dewx.1gVCwZ.kYNfvGt06oegOrybGnC3Zx VqNlvN1PjfB3lY1oiIq4148IiSIjWSh0ghqkTWUHZYZ2EvfGoakxOcdrDNj3 Q1s4Gv+jGmTUj8oMknQQ2kEDMAldV3ufFyP4CAQ6dmKHUTwA2yeaH+FQm3gW tdgcrJeT8J8CuVWq7y06ifzWatSn54eKyJTq2bGf4SaND6uOJLmTpb+4Gt3g lI1K357OuP8hqHz6TC2bZTTvVurGTh+1.dkdiL4XuP+ido7TefpHny2m+wSw BEyR+VURbtT+cEchJGuKcil0OdMYm2EHoUMkth.4LtztZSq1TP1WjobwWq4T KqoqnyZJPpnD0jhTUPrUEpqTpv1RuH.g6HyT9JFnYUq5pWp9qorRlBJZpnr0 qB2fT55PwSMkudT.6QIrWEw1TFaVg7J4lZJl0N+UJnfFUYrotFH5py1jZD3Y l.tdLK9rBlcsG5FdnMpNIN4tniG4.frYS4SIbVeowySDtHnjtgkqIwFi1oFB zJ34pNzg6D5PyLzUyleU69AmdIyh+wSuYbz6DLRYFYQsiPujqD7hA+6mL9Zl EHqtQeRen+4LPq2GzgclN6hjQd.CLx0tIp0I0s.tUCzTqQj1ROVUSR44I1is AAmIxNtytyjnOh2UfiE7hQctcOOI0O7rM8+3rhcCW6e5ueecCkBgG+8mhxzU RJFOfQIiNZVa.bF9dxZkNYFedIPgDuO46eM6wmIL9pWZZr+1ORgN5lBbHyS+ Vu.YzEmEn1LHWocdBUbP2q+WU732uFwED772tHhLggp9Q3Iucu2dHpjtBQsg bdGUbphglQX.Bis5KN0yY4Mx.U0CttTRAXHY.fMWSAXMEf0T.VSAXMEf0T.9 EJEfkRbxO+ya1Mqo.rXSA3j26Yw0j82HiR81CP00QwX+caM.UhlC8uVjEsGU Q67M1j1tawx7siRAl2nqvIfWuNZgwKbzNRfTCHHsBDHM.DcoDEyyhTduw4IE U+ZQXhP+wF0addSdBzWl8tZtoufwM4CqDRWy2E8Z2Qs31JynfAtx00nKq1cW 0ojwPo57gm3JxoYxtN6MmjsqhfMdQQ0XEoZmEEUSTEqsWVfsspzs4xhtMGfg johrkGrHV29hysnXS5N91tKMiVOXeE4Qm0wQeUKR2tI.DYJq5nsZopifRmPV 0QVnNq5Hq4opiXP4KyHPIMKGiJGygU2Qp7qrV4QOXUdz1YeZG.8FAFCuOBOP UdDCdGSXlvDETTygibZGT8WacZG94YZGFwXDidwfhWnCOL7BeXSK8BX02vCS n28gG94k0bDAicAFSWmingOGQxWoH5bOIQKxobfPenlxgVH20obXcJGVTUcj HdLp0OgUczrG9u.ZgWko9i9eoU0Qqg+uF9+Z3+qg+uF9+Z3+2qv+WLwH+7Ou Y1rF9+ZEG0Zvotl+xUwQP0uahVq3HXgs3mjBNZa7roDgIzRQFtVvQqEbzRup L90sHXdPq4n0xRasfilsBN5fWJWGEajbLUfhAmx5bsexTaqNVoQGNDLT9uxx eUKqrXvXfZKJQDBp3yNWxAgUGKxkq956Qg0bvlW.UwSY8o8dT7A+vSejNv0N rwtlnJKSMrKo+EEUFsQ9Gc+WbrjKKolkpQcLyZnKOV8+qrVlZONkol26yPVK VBsEFszpsbWIsfWLo9u3PRLrJixTDIQOBHIrrOxny5rRaIeSyadIbV8AmB+X M3TTfsQ1OBCN0zLPbpxq1yJu1u9BYdqhiRybT+5KjGiwgB+X9ZMobt53E03m MHxdAMFCHEoa6GywgBsnDRFDYuNjNK1gzQtIlHJ4lYXSLwAVD56OacBcYrAc vXZcYP2tKu4UvGr1vm4bCShJy+2o+MHHBZ120BzAhPfcvAUPDr91GGluMvE4 P.Zp992hDAsrF+92B17WfsFGLLjirAirL7Mfry9FyTFEt+GF7jc3W+LxeG+2 aF6QiXmbvEleCvHOt6MeokFL7aSFL.qOKTBLL.3t2QKlaXHSQZODvyfrrqld WSSEFnAI78aQ6BZrzWDRG77C+w.MAk3eHzKnVnPsXqAleKSvYukbpN5YNwfc YmB0olto9M2vZIngELHQQi.jfU2fQBRT2ICjZyXSJOlGsOeydZOe7fn7aiY6 GBA5Z1vhvLsy8eHbyBMzGTu+MrMVUx7iY2q8GrYOMjjTu3zfnnSZZeACV2jM KstnzylBFFlvM3yltEEhJhN641jivYd6Mx+elwJd7Isru0ggfIk6SrPLCslu CVinTFB7iAx+UeuBaz8ubQfmJT.kY50hpmyjUNG2YlApw7tYF66csoj4ZXnb 338l3JXbXqVsaWI5KOx6V0LAyUKr.Je9ytiIAc4MOdb0xzcuTlNDGE8I+GW1 iNICbvRqETxy2t.E7pD2SFSTsEaRe6cmm3wuwEihJ+0bbTi6cmNkFgYrbKOt GuzfIWZG2iBAJSm6stSXCysjbaScBFeE2l778KlR.eYTY3jNclZ6MaUT7qVc JoAT8548Rhs0eUHrJOOVsLYWrJWSs44p443pVGspjj3kED2CIcEcqEZpOXhN PbJy.mYQ5GzKYhPOuMJXKt.QVr2F0iUf5uhEWDHJlNFD0EVPJp8obj3LKMYB 2DKbU+8jn6.c4PDk.UW96lxpFCUqAE7YhbE2N814MjBJgXGsJxPQpnDpYwXh JzDRuzjiJzj6vnIhMVHZgjKjNv3sUsEVt79iDWYdqakSrUfSL0J3ZohcKxPA WrPu0Rlpf8k4sqXApU9IsVCLBBnCBctZKpibsOB0PKaHgMGpnyx17l6rvpH1 MP21lBygL38OkgO23FIU18v2CX6UZUFRGtRC4vD.ten2tWckjDqVLaSfjH0s NKAMfnWxewykQ0nE9iNw7GCUpWhgtcsBUbjxFnCBBwALFKv+h4KobCXnsKLE m2ZJ3io1oxsFPf68.aMMALiUAAYZwnid8kQoSuE6aUoWEc9AFSszugbIYyoV CKnNNvEe+VQUUhbtpUg6dGsJnpdCR0TEyI5UaPAJxdnwDHDvjuFiD3U98pVP ryDFbkX8H+MvD2vPbXXhaYZkb6wvfwSuXfLBDW49MkSQiakTo2CRkbIZjhvn J2XxYB1zyDfgSG2RTpyDHYPTjRGfUThS4f+f7mpzfTNd8JMjcDfdvTzQnp8O xfYOLBHeX9Hq1xUNMTVSEa3phmEhdG9CUhTEOvHsnD1kAlSFcckFPF2DXdUp zPVdaRYOckWzTOBDXyRbA1TObAAcW3BYm4DvETkj+GnSgRIscdPfqz.Fms7h 3ZhFmMlJpLjwwFVkFA9pM.dhX6LU4nRLUMNWh9rFohGWx.sFgcEFvILvNCjF in0sJHnTxK1Z0dNSI6c5MMUrkp8pCI7DbkdUFcp5Uw12Cp0VRef6MlUAQWt0 TyIDkvcMOe0p3C3VFXrrF+yW9+.96.zC -----------end_max5_patcher-----------
with this as the reverb unit:
----------begin_max5_patcher---------- 725.3oc4X9zaaBCFF+L4SABsicUXaL+YG2tM0cIZ2pppnfap6.STvIKaUse1 G7ZRBzPRHAh6jxER7Kl3mmeg73WxKiLrdHaIK2x7Kl2ZZX7xHCCnTYAipwFV ogKiRBygoYIX+N6gmstRcJIaoDJmyDwuYxxiP2uHiGwlwVLd0jDySylKSXR3 Svtp5iYBYN+urxZHmqWUdZnL5ItXx8yXQRkvvH2hSahvH3EhW4KXx01l2UcQ 7XPDEB6yX6ZKKWrZUQ0VUQXJrpVeML+WrYK3IILqxS+5nQkGtZvQwMCEJPJD fsUjftORfBzFIhxRSYB4Vn3G7kmlymwJnnLTxyD0cuK3aG3.YKu21sNTXxH5 ttjZKTc3TGide3Xb7OcsGTNdrXDY2eL5pML9XRVwZzNvvUUUkj+YJS4vxKJr f7lVODJlXs1YGKXCVSVpcmtA0lrgrscIcfrNW.jkRORvhbB5MXIZCror77vI rs9keJeooi4mPsibztP9go71.inhJ8AfoBZK2vsscV7akKXMxkh.QsREpObD uOpDnMpriFO992JD9h2NRpjymHBSNE1T0WV.PEZvd6E4CuqrBYy3KX0aLart IEU0GKgrWTgtjRcpho8cNbpi2kSpSEUndGN0gdok5ndDn.zgCcH+Gl4bil4j puIDAs2HmdCJ3S0JgKd+el.Hrx5MoWd17YQq73pMHL2HtXVtjKV2b1sad19Z S5IdbLST+wfR4wSy3BYkHLuq0uK6plHcPRkOjsFkT4lCGVS5EScQRDspH5vq HTQGfzh8oT6PAIxMdOryN1Flia4ux5kA7NaF.YC6o3CptwfA1B9mgaTItDkG ftww9dJSTej5HFSAa30aaDb9rguJSFqzciACrIPcIIip2PitHofS5VbGnWxJ HWNnuR0oCR063jJFgA0o96bUJtw.U3RsTGcXB+SyDJdSA42XfOo12D9j2Yhh AuN5eDwLpRH -----------end_max5_patcher-----------
|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
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.
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.
|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.|
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.
|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?
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.
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.