My patch speeds up moving arrays around the pd patch window, but what is still too CPU intensive is the actual plotting of array data. (it still disturbs pd audio engine). I tried modifying the plotting algorithm for garrays and I found out that it's not sending to Tk that is slow (so optimizing that will not help), but it is the algorithm to calculate the coordinates, because it always calculates the stretching according to 'graph on parent' settings.
It is possible to know from inside the plot_vis function whether we are graphing a garray so in this case we could have a special algorithm that simply doesn't care about the X and Y range settings for 'graph on parent' and would be much less CPU consuming. What do you people think?
Another option would be to set up a clock and plot the array piece by piece every n milliseconds, giving the audio engine time in between for audio computation.
Suggestions?
...btw found another bug in my patch for graphing on parent: changing the plotting style for arrays doesn't work right anymore. I'll try to fix that soon.
J.