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