[PD] How to reduce CPU use on unused subpatches-abstracts?

Mario Mey mariomey at gmail.com
Mon Aug 5 14:03:00 CEST 2013


Hi, there... I really need some help.

I'm working on a looper-multi-effects (big) patch. It has more than, 
more or less, 100 stereo FXs. They are all inside the patch as 
abstracts. But, to avoid them to consume CPU, each one has a [switch~ 0] 
if it is not working. So, there're only two FX at a time, where the DSP 
is on. Something like this:

Main patch:

adc~
|     \
|     [s $0-pre-r]
[s $0-pre-l]

[catch~ $0-post-l]
|         [catch~ $0-post-r]
|        /
[dac~]

(the same for

Each FX as file-abstracts (using [fx1 $0] to call them) inside the main 
patch:

[r $1-pre-l]       [r $1-pre-r]
|                  /
[The-FX-itself.....]
|                  \
[throw~ $1-post-l] [throw~ $1-post-r]


[0(     [1(
|       /
[switch~]


This technics DOES work very well.  Buuut... when having 100 FX at the 
same time (even not working), the CPU increase 15-20%. I repeat, 
there're only two FX working at the time. The rest are "turned-off".

For now, the CPU use is:

Ready-to-use, 2 FXs on, DSP on: 47%
Recorded and playing 8 stereo-banks, 2 FXs being used, DSP on: 60 - 62% 
(I have quite a few XRUNS)
Ready-to-use, 2 FXs on, DSP off: 7%

As you can see, the non-signal processing is very low.

What I think is that each FX is working when receiving and/or throwing 
signal (200 [receive~] and [throw~] objects)... even they are sending 
and/or processing nothing.

Is there any other way to connect all the FXs to the main patch and to 
have a lower CPU consumption?

Maybe [inlet~] and [outlet~] consume less CPU? (I should connect all the 
FX at hand... or find a aumotated way to do it)

Thanks a lot.




Mario Mey



More information about the Pd-list mailing list