Dear Pierpaolo,
not an expert on this issue but...
Hello Pd community,
I've encountered an interesting behavior regarding CPU management in Pure Data using [pd~], and I'd appreciate your insights or confirmations.
Here's my scenario:
I'm running a computationally "intensive" FFT analysis with sigmund~ (similar to the 17.partialtracer example, but without using data structures), on a 4-second audio array. This analysis is causing "Audio I/O Error" warnings and audible dropouts when executed within the main Pd patch, DSP active, latency ~50ms... Increasing the latency further would solve the problem, but I would like to find another solution.
...are you able to track the single Pd instance audio errors down to CPU usage? Does a simpler patch with lower cpu usage not print these errors?
Have you tried to change other audio options?
I am not on OS X so I don't know if -callback or -rt have any effect there.
Initially, I attempted to resolve this by offloading the computation into a subprocess via [pd~]. However, despite what seemed to be a correct configuration (no audio signals shared, only control messages exchanged, -nogui option used), I still observed audio dropouts and "Audio I/O Error" warnings in the main patch.
otherwise when running two completely separate instances of Pd manually, that is two versions of Pd, 0.55-1 and 0.55-2 (one dedicated to real-time audio and another solely for the FFT analysis, without using [pd~]), my system (macOS Apple Silicon M3) handled both processes simultaneously without any audio dropouts or errors.
Out of interest: Do both pd instances in this case access your hardware I/Os?
best, Peter