[sc-users] scsynth with two processor cores
Sciss
contact at sciss.de
Fri Feb 1 04:08:16 PST 2008
hi,
has probably been discussed before : i just recognized, i can get the
double amount of processing power out of supercollider on the macbook
pro coreduo by launching two instances of scsynth. One single
instance runs without clicks until it goes above around 75%. but
opening the processor panel it reveals that it uses both cores,
however the sum of both cores is never than 50%, also they seem to be
used complementary, when there is a spike in core 1, there is a dip
in core 2:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Bild 1.jpg
Type: image/jpeg
Size: 12486 bytes
Desc: not available
Url : http://lists.create.ucsb.edu/pipermail/sc-users/attachments/20080201/1e53b27a/attachment.jpg
-------------- next part --------------
when i launch a second scsynth, both can go to 75% and the processor
palette really shows full power on both cores. now that is in a way
nice but those two scsynths of course cannot share internal busses,
so i wonder if the maximum CPU usage of one scsynth is a OS-based
limitation (i'm on osx 10.4) and it's not scsynth but the OS which
distributes the processing to the two cores. or if there could be
some tweaking in scsynth to make it able to use both cores to the max?
s.boot
1000.do({ Synth( \default )})
SynthDef( \gaga, { 50.do({ Out.ar( 0, SinOsc.ar( exprand( 100,
2000 ), mul: 0.05 ))})}).send( s );
20.do({ Synth( \gaga )}) // o.k. no clicks
y = Array.fill( 10, { Synth( \gaga )}); // too much CPU ;-(
y.do(_.free);
x = Server( \test, NetAddr( "127.0.0.1", 57000 ), s.options.copy );
x.boot;
SynthDef( \gaga, { 50.do({ Out.ar( 0, SinOsc.ar( exprand( 100,
2000 ), mul: 0.05 ))})}).send( x );
20.do({ Synth( \gaga, target: x )}); // yeah, i get more synths
without clicks
More information about the sc-users
mailing list