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~
| \
|
[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.