Loading a Max for Live patch from disk into Ableton blocks the main process

Max Kraan's icon

I've got a Max for Live patch for which I'm trying to optimize the loading time or stop it from blocking the Ableton process. When loading the patch in Ableton on Windows 10/11 it can take up to 30 seconds and blocks the main Ableton process during this time (screen is frozen). On MacOS, same Ableton version, it also blocks the main Ableton process but only for a few seconds which makes sense, this is also acceptable.

I've done some monitoring on the Ableton process statistics when loading the device and already identified that reading the device data from disk into Ableton is a huge bottleneck. The device is definitely not small (~50MB due to embedded ML models) but monitoring shows an average data transfer rate of 10MB/s. This doesn't really add up because the actual load time is 30 seconds. Step one is to reduce the device size as much as possible.

Besides shrinking the models / assets included, is there any way to "clean" the device before / while exporting to Max for Live?

This also still doesn't answer my question why this process takes so much longer on Windows than on MacOS. Does someone know more about this and can explain what's happening in the background when a Max for Live device is loaded into Ableton. Thanks!

---
Max 8.3.0
Ableton 10.1.42

11OLSEN's icon

It's not the device file size I guess. Patchers are loaded into ram. A small device can have a huge footprint in ram for example if many poly voices are present. What's the difference of the PC and the Mac? Are you triggering any actions with loadbang or live.thisdevice? Do you have many styles saved into the device?

?

11OLSEN's icon

maybe delete things in a duplicated device to the point where it loads faster to find out what is the crucial part .