< Back to IRCAM Forum

Crashing and memory overload with spat5.trajectories / spat5.viewer

Hello,

I am working with spat5.trajectories, spat5.transform, and spat5.viewer.embedded and am seeing intermittent issues with crashing as well as application memory overloads.

Here are steps to reproduce the memory issue:

  • Load the attached patch, which includes this patch inside of bpatcher within the parent patch.
  • Open Activity Monitor on Mac and go to the memory tab. Note the memory being used by Max.
  • From the parent patch, click the live.toggle to start the trajectory. Check the Activity Monitor - the memory for Max should change only slightly
  • Open the bpatcher. Check the Activity Monitor - Max’s memory use will fill until the OS shows a warning

2024-08-11_viewer_memory-issue.maxpat (33.1 KB)

Here is a video documenting this process: https://www.youtube.com/watch?v=T-YTWBSRCkY.

For the crashing, I’m not able to provide specific reproducable steps - the issue is intermittent but frequent enough to be a problem. I have attached a crash report
crashreport.rtf (169.8 KB). I’m not an expert at reading these, but it seems to suggests that the problem is related to TrajectoriesProcessor.

My Spat 5 package info:

{
	"name" : "spat5",
	"description" : "software suite for real-time sound spatialization and artificial reverberation",
	"author" : "Ircam Centre Pompidou",
	"tags" : [ "sound spatialization", "reverberation" ],
	"homepatcher" : "",
	"max_version_max" : "none",
	"max_version_min" : "8.0.0",
	"os" : 	{
		"macintosh" : 		{
			"platform" : [ "x64", "arm64" ],
			"min_version" : "10.11.x"
		}
,
		"windows" : 		{
			"platform" : [ "x64" ],
			"min_version" : "10"
		}

	}
,
	"version" : "5.3.3",
	"website" : "https://forum.ircam.fr/projects/detail/spat/"
}

Max Support Information

{
	"version" : "Version 8.6.4 (0112d5ff36b) (arm64 mac)",
	"platform" : "mac",
	"arch" : "arm64",
	"osversion" : "Mac OS X Version 13.6.7 (Build 22G720) arm64",
	"samplerate" : 88200,
	"iovs" : 512,
	"sigvs" : 64,
	"scheduler_in_audio_interrupt" : "on",
	"audio_drivername" : "Core Audio",
	"audio_driver_subname" : "",
	"license" : "permanent full",
	"machine_id" : "33b2d95acdfa379d0292a15379e68b8a",
	"addons" : 	{
		"rnbo_v1" : "full license"
	}
,
	"eventinterval" : 2,
	"schedinterval" : 1.0,
	"overdrive" : "on",
	"pollthrottle" : 40,
	"queuethrottle" : 100,
	"sysqelemthrottle" : 1000,
	"refreshrate" : 30.0,
	"schedslop" : 25.0,
	"eventprobing" : 1,
	"mixerparallel" : "off",
	"mixercrossfade" : 0,
	"mixerlatency" : 30.0,
	"mixerramptime" : 10.0,
	"videoengine" : "avf",
	"gfxengine" : "glcore",
	"packages" : 	{
		"AHarker Externals" : "1.0.0",
		"AudioMix" : "1.0.3",
		"BEAP" : "1.0.4",
		"bl" : "1.0.0",
		"CNMAT Externals" : "1.0.5",
		"cv" : "",
		"Dots" : "",
		"ease" : "1.2.3",
		"FluidCorpusManipulation" : "1.0.7",
		"gen-filters" : "1.0.0",
		"gen-rack" : "",
		"gl3" : "0.3.3",
		"go" : "1.0.0",
		"hap" : "1.0.6",
		"jit.mo" : "1.1.6",
		"Jitter Tools" : "1.0.10",
		"JSUI Analog Knob" : "0.0.0",
		"Learn Max" : "0.1.0",
		"link" : "1.5.5",
		"Max for Live" : "1.0.9",
		"max-mxj" : "8.2.0",
		"maxdevtools" : "",
		"maxforlive-elements" : "1.0.12",
		"Meristream" : "",
		"Mira" : "1.2.2",
		"ml.star" : "1.3.0",
		"Node for Max" : "2.1.3",
		"odot" : "1.3.6",
		"pdm" : "0.0.0",
		"philip-meyer-max-tutorials" : "",
		"Rhythm and Time Toolkit" : "1.0.0",
		"RNBO" : "1.2.6",
		"seq-dev" : "",
		"spat5" : "5.3.3",
		"Syphon" : "1.0.9",
		"th.scala" : "",
		"VIDDLL" : "1.2.8",
		"Vizzie" : "2.2.2"
	}

}

Hello Philip,

Thanks for the quite detailed report. Thanks to this, I have found and (hopefully) fixed a serious memory leak in spat5.viewer.embedded. The error in the code was relatively subtle, but the consequences were quite dramatic, as you noticed.

As for the crashing, my guess is that it was an aftermath of the memory leak.

Please find below a beta build (for macOS) including the bug fix. Please give it a try and let me know how it goes.

Thanks again for your contribution.
T.

https://filesender.renater.fr/?s=download&token=e5b0c62f-ee93-46e4-ae75-6304840f6525

Thank you Thibaut! I will install the beta package and let you know how it goes.

Hi Thibaut,

I installed the beta and have not reproduced the memory leak but have been experiencing crashing. I’ve attached a crash report. Like before, it is sporadic, but seems to occur when I am sending streams of trajectory messages for multiple sources. Please let me know if there is any additional information you would like for me to provide.

crashreport_2024-08-14.txt (251.6 KB)

{
	"version" : "Version 8.6.4 (0112d5ff36b) (arm64 mac)",
	"platform" : "mac",
	"arch" : "arm64",
	"osversion" : "Mac OS X Version 13.6.7 (Build 22G720) arm64",
	"samplerate" : 88200,
	"iovs" : 512,
	"sigvs" : 64,
	"scheduler_in_audio_interrupt" : "on",
	"audio_drivername" : "Core Audio",
	"audio_driver_subname" : "",
	"license" : "permanent full",
	"machine_id" : "33b2d95acdfa379d0292a15379e68b8a",
	"addons" : 	{
		"rnbo_v1" : "full license"
	}
,
	"eventinterval" : 2,
	"schedinterval" : 1.0,
	"overdrive" : "on",
	"pollthrottle" : 40,
	"queuethrottle" : 100,
	"sysqelemthrottle" : 1000,
	"refreshrate" : 30.0,
	"schedslop" : 25.0,
	"eventprobing" : 1,
	"mixerparallel" : "off",
	"mixercrossfade" : 0,
	"mixerlatency" : 30.0,
	"mixerramptime" : 10.0,
	"videoengine" : "avf",
	"gfxengine" : "glcore",
	"packages" : 	{
		"AHarker Externals" : "1.0.0",
		"AudioMix" : "1.0.3",
		"BEAP" : "1.0.4",
		"bl" : "1.0.0",
		"CNMAT Externals" : "1.0.5",
		"cv" : "",
		"Dots" : "",
		"ease" : "1.2.3",
		"FluidCorpusManipulation" : "1.0.7",
		"gen-filters" : "1.0.0",
		"gen-rack" : "",
		"gl3" : "0.3.3",
		"go" : "1.0.0",
		"hap" : "1.0.6",
		"jit.mo" : "1.1.6",
		"Jitter Tools" : "1.0.10",
		"JSUI Analog Knob" : "0.0.0",
		"Learn Max" : "0.1.0",
		"link" : "1.5.5",
		"Max for Live" : "1.0.9",
		"max-mxj" : "8.2.0",
		"maxdevtools" : "",
		"maxforlive-elements" : "1.0.12",
		"Meristream" : "",
		"Mira" : "1.2.2",
		"ml.star" : "1.3.0",
		"Node for Max" : "2.1.3",
		"odot" : "1.3.6",
		"pdm" : "0.0.0",
		"philip-meyer-max-tutorials" : "",
		"Rhythm and Time Toolkit" : "1.0.0",
		"RNBO" : "1.2.6",
		"seq-dev" : "",
		"spat5" : "5.3.4",
		"Syphon" : "1.0.9",
		"th.scala" : "",
		"VIDDLL" : "1.2.8",
		"Vizzie" : "2.2.2"
	}

}

Hi Philip,

At the moment, I cannot reproduce the crash.
Could you please send the more complete patcher where it occurs (you sent me “2024-08-11_viewer_memory-issue.maxpat”, but the crash seems to happen in more complex context) ?

And any other hint to reproduce (e.g. how many sources/trajectories are you using ?)

Thanks in advance,
T.

Hi Thibaut,

Noted! I will work on building a patch that is able to reproduce the issue and get back to you.

Some quick notes on the patch I was using:

I had 8 instances of spat5.trajectories and two instances of spat5.viewer.embedded. The first viewer was used to allow the user to manually position sound objects for each of the 8 sources. The output of this viewer was added to the output of spat5.trajectories, and the result was passed to the second viewer instance (with /source/*/editable 0 and source/*/history/visible 1) to visualize the actual position of the sources with history. The crash always occurred when starting to send trajectories from a new trajectories instance.

Hi both,

Philip did you ever find a resolution to this? I’m having a very similar issue. I have an abstraction I’m using to move 10 sources in spat5 with spat5.random.poly. When I turn one on it works fine; two work okay; by three there’s a considerable lag; and four makes the patch completely freeze up (though not crash).

It’s part of a somewhat substantial installation patch so I’m not sure that I can share the whole thing, but I wanted to see if there was a simple/direct fix. I’ve just updated to the latest release and the CPU monitor doesn’t show excessive throttling, but the patch becomes unusable.

James

Hi James,

“there’s a considerable lag” : is that a graphical lag ? or is there any audible audio issues ?

I suspect the issue is due to the amount of control messages being sent. I’d recommend reducing this by increasing the “grain” parameter in spat5.random.poly, and/or inserting a “spat5.osc.speedlim” (e.g., after the spat5.random.poly abstraction).

Nevertheless, if you could send (me) the patch (or only the relevant parts of it), I’ll have a closer look at it.

Hope this helps,
T.

Hi Thibaut,

Thanks so much for the reply. I did manage to find a solution, but it was unexpected so I’d love to hear if you can replicate it with these patches.

To answer your question, the issue was primarily a graphical lag. The audio seemed to be playing fine, but since it is prototyping for an installation it was tough to tell whether the movements themselves were getting choppy. Amidst the graphic lag, a simple move like turning off one of the source movements also took between 5 – 10 seconds.

The solution was deleting the monitoring textbox in the [pan2matrix~] subpatcher; doing that completely freed-up the graphical lags and it’s performing fine now. I did just download the newest version of spat5 yesterday and can’t find that subpatcher anywhere, so perhaps that logic has been replaced by something like spat5.matrix~ and I missed that? If you have a suggestion for performance improvements with one of the newer objects I’d be happy to take it!

Here’s the abstraction [JM-spatmovement ##] which just takes an argument for the source number (for my installation purposes I start at 29 and go up).


----------begin_max5_patcher----------
1128.3ocuXsrrhhCFds9TjhdVZijDtnyho5c8CwTScJ.SioafXEh15oq9cex
E3n1GvSDhtAI+DyW99um7q4y7xXGIMdf+F7ufYy907YyzhTBl0NdlWU5w7xz
F8z7X6EkDg2Bymp2WQqki0eC1JbWpHeKst3ENIWXV6HbjevBPXbr5GbP2Sv+
cdgLqrdkBZkR2XvL66eNrCxbVUEoVutdcxn0aH5McfZ7umOW8XgkLRSfdITv
vDBuBo3.bkU7oSyXDINsiXVEOu29CWPUzCip0jeJAnaoDjil090R+BNa+N.p
W0.5F10jDsZHRqAhgpmHzf5Azf5gECnKhi7bGOKYoapHMMfk7TAArJJH.rrf
mRqkFOvxlJFSrErV9J6aeqgHVdDb98SW79qp2axSKkZC4jP9mGcBf8gmGJmo
e29PJfjy1aLnn6MBpUSGX73vg5ehbjKWjKUy+yEb1VGoPsCDzje.s1O5l9QC
RNpR41G+PNje4aSqKH2aJPbflaIZhFt5ChTv2JRQwxECS1vUNNlISx26ktvP
TGEW.h9H5NnAUCcujLwgj7y.3560iskfF6o68XCicH+9DbjluvIFO1O0FUxF
AqnnbrQcg5zkn2d5LqzaskrKkmVQDD9Kj5zrRxXKQqpOkdN6xalPYYGveAGY
ZUSaJgvwFE1O2gtLmJqJSVdDTw1rujHKu9hjveUUY9KBNsnfva.8yd7Gw90F
qNB67lSvgNTCH21D5g61Au0B2Ftl3TKLFOF9MtSHfiRl3IDvOt9lGWtmHS.G
Lb8iI4CJw0IeFx0TtkH6jSRFWd2AgsYfW219ZvTZ7YvHQjK6eU.nfr61+0D6
AQPqpXhtkwdwM56AMpXxgppvUIaW1v1yyIKgin.SaXKJQmcc8Jml+ANpdfxz
aSBuiJGnjedf1PynkTwoq1E5SyY1AZ+xKy2Txx+AYyFdZQSNmUVdYVm7RZ9O
DakwEEauTtI5a66+ClOb38evfRC8UxkRyJj0AuVBiuQRoKjbuYgVosP31QvI
YipkYaLckHALxmmVugU4uiUdxWZJjx75wXNJG2r8BAqdjESlbl2AiBSdVs80
EahVa+sHbqv0j1SkouNNys13tKQ3AzOXG+AeZrolZc7gvD22+mCIrIRh0j6y
I6JSyIizmGCCMEZwOjBsW0yudBZGx+3Jj0aOk7q0CFaYKLsgQfy6uMjFAsNU
PkA7mmC1Lmd0z1hSbjE.AcARQ1fT21YZHgr.I04SmLRgqr.IjK3TnMNDgNAo
Xab8TZO3TQxFOhtsyzPJzFjt1X9VaEvm.z8ibvzPFZigzEg1Xq3HzEHgs.ot
3+ogjM.YBBbqYyFfgwOBWUTxypV.xlH+tsyzQB9QH4DNgs.oDWAzyQ48rpiB
soliKxe.wOKfrI266ySY5aLc2tCDdS6r0XH6T96LcL9pE5gzZyvX8PNQcNdy
7izRR4x1fExdf2yMGH8Xr4F48TGflWum1lvPxt4pysK6BWc3UY21FhnaVe9u
m++.uXGow
-----------end_max5_patcher-----------

Here’s the test patch (which is a subpatcher in a larger patch I can’t share). You should be able to test with just the toggles over the [JM-spatmovement] abstractions.


----------begin_max5_patcher----------
10190.3oc68r1aiiijetmeEBF6mNj3lr36CXAlawAr.GtE3.tOben2AMbRTR
7LN1A9QO8rK1429wWxVRVxlVhj1yLciFIQxxpXUrX8hUU7e9ceXxCq9Z4lIE
+6Eep3Ce3e9ce3C1aYtwG7W+gIuM6qOtX1F6iMY9xEkambm6SVt6M601OB4u
46y193qyW9xmWW93V2qFiTSELh.TLIVR.ojeWAeJ5tBBp5mE+vgW5pcaqdqX
+cc2Z6u7do6UNYx9uv7mrirUO7i2iAR0X6wUu8V4R6.XR08lu7oRKxgLW+u9
tuy7i6BDy2t5kWVT1IpiuPTmnlRL+iR.tfRQx6J.pgPX94kRHlaPxNoEvj8i
q0ydqba45OWtb1CKJyLI.yPSwbNWx4LJRgjR7cELMgAkD7FKuMvakzxbmPDU
cafnBkHmyu.5VlulxHoZ5lcSwWmPDkeCyWmPzVbKyWSTzTg2vMEecBQTxMLe
cBQa5MMeMIU5oPjaK95zgnzaY95zg12H5iwHGxQk3zfojnav0xxeV+hqdqaK
+pyOs+q+18azH3aq9Row2sBJZnzBF1xyi8DCnWhAzq+k2cBBBYR9mcAVhlco
WoYWhZvzBFMgytZttrO6R37zL6RwWqYW4foEJVJmcoWgYWbhjLSYWqYWwfoE
zTJYlpx2rqjkV0tv0SxLefzhzp1EHr7O6lJ0t.geslcYCkVjT0tfVlRtmcSl
ZWfHuVytzgRKRpZWfjeIyISsKPuVdDQHCkVjT0tf1LyrM6xE3NBKa5zBCWq4
ZHJTlTqSlbsm4SmF5q1pbbbnLIVe80dMe5zdCWMs2n3PYRqtbPcsm4Sllc3Z
YUNnhCkIs54gAE8jdHAaec8tgfzFGMYtk9pyfkWV5CQgHhclYW1zUadb56qK
eub4SEebypcqer7imIvmOuZ41kZVO6a4+X87YKlbhvpvnXaxDITflSfxApd1
GgoS0bFbEWg3HoRHI56524Z7v3I5jho1GGHyndy7+g8aXVclCB4Y1efXPHIR
GgTvALgxXPhnixqIc7LQya7zQkVSskLxnBFSyMZR4sjPGUWU5nL0zQExutFq
k2qk0SYogNhQnqJgjkZBIVXuGGoUnnTBjHUzQ7UkNxSMczeONlHE.CjoZgMF
AWUBIIhDRBWXsQKeZoYWUZGMEztboXleUIc33S5xmtXxUkzAIfzkK0uJ50jz
ApnR5rraZMrDEmgD.mjO0upLnzXwpYO8V4lMEWbn4wZz2fxBk9W5+ADA.bpT
KQSeSTTcsUgyhqsPLM3PKb2tbSvYZY7HLn4RXbpkVg4ZSMXHkDRDqi7p5YKD
SOIjblkNJwFCzTXJAmSB4U00VfkZFRhyHNIvQHkfgHohNdUcsEDImgLWDR0U
00VHA1kju0xWUGIfX5HAivrzLDCoMBQoocYUnXFbq3sGm93p2dX9xxesn6Uu
hSjK8zoP6xVkI.G0QfnbEHoH8MUC1Nk21sX67Gec1xkkK1L+kk54qNIUwbKG
1arFbwIAEVx3ViVoBElyQZ+lLNNIT1MgQaJGmS4LASoscSDUa2D7gPALn4rW
JOhD7wM50Uydp3O0sukvkRA.tqpK3ZtDERn0Jpo.bVTo.7AsgiKl+kxoOUSN
vWlsdu.h8e3mv+PbXEzlDLUpuIH097.Zi5QvcETeNhdVYGOu5wcadX05mJW+
3pEqV6fjcwk9GX8aSZ+KgzpsrdEy2oXmm0r5cuIdhSlVoUn8lYeo7oOOa610
yeX21xC+0FOE2Sx6dj+gZOvGlT9UMK2lMyWszUN9t6qmH8uguLawtxUOe7W7
v.bwpkuzwbGmWM403oeSyGXQFjg.1wmu5I8+Kq01BZ7wadc05CpRbqW5BLUj
7tdG6VNe6ls+hinxpv3u6vuRt1xXt4XcxvSD7oTk4eRIRqBUfSixR9UMPRXU
xoiTuDTFWP.FSknXYxupdhgi5liQHNOwvbh1JEDQYniRzzDEPN9UcabvhjS5
xEK3UcWbv7366UBY5Xrr3jfFmJ0JT+0BCga57kuua6TJp36Mlluo.GkNdiT3
2pKPnY5zFJSMFLgHI12AJeRxIUDUjIUL+lL.Hs5BjTgwYgTIRgaV3gFSbJw5
AQjiBNfTStQh7uKBXBhPnnRgI3C.l4jAiEDEgpHbVBH.xjLMe4EpsIss4138
QwLDWuB3Ni4QNOnzKJvRLU6MczclFSSR7DXnKlDXB1jiBvYDpThsgNPR86Ej
d5GAHgYiskjnRBXC1YZMTMOUetS693Ow9g3rdP66r08BlhxkF1DlImusa+Oa
XpY62oX.Aw0q3.7oct1EQiQF1wG4.F00Cc7X4LtG2dtX39+d7L+vbBFMdmfq
ZpesWFZFckqKV8bwiZKkryHZFLsV5xY+T45MEwbOfzbkVO3zKWkLLRPACqJ1
I3RqzVeGJ2DCLrzkixjd4UqZYhOr6gV7YFLqiv.4+QciLavC2qixWL6qaH84
GdIrP5r80x2JsO5T6e94Ve+1Q7w+wFZw7kkiCFMdIsATCBYnudCG+msbRqV7
4meYx3Yb6MXrKKm+xqOrRyiNf3w1oTytBGqu33hmUDzDqBg7CC0vQoyvwTom
.K+8odBx2zSDe8DV1QvxHlacAZ2I+ltf+XoKvI9iYcWJxB7wxgKvWuPbWuh6
Me3mTWtvds2wVzDjGhRvID1SNYr2Ni.eV1E3qIJu4Gfqda4by.b1+X9aleWt
n7Kle+UyO9EyO9Gle7zbCwQy9VK5NmQvukze5sOiGEUB0X.5Tg.jvkTt8t6i
lQ7PVTUwlwjtz+MxKph695+llaaHHoOP1djjwhLRJtQRdAJvqgl7XilxTlgB
v.jP5QWjKADt8RCArT86m7P.D+QIODr3rc8Xerrt57ulV8YZMSeo7gWVsrAK
kRyLYYiHBfQUFlIrBvLtjCBpI6657Vs1gsiWMbXCazbIArCdRhawgKR6nXVz
ZJTHr3lArmkr9PNbN+NHvQmwulMI5mFavY8ugPs1vsJQ9sr0ouxUBkfxUhhm
xnTAEnblV1M.7DUblpXldDWPXhfAGlHpq2wjrvDI98YXhfuElnjDlHJmbcBS
j3agI5OhgIhJkoHLQhTFlH4fCSDkoRdXhD+dNLQruEln.BSDUpRQXhD2TgIx
ijwNLQharvD4QyXGlHQJCSjZvQIxmsc2hQIR76nnDw9VPhZEjH4uUBRD0IIH
EAIR9sfD0oTruEin1UzUB5FPYqp6wxqZIz.jjW634hRRhYYb0WHPdd9lWea1
xh0q18xqEFACGN1mctNuyc3JCWnIGTrKjaDxTS1cWc1zc1.dTO8yhb8P63P7
A8gpGNezGomp6goGt2lONq7oh60iXPw.stmBxTJBILFIRPbh6NHAhnzOkZpf
qXl6oMgTnMLp3diwjLL1cOr8kPjSk9GCOUpeNbAClBBk6g.NQHJtWRmR4D68
P5ODn7BoP+gfn5VTy27dLAMUf7.kx.83.qAJkCdXp.kpP6VwTAg6eJyWSPlh
wB2MjBgBqmjXl+pZ3KAl9Vpo.y+lzOiohU1St9293W1YkU9wuLeybsBLMiPw
GeY8buqUONasVwz7YKuq3gYKeIb9oSXvNiJ22viM+iXZrYRgRXh0M04xOgEq
DejEUNu2msboFa9nArE+zxkWpyJ7pCRbAixHJsOKZQNZyfbxgDZFAEHQt9Xa
bS.zA0z+6SVylskZNf0aMUPexD3nEzLX4MPLwVyxAC9ceMD7BwEJqFtbBiQQ
ccZrlPYmDYGxNgijcZNEVUBJ1IpToLhZzKQUJmjL5TAUVnDSMU+lWPCnk9nW
NSlJwP0yvnfQpkZpx8pzB.HXLUeO8ygXT+yQJtW+tzxY8RSkDoReOBeJCbRI
0OjjXDApWNokwQKzNEa9EcJlP0vUazuArfdHx4XysUXhQ5noETxL2WZdkzo.
Baj5ajQpPbyqAqnlOPaF.RcsETpMBocxhKTVFIL1eHwDK4j33V1k6V99rG+o
es.ewmHJlzewhzLIhinLFAb6KJ5n8EUSdDLd0+0ZRImVfYuFt4Kxx6x5e04r
.aRZ5lP8MO.WXotpPLeafjnWyZp3USYmqsilkzRcUkghBVF4hBF7MsUsNcBv
HXAMGEELlSy.sRDYZEBbzJDSaGnVQiwQrbPqXYfVwiKsRHbsQYoRJz9On0Kq
xCsJGElOKxzJl2AeElosPgo3PdnUhLPqnQlVQbMw.ojRAff.fkGZkLCzJRjo
UnJG1DfwtXssY4gVkC8fPboUbI3oUHLVfkhLwVAYfTgiLoh4EsyAEmxIHqAs
YfVQx.sJxsmFdUraY5ap80DxEeEJ8zJHx8mFN1KZmJ4LES6ZqLOzpX5T46Et
HWfuGSmNa21UuM682Ws4hagGXeGQkAZaMkZm9sMC.hqBrAlfH0N1XalVtvTF
uNhIpwFTTt9n84d9hxuTttZ67pxxyIZ7r1satQduM6GcaLnb+1eooCtacHIe
VWZBZg66y1e2Yq0DmsZJyt0tcQ4qb5gcXyDUi0K2M2NTZuwh1YKytun4Zez8
kqkbnSp4MOQ5RZWWI731LVprV.vzrCurX0i+T4S02EuIqdubod0fInhK2Naq
evu+iep74YZtvO2X+Tfoc94O6Ghc9gctERevFxuUKMChFSElaWAtOYyKslYm
l+IVN68N9xZl.McomObiFI2s4gYq8gWpVngzKBVsZQyOZ+2aQ4ya8e76y0KH
aRE2t589+v0ye40S7ceXk9Ce6Tua6mr4y6V59zOqYJ19Yy1a274lsXgeMcyW
+Wmsb9ay1VtctaJ.P6+P2lo+5lGWuZwhF3q6S9RGexSZl7GK+44Os8UKfpyL
ne74uuc+9ju+Cl+R4lsMu21Yuro4c1uCx0t0tG7Kh+71x2degFKZ9.5kGy2r
cyqq94M9GrhQqNAvsk+exsld+h55BHab+SFh2tCyKl4BfKX11Ae3T0lV31dr
pVrm8QHZQfHI0u6RJWPfqZlg1mvDxQ820uCWTNu1SHcfASgoXY0ivoMfix9L
Hso.HFU315LFm.p6p0ATcPRnlx7OAmZzreXC08almXJQQ.+9uw4r5OC3wYxT
sKeU6QmVSnr1yPbOCWSWjTx9siCZLZntQCRLUI86hGAvLV8Wjm.iEroBDwg4
JJhVi9AbOVIzjX+FwwnJZMhC3IwDSbr8a5GlgE0dBGIFqEgpp1MOsyZ66J1G
GtYdsOnqPN2eJl4rLPYS0Xpx1NDLIW2gbBoOUgmQc3Q6K9jpa6yJiJ6DFxxg
F1Mz5XKs3ghE6MlpW6ENCAQPpkOQvIIGjSQNb6OvwGaqcGR9zSc9wUyWV.SF
H2B2QOnthyQD.wYX7J9l.W5IG9XluegWApvtx662pUX9hoXRtueNIRPDK2dB
BtD6+LTK3jTq6NEECxFESKwwrwg5UJ8RYXmYMFiXaJqtCm.AK.JC8TTFyBq6
NTF.mZcFEmSwPCVHjm.4JFds9b13Xc1KEpWxBJSjk+whourd0t222TNubMVd
ZCwJgliS5xJPjI5hllrsr4NwOVBj6PXGiYokBEUAOVjrWDGEjpamRax9eFcs
SLY8QXUhjT2k.6WX4SkeslC0Qg93FjCUrhSiDkfCl.g5gBnFME3fWzF6X6w2
HKNX97tIMNk1U0Xk0JJMCeCzQ6N314K2GSgOsmo8Nsp9eHnYlgLHPALHHIdL
.ALFn9GLIChJp74mNDIjTT8xOOs.kvQAIvAgYkUxFDUXXXrEIcTDxpTsW.1G
LMihPWlRgTNJBcIhkVjrYD5s.2oQsZPih9YN82rJ109xuwEK1ST6MWTLCeYw
pGlsnUf95JjhCuzSZnkO7rOU4S0ZSKYmRELfJjLkIeq6Rae.IV69MwnCM7Gz
tixFFRjcjjZB4Th9Zy4WLmhDBSlkODr8vAITzw1.xYutq+ExERK5JyIS9I.H
dPI0gqBCuTN..bk2rONTU+7Rwr5QHn4tXdpZ8aHS80cnoSmYNAVZ2iqyyKeo
GvB4lM2bHLTOMoCVdlz3FqMrYrAu6rV.2IcfD0Ls+m0TtU+7GsUJsoYzb4k1
d0jNx0FLvQt2e.o.cs6r4EhmtoULppffPJEkZNogMoQabw4Ak9FUa129Zidd
4Oa2L14Klu8WZLJd9YSQhzn352ONbay8Sq0lCre6KqVx+3h4O9Sae0VKM0u+
Q6DZyO3KG+ANnTsK0669PuzpXam3pn9524xVE5JlBNWfDJEvzJdvtMMxblen
lxF97Usp90Tbnura9Tee5YpdZQeuIcblyFwTMQOMrKd0dpmZ46wHpyTboWF6
L8Jc9.5CI4kJ9VgDtShCSUcPwZKULEbKxTn9FST3liGAjvUSA7ykdRC3zYKl
oFuirr9sM+pKYsLFDcX+OZQRnWLMwDJaCMgAHdksbXF6L0Yw.nIhIWliQ8ZE
TbanaV4gE+cedw72mTrcUwKkaKbWaaza6VuV+MKlus7sM2U7xJyin+BddS8W
w3n4cEOt58eQ+P2U79rMaK0+Ug1TuUEd8X5auX1ikaz2rn7qydbaw6q1L231
2lNqgKxExxKv97TTn3LhhfLoMgvjlDGkW5tMOkJtDOTXQt3.sT2KU8sfw7Gv
NHj1MCJnncWTqttUSzTlSF9YLcHc5D5oaNO6oZkOMeqckvIJ6WgOCL4bFEoP
RoQWo1ME2oOs.HZw.TiBTGIZns2xtISrKrakzFgRUKPaHMbD+bC.mtmiDk9a
VEr9gqWSNqp3SqlRFfSDcy64k.0LiWg316rHw9.pbHtL1cE2yH1axLxkvRhh
mDGJIoppZoWLUfw8GgvDEifvRrpuppkRLEWs1RLlVtNGSwmlnPuoJp1PKz1L
Tjj.6dXes+cwkAsfpeAshkGqxVB.gnZUpLooz+fTGLOQNJ4Ax8.MpDKpxK1C
CREWnoVPVHV3LPrv2CPbIVbuwZHs8nZmPvlD2MCDqLTjVX08.JtDKpqh1DJs
k6XNlHDYgXkgpzBKtGKiKwB6iRjxXjAhwyBiUNJVYL6dbbkuqsNwQqjTPxoJ
EJKhrxQUvCh6g3xXw7geTBBywtNkXLdICDK5shIc981sai3Najh9Mpcarg0H
4dz1s2m9xr4K+0tb6uwCbNG+Mk4jmQYeXgNUD9p1DdjvGSOsKIRk1wKqiXB+
95w6cphdArrM5542Y7icS2aqIij8ledCm46gh2c2Ju69Gpdpw7o2KNa+EkbV
+8CY3DbmFklrNMpdXdZwEgvF1UnkIJSSBLoRNY4vXu6wGZKFzXjKIDleSWSs
hEFJgGDCjgcPL31dOsCAbPvrFiP3S01knTLARp02vD7zdHM765ynAL9aGRCv
EyB10okdjO.Gh7QavHO+F5Dii7o4vvNkCRxg4.yNmykTLCwUlZsE3X2FknDJ
iijHgH5myCBUBOlGFzgAZGzAjmQPeGjhfDtnQbycBPbnug+a+C.BL7sS.hV6
GF42Jm.Dc1VWRv4AgD91wAQ8kLjucdPzyYZ.lE+yCBB0qUfwEDfwr6jaBNDC
jjHlqYg0f0e5gYueoVPvziHhaCeIZ8lBto+A2YGVO1oS6vbvMPSHnWrIDLN0
aAAmQnRIloLGef9M9Vvzxl0+yzmRDnQZBgSR+c87WC+jjhJ9MngDMOTWi6Y5
p6LoBcR4q.JFBX0288BamYZLxXgjIi88h+mYKg+1L8T8W+0KNeycgBSJbqPT
fPKsfS4lphRxiaWeS7Gvt9lRZU+PTVezX9BzgvSRWeCmpt9FzSWeyEtKzo65
aPJ55anu0029CeWe6fwklpPYvcSFoey.b0SlimVHFdSsppI6bp9BBoQ2Ap+D
I+Vnug3ZvNXbh6aHvE0zLf7z3YNvhoUTrdnrXtBxzb1PXXsns8GIpcbFB4lq
EN0uZlSRuH93441+dbB6uSDwjVC219zkdx47fZnQCkTJb8jNH.RI9b8Rrdoh
7qOU79SzZCGEcDH9CYHQFHjra.1wmK9Syw+4+783hsuVtrPi.Pwe5YnnbwlR
8efMWjTVVW8cW0atSk3RPd8o0lLS44clME+T8SwHHQEbG5Z98KZDbuMxklNR
0+qNIEUfbMo1dImzwSNoHWZmIGqvfdIkpa.QpGLAZ654uEJGZ+VA4ry122MR
1xZRV6Lg9t0y.aIgdBiRX3iDokvPxUmP8.aytkazegWm+7uLRNGe103V0kNV
GwMSKazi2o1yKN62ncrQuXXNcrcrQN+1riMZlYBqaIdbOJ6POsHMMNv.GYFU
XEjT08BCswARH2B8PQRJarlFKYCpwARXodTDDsHkc0RRnsuvpgaZFEgtFgjx
FJIgbKzmQIAKIimvFJo8kGrTqjQKDWBsHoiBbnzhTMiDrFtND0uWCGNICMUn
LKb9IZ4lM1DkdLK3fum6dZ9p+W6Ng84+V8rUd+d108X+gWdd9hEM2H+FOwGl
La4K9MUqdQhX+jcaW8x5YOM2aySiOrQxM.JJFK2mRCb6eYxsAVKNI+2CW8Eo
LpsB9z+kMI2r+kDHLRirhn1WEN.SSBYZgDRYyVEyeouEtQZx4mhWu58Uq2uY
oSIp5eZksvdjZ+mre95vF751TFMA4389xXBqoNFpaZUWra6mT+OcybZ63+Kq
V7Tw+yJiY4yCcpstS+ex5KPcFsDNb+az+6KYLV88+jOBJEFjsoKGcgJsMv20
ggZvy0+7OZpjkOpwPl4tbpB52XTk5wCJgBoBF6wcJNYujHSxsHrDIygcE19U
o88sRpPn8hbqIGpEaQUha7oV5o6hy57K0xCGwruJtzEJeiw3rLFIct6Ge3gu
MUkp0vWx5TUxWl9SaVLWaz7+mIu2BcNu1zl6Lyo9OR730Ef4+xhckgqmY1iO
pAdqrx0vxXlw46sDU44hxER7WWWVtbTXgs7jX1D51V0H1JFIKHvt2dnb8eUa
5xnF+FBNxtBjYJ3E67At9JvwiDG72xrQDcTbW9efal+kMqYm6p8iFOno0yYh
.cvegymO1Gxj0VDr1SFsRG6suV9lyjvo1+7y0+5eWax3jG18vCKJqOvuz2eq
2PufvDr85VqNP3z30bLvdbQ4r0CFF091c7pG7asmWX4hx2FyLaiu+wu9icP3
RAPq2vwfXidHXqp6AChVugN.gdgw6CGEp+0O9k2PVP3uZScF7Ye619yO+xgW
bqT4OgGmJWrDm9xG7ybtr3R.8vAywIIb.xa6hbEV09crjw9JSk.jKdHK96Qp
Xvu6NkIdzquSIhWJL5PdX8pQ3HogA+9ORVXsW6.eic9x5TJXvuyNjAd3U2iD
vfe4cJ+6vquGoeA+56T1WsWeGR9B+cejbuCu3ik5EvqsaYdon+83pWoBJp.a
Op0+dacVwPcVASTz469WJey7ghvTAQozxrnfz0jV7+y1GaNUAMwt4aEX206I
WiLtMUnMkKe5WKdyzo3We+iFx9vamPLSO8x9OIgZZNaV+V.hZpo+ZhkHBvob
rvnlQctlObWmNUQs8BOz9qLiZG5o5L4gvi9Y1fotYNbVtbgsaOJwlGohyUkf
msmG0caIlbcOMFNIc68YKK9dae1ZiQ.12qQM6eO3VWnf46mw0OFDLYDXrO3O
Hw8jNxWL+t.DTPj2s+DQo5dX3tlGbyE2yXSUZ4yFg9joLEkHJt2ziWvXg4dv
TfCJQgVlAGI.+sXTnfwmBRIy8EMGQJph6kJ88TX28PHFloumXJiqjl6oM7jH
0+o9wn9qwBD2bMVVAOkBKKtWKOZJV+QtgkfigBSkrOkCUiApVPUg4VLjzcKL
mneL62DpPHhcORq0w5+xNKe4G8kunlcn3ilxjz0Mndb1ZM277YKuqntPmFG0
FvvppWhXpvV5VRkq3EhTk71fGx9.MS5MGKU68a2yXc5SD39NfOar6+s14+iX
liIj4ntgLZbPFE.nqkaRi.Pg.olYpzj2l+z6qlub6lpiLcFx10oDJfK0JpAS
z1Q9SPcawLe7050jVqxbGdQMuRTcNE5x3YXebuGAZhSCZpETUGqZcYtQRHQH
oaDuGIadYlQRHWqLfPfDFEEPQBAT0O20GNrHYCqng.IdTfTHfRhiBnDgnTPb
Hk3FAnrYrK4LvhAMepXo6yAcHHnCIB53ffNNQPGEDzQoA5pP.tJMvVFBrkoA
1hPfsHMvlGBr4oA1rPfMKMvlFBrooA1AIdKQR2BR3VpjsEjvkz.6fDrkH4Zm
WelnG8YnrnOSzi9LTVzmI5QeFJK5yD8nOCkC8Yht0mgxg9LQ25yP4Pelna8Y
nbnOSzs9LTNzmI5VeFJG5yDcqOCkC8Yht0mgxg9LQ25yP4Pelna8YnbnOSjj
XzwBQjtmqPMVmAYgHA2CLYL.lJLXIhArjgAKdLfkHLXwhAr3gAKZLfEKLXQh
ArngAKHFvhDFrvw.VPXvBEkEyAAKHJBNBStALd4FWR.nGGn3AEwzn.oP1gDU
LB3GGGHjFONAABoQKtfSBDRiVXAmFHjF8RJNKPHM5ETbdfPZzpg4h.gznUBy
kABoQqBlqBDRiVArHn8JRPiwZWQP6qhDexs4iissMSF1sUdlF.Y0kGamrHCC
Xh7RFuLJcJyjuX5evEJD1TiH8L5YYXzKYWznGr6QZ6Kc4D194BlrKrgmCrge
QXiqyJ09R2wtUOyTLVW3FMG3lHHbi3RVAtBbMj8lW5moD9SYJAWOERPXSVK1
yzFjCT6hVBI4Ml1ptziZRAyhZRM2oDYNQpw8hanbfapKA25bhoaoCjLL3UnK
ZhoSRe2i9QFQdQPNhHhxdzK3QPsECA4SsEe7pspFuvoDFBrTn1hOd0Vso1ti
Jo1WlE0V7wq1pBaH3F5oZc4UPsEe7psZga2Lps3iWsUKlvaG0V7wq1pEtkQ0
V7wq1p8DSFUaIhfpj55NRtpDw3UkTM.uBpRDiWURap8UTUhX7pRBCabkmwdM
KstjiOw7HGmBEMhwqn4hv7J8NstL+pgDiWMzEg3UZkZc4UPIkX7JohwTNbho
bPlBEbhwqfKLDGntRWjfTJJ0Lk16T7wOZ7UMJifpQSk6kMUixwqZrZ7dETMJ
Gupw1T6qnpQ43UMVgM2bdYIGuxuV31MiWVxwqdqES3siWVxwq.qEtkQurjiW
IT6IlL5kkJn8zJJ0ZUPZshxNeKQAgUhn.qHTzg0E3aj+6rjp0kInL6jAsilx
nrilxf1QSTPQQWgZVqhstT5cBqqpbTJRfv4.wM7EgacM5QoXyOCbzCQXlwWl
vcWjs7DXQPX3l5hlY7Vq09ROt4WK2C5fQY.eTWzTkY.q01n0XRTbszEfS5kS
CiywvmDgYCdC2ZrWdL5nxA1Pi.13knUgMcKDSlCrgMdrYeWBviNtqitSmggO
7XfOtlfyA7gvRfiaggOhwKk9PWbn2V9PzsCMLjSFCjyOY0Mx08LWVDZqhf9U
9IrcfmBuejAkbAxnjbARdDrfzugV2bVPxifEjsws7YAIOBVPF1LS9sfjGAKH
agaWUKH4i2Bx1nSNsfjOdKHCa1HKVPxGuEjggMYwBR93sfLHrIWVPxGuEjAh
O4wBR93sfLHozWEKH4i2Bx.QtqfEj7waAYX5WyuEjhHXUWkXsaMq5DQvpt13
V9rpSDAq5BalI+V0IhfUcsvsqpUchwaUmeDJkP+V0Y+vDXUmX7V0E1rQVrpS
Ldq5BCaxhUchwaUWPXStrpSLdq5BDexiUchwaUWPRouJV0IFuUcAhbWAq5Di
2ptvzuleq5jQvpNeZQbyYUmLBV00F2xmUcxHXUWXyL42pNYDrpqEtcUspSNd
q5ZiN4LVcxwaUWXyFYwpN43spKLrIKV0IGuUcAgM4xpN43spKP7IOV0IGuUc
AIk9pXUmb7V0EHxcErpSNdq5BS+Z9spKnrEUFkrEUETNbJiRNbphWNb5mT57
WwOCNgq1wlBb0N1TffNAL.TLxZ08ukS25IOeRQYyEchPnnRgo9GzKWqqTo8k
hFpXrWFaikCC033AiZ9x.o8kBvWUHD22Dy0Rt.DQI8eXr8WKPDEFNh1IpPRf
.3.QExfQEIEpOmUcoeNSxYVEMTgR+BPDjr+4LTNPT4vQzNQERBJwhvPE4vmy
pDRPRPzB.jLHYsPTj0FVsnDEXAzPxaMDKZv5rZoiCZEx9Due.MRXEDqAnhBr
TgLcgoQCV4Y5hjqNoJPBwZZffiBrvAMYIhFrxzjUPlcRHQAVjPHg.JZvJSjP
ZPjvnH0kDTlIGk5Mb+HNGjvfjvShyhKQPjPdzfUlHgAo3hDGNivTbQhFrxCI
jFj5DZTTmPCRcRbb2mlO0IrqWnaXWsX2DjYHQQEZPFF.QARPnGVjiFRAYU.V
FKPkkEBAYS.MFV5DjV5nn4LLkzwvLmvTaFE1bYDN2g6tUvHa11XZbY7iYdPp
IihWWzPNJ77GKGhX.qvNZS.dLfUfGsIrX.q.OZSnQ.VgchHAjH.pvNPj.HBf
JryCI.GAPE1wgDDi0VgcZHgUQ.TgcXHgkQ.TgIv.GCAFgIu.GE4EgApXHtHL
oE3QKs.Ej0XwPKePtaEEqwByAnX3qEExkkKzrElUZPb53nAp7vRDjmpwHZIz
POHjviVQUnGDR3QiSxrwlGTnlPQCTYg4KrC1tX3yFKr7MJEAjIHPy3oHfLAc
X9whAOCKDov3VgsIVXIIncwNIyszKONesbaVg4tbUfwH.Eq8AVXDAh7MZ359
RqoeV+jO8mBtL9z6SM3Rwywgkrnk.cTFx20CsI4XqKie3.rqqBzKcLIJ.KPy
tgn.r.M7FGEfEno2QYNKLO0Uw.Tg4otLFfJLO0Ew.Tg4oNOFfJLO0Yw.Tg4o
NMFfJvSs3X.p.irWTVDG1Z3X.pvDWLZoEgXrOKF9zFzoHbTL1miiQz36HuUo
.pdSGt0kwW8KGRDhP3pF4cbyKyNZRFOZ1YNqdXjyahHIxbofN.lkzHn3HnCf
4nzapC5.XVRifTufN.liiTOtLQbbUqj3JY8EV9KyN+nZ7YDe+IC9MTJwGFhJ
ubDET39QE6GFaehEnPWuMVKBE3PgzXMHLnCGbIMB1CJHgBowZNXPm6s7XD42
fNiZix40PPGJhQ4LbOnSmJ145FhdKaPTJlCBFBtEpcrfPMNd3n1sRsiEFhBi
.QyVsiEFpPFNpbqnnLLDUNBDMa0NVXmreiXNKk0NVPGLRrf5aX2.R7jiWhWK
j4lQFmb7x3ZiZ4Splb7R0ZM3uYjiIGubr1nV9jbIGujK+fux+j5WFcYUpwKq
xzyNLL8bIUKzkqXx3H3BROlwwCFyhmTLTFvSX334EHRCmdLQRFNu3I04ONww
AkrKwH5VAcp6IhgqoAcF4EkCHQIIZahdUP47gcq0kwOJbgcLqIa3jejVtDDn
ooHqRjwKoGRvLBOQkqQBFphwOT657dMAizXDS8tNbWSvPUkFhZU44z5fP1eY
7wif5IHrTr7VEpHMH1hzBp0mMD1r8msysNpm4IpTqBpups+TncbfBhiv3i6M
pDU8N4ViqR.EKd1.3ainUC7FWkfANMZC7pNRYU+Mr4kIXnyh3P22uIQBZi9O
o+5DL34QbvycdsgjtMss00IXvGAM+82YOMdsA3lsAzpqE3lXZyqS.lJSEllc
LQkFLYeebuUac2coTUWFPyqNGNZGFSl896eob8F+3zhdSda1Otx0Lkuyd47k
tK41KWW9k4UOOydmYqe704aKeb6t0VRxjuZRGF6WckVy+xcy8J+0DVMHebwr
MaVN6sxMuOyQCm7vpuN469We2+ODOUKiI
-----------end_max5_patcher-----------

Thanks for sharing the patcher.
Yes, I could reproduce the issue on my side, and yes just removing the spat5.osc.view seems solve it.
(the fundamental underlying issue being the too high number of control messages flowing through the patch)

I could think of different things that might improve performances, but it’s fine to keep your patch as it is now. And the easiest option would be to just insert a spat5.osc.speedlim (just before or after spat5.viewer) to reduce the control rate.

[pan2matrix~] is still available in the distribution, in the example tab of spat5.pan.maxhelp.

Best,
T.