On Fri, 9 Apr 2010, Roman Haefeli wrote:
Yeah, suppressing works as long as DSP is turned off. However, when I turn it on again after having deleted some objects, the dsp graph will be redrawn. Is there a way suppress that last single redraw as well? I don't get why it does redraw always on deletion but only sometimes on creation.
Well, the graph ought to be recompiled always on deletion like it ought to be recompiled always on creation. However, for creation, if you skip recompilation, all you get is that the new objects have dsp off while the old objects have dsp on. Whereas for deletion, if you skip recompilation, then there are deleted objects that have dsp on, and that causes a crash because pd tries to use a dead object.
To get out of this, you'd need a dsp compiler that could setup the output of the compilation so that it becomes modifiable at runtime, or so that it is broken down into pieces that are not too big, in both cases to make recompilation take less time.
In any case, if anything like that takes as much as 100 ms, perhaps there are some dsp-methods involved that do too much stuff during the compilation phase.
How many dsp-objects do you have at once, in your patch ?
Then, I also know of a problem in the dsp_add command, that causes it to display O(n^2) behaviour sometimes, but only sometimes. It's really abusing resizebytes() (that is, realloc()).
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801