[PD] performance on osX
matju at artengine.ca
Sat Nov 24 00:00:43 CET 2007
On Fri, 23 Nov 2007, Derek Holzer wrote:
> And PD isn't one of them. PD's GUI has always kept one of it's feet
> permanently nailed to the floor. The problem is just exaggerated on OSX.
> Previous discussions, back when I still had time to investigate things
> like this, pointed to Aqua versions of Tcl/Tk as being a possible
> offender. I tried getting into recompiling PD against different versions
> of Tcl/Tk, but found it easier to just use the same computer running
> Linux for high-performance [PD] situations.
Upgrading Tcl/Tk to at least 8.5a6 will make Tk about as "quick" on OSX as
it can be on Linux... maybe a bit more or a bit less.
> Wouldn't it be great if there was a way to pipe all the time people
> spend rambling about political correctness, beer, philosophy and
> theoretical physics on this list into solving basic problems like this?
I don't know, perhaps theoretical physics is easier than messing around
with Tk's source code ;) let alone the politics of Tcl/Tk (e.g. when will
8.5 be officially released? which modifications of Tk are considered
appropriate for merging into the trunk? etc)
I had started making cross-platform optimisations in Tk itself, just
before Pd Convention 2007, but it's somewhat tricky to speed up some
common cases without also slowing down some other common cases. During Pd
Convention 2004, the late James Tittle had identified that the most
horrible slowdown was due to the least-common-bounding-box algorithm of
Tk's redraw. What I implemented is a dirty-tile algorithm (make a reduced
map of the screen, mark areas that have to be redrawn). It's not that
good: huge speedups are compensated by huge slowdowns in other situations.
If I modify much more of Tk, I could get to a point where individual items
can really express their usage of space in terms of tiles instead of
bounding boxes, so that a diagonal line doesn't take the same number of
tiles as the rectangle that the line is a diagonal of. This could
accelerate the dirty-tile method so that it becomes clearly superior to
the traditional redraw. I believe that it's still easier to modify Tk than
to switch to a different toolkit.
I'm only talking about cross-platform optimisations, because the
OSX-specific problem has been already taken care of during 2006.
_ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada
More information about the Pd-list