Hi Mario,

There is a thread somewhere about connections vs. s/r & throw/catch, don't have 
time right now to search for it, but I'm sure it is there. If I remember 
correctly the overhead is not that big and you don't want to be connecting all 
that stuff by hand.

In any case, there are other things to look for.

If you are using graphics objects, or objects like env~ you might want to bring 
down the refresh rate. Are there any [metro 1] or similar objects lying around 
which you might have forgotten about?  

Do you have a lot of GOP? I am not sure this is entirely relevant, but it might 
be worth researching...

Also, control operations do take some cpu. do you have a big control layer?

J

> Thanks, Roman, but I'm already using [switch~] inside each FX, to stop 
> processing the signal. I learned it some time ago, from here:
> 
> http://puredata.hurleur.com/viewtopic.php?pid=35939#p35939
> 
> But I think that [receive~] and [throw~] are still using CPU.
> 
> I didn't try to use inlet~ and outlet~, because I have to make 400 conections 
> at hand... that's why I asking first. If it will work, I'll do it (or find a 
> way to automatically do it)
> 
> 
> 
> 
> 
> El 05/08/13 09:29, Roman Haefeli escribió:
>> Hi Mario
>> 
>> Check [switch~] and its help patch.
>> 
>> Roman
>> 
>> 
>> On Mon, 2013-08-05 at 09:03 -0300, Mario Mey wrote:
>>> 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
>>> 
>>> _______________________________________________
>>> Pd-list@iem.at mailing list
>>> UNSUBSCRIBE and account-management -> 
>>> http://lists.puredata.info/listinfo/pd-list
>> 
>> 
>> _______________________________________________
>> Pd-list@iem.at mailing list
>> UNSUBSCRIBE and account-management -> 
>> http://lists.puredata.info/listinfo/pd-list
> 
> 
> _______________________________________________
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list


_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to