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