On Feb 23, 2010, at 11:52 PM, Ivica Ico Bukvic wrote:
The problem is that Tcl/Tk is not the bottleneck when it comes to array redrawing. Its how pd sends draw commands. Redrawing a big array once could result in literally 500KB of Tcl code generated by Pd and sent to the GUI.
So whether you use Tcl/Tk, Qt, JUCE, or whatever, you'll have to address that issue to get any real gain. I'd say the best place to start is try updating the array drawing code so that it just sends a simple command to Tcl and let's Tcl do the drawing work. You could easily make that an external and use it with any version of Pd.
.hc
Interesting. Still, this does not resolve the issue of a large number box on the screen being updated rapidly taking up a lot of CPU (it scales exponentially with growing font size and in this case I suspect Pd's output is minimal, amounting to change in the displayed set of characters).
run pd with gui messages dumped to stderr and you can see what I mean, should be helpful in seeing the amount of code that gets sent for a given operation:
./pd -stderr -d 3
.hc
----------------------------------------------------------------------------
Access to computers should be unlimited and total. - the hacker ethic