Nitro wrote: > at the current stage it is indeed very slow to create lots of new nodes. I > suspect (and I think I already profiled) the automatic change detection > mechanic. This allows you to do > > line.length = newValue > > and the canvas will know it has to redraw itself. Now this extends to all > kinds of objects like lines, rectangles, looks, nodes etc.. Now when you > create 1000 new nodes this creates a bunch of objects each with subobjects > and attributes which all detect changes and send a "needs updating" event. > Just sending all those events is what takes up such a long time. > > There are opportunities to enhance this scheme, ideas:
a couple others: 1) implement a "freeze" "thaw" scheme, so the user could turn off the system when they now they are updating a lot. 2) look at enthought's "traits" package -- it does something similar, but they have hacked in low-level C code to give it better performance. -Chris -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception [email protected] _______________________________________________ FloatCanvas mailing list [email protected] http://paulmcnett.com/cgi-bin/mailman/listinfo/floatcanvas
