On Fri, 30 Jan 2009, Hans-Christoph Steiner wrote:
With more recent version of Tcl/Tk, they have been big improvements on GUI drawing performance. I was just testing Pd-devel on Tcl/Tk 8.4.7 ( which I think pd-vanilla is still using) and Tcl/Tk 8.4.19 on Mac OS X. I opened a big patch, hit Select All, then moved the whole patch around. THere was a huge difference in speed. Plus I hear that Tcl/ Tk 8.5 is even faster. So I think that with a bit more work, we can ride on top of the recent Tcl/Tk work and make the GUI decently fast.
There are also several changes that can be made to Tk itself, which in the end may be less trouble than switching to something else than Tk or than Tcl/Tk, but as usual it's a gamble until someone tries it.
I think I wrote about it in the summer of 2007 when I tried modifying Tk. Perhaps there are ideas I didn't write about back then, I don't recall. Anyhow, one trick involves changing the dirty-flag from being a single bbox to being a tilemap or multiple bboxes. But that trick isn't so great until one changes the way canvas-items express how dirty they are. Currently it's also a single bbox, which means that for a diagonal line, the bbox area is proportional to the square of the length of the line... this is just what I explored, and I only implemented the first. There are surely a lot more tricks one could find.
All this goes back to something James Tittle found out while we were all in Graz.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec