Hi all
When employing dynamic patching, in particular when doing dynamic patching with ~-objects, I found that drop-out time can be greatly reduced by turning dsp off during dynamic creation time. I used to turn dsp off and on in 0 logical time a lot in my patches and it never seemed an issue.
Recently, I found that when doing so it causes a drop-out, no matter if there is dynamic patching going on or not. I figured out, that this happens only when Pd is using jack as the audio back-end. In gdb, I noticed that when ever I turn dsp off, I get those messages:
[Thread 0xb3065b70 (LWP 11244) exited] [Thread 0xb7f60b70 (LWP 11243) exited] [Thread 0xb7fe1b70 (LWP 11242) exited]
When turning dsp on again, I get:
[New Thread 0xb7fe1b70 (LWP 11250)] [New Thread 0xb7f60b70 (LWP 11251)] [New Thread 0xb3065b70 (LWP 11252)]
It seems, that since 0.43 - when using jack - turning dsp off and on cannot be done "silently" anymore. For me, this has a few implications:
* I certainly get a drop-out in the audio stream. Starting and stopping dsp costs a lot of time now.
* The jack-client 'pure_data_X' disappears when turning dsp off and thus it looses all hand-made connections to other applications.
* Often, Pd hangs after a few cycles of turning dsp off/on. Pd-gui doesn't respond on any input and I see the 'watchdog signaling Pd' message appearing.
Personally, I find the old no-thread-spawning-on-dsp-on implementation much friendlier in many ways, but to me most importantly, it was able to avoid drop-outs when turning dsp off and on in 0 logical time.
What do others thing, what is their experience? Is there any chance of going back to the old way of using Pd with jack?
BTW: Everything works still nice with ALSA.
Roman
Hi again
Is anyone else experiencing freezes due to this? Often with jack, when turning DSP off, Pd hangs and I get the watchdog messages, but no crash, Pd is just frozen. Is there any chance of getting back the old behaviour, that didn't spawn a new thread whenever DSP is turned on?
Roman
On Tue, 2012-02-07 at 10:49 +0100, Roman Haefeli wrote:
Hi all
When employing dynamic patching, in particular when doing dynamic patching with ~-objects, I found that drop-out time can be greatly reduced by turning dsp off during dynamic creation time. I used to turn dsp off and on in 0 logical time a lot in my patches and it never seemed an issue.
Recently, I found that when doing so it causes a drop-out, no matter if there is dynamic patching going on or not. I figured out, that this happens only when Pd is using jack as the audio back-end. In gdb, I noticed that when ever I turn dsp off, I get those messages:
[Thread 0xb3065b70 (LWP 11244) exited] [Thread 0xb7f60b70 (LWP 11243) exited] [Thread 0xb7fe1b70 (LWP 11242) exited]
When turning dsp on again, I get:
[New Thread 0xb7fe1b70 (LWP 11250)] [New Thread 0xb7f60b70 (LWP 11251)] [New Thread 0xb3065b70 (LWP 11252)]
It seems, that since 0.43 - when using jack - turning dsp off and on cannot be done "silently" anymore. For me, this has a few implications:
- I certainly get a drop-out in the audio stream. Starting and stopping
dsp costs a lot of time now.
- The jack-client 'pure_data_X' disappears when turning dsp off and thus
it looses all hand-made connections to other applications.
- Often, Pd hangs after a few cycles of turning dsp off/on. Pd-gui
doesn't respond on any input and I see the 'watchdog signaling Pd' message appearing.
Personally, I find the old no-thread-spawning-on-dsp-on implementation much friendlier in many ways, but to me most importantly, it was able to avoid drop-outs when turning dsp off and on in 0 logical time.
What do others thing, what is their experience? Is there any chance of going back to the old way of using Pd with jack?
BTW: Everything works still nice with ALSA.
Roman