I've been trying to debug this really annoying issue. The [info
complete] look in pd_readsocket was causing some drastic slowdowns on
some GUI objects like Scope~, making them unusable. If you remove the
[info complete] bracket from pd_readsocket, there are these intermittent
Tcl stacktraces causes by messages from 'pd' to 'pd-gui' that get split
in the wrong spot.
I have found one very interesting result: the break always happens at
48k. At least when I test with the bitmap-madness.pd patch that comes
with tclpd. It is a good test patch because it causes heavy pd -->
pd-gui traffic. So I've tried a bunch of things and not much really
seems to affect it:
- in configure_socket, change fconfigure -buffering to "line"
- in configure_socket, add -buffersize 500000 to fconfigure
- in s_inter.c set GUI_ALLOCCHUNK anywhere from 1k to 64k
It seemed that lowering GUI_ALLOCCHUNK did make it happen more often,
but always the break was exactly at 48k.
Anyone have any ideas?
.hc