Ian, If I understand you right, you're drawing a chain_of_circles instead of just drawing a line? This approach seems quite strange, but it's your choice anyway :-)
I don't think the math "to redraw all circles" will heal the performance - rather opposite. Instead, I can suggest use one of the following: 1) Try to use rectangles (or diamonds) in place of circles, as the are supposed to be drawn easily 2) Draw the circle ONCE into a movieclip and then just duplicate this mc. Hope both can be helpful. -- Best regards, GregoryN ================================ http://GOusable.com Flash components development. Usability services. > ----------- Ian Thomas wrote: > Hi folks, > > I'm looking for a bit of inspiration to help me out with the drawing API. > > I've got a feature that's sort of like a painting tool - > - User clicks the mouse > - on mouse move, a filled circle is drawn on the canvas (using > beginFill/curveTo/endFill) > - User releases the mouse > > So essentially the user is drawing a trail of circles. (Just as a side note, > it's actually a mask that's being drawn rather than a clip - probably makes > no odds). > > I'd much prefer it if the effect stays as overlapping circles rather than as > 'paint strokes'. > > The problem I have is simply a performance issue - when the user has drawn > lots of circles the app slows down significantly. It's nothing to do with > extra code on my part - it's just Flash (presumably) redrawing all those > curves all the time. > > Flash appears to be redrawing each circle, rather than draw the 'union of > the curves' of all the circles. By which I mean - if you completely paint > over the whole paint area, Flash could get away with drawing a filled square > - but clearly it isn't, it's drawing every single curve on top of each > other. (It doesn't do the merging that it would if we were just drawing > overlapping circles in the IDE). > > So an obvious optimisation would be to do some maths, merge each new circle > into an existing list of curves, and throw away the unnecessary curves - > then clear the canvas and redraw. I'm sure I could work that out eventually > (with the help of Google!), but I suspect the maths to do this may actually > be too slow to be of much use. > > So - any ideas/similar experiences/solutions? > > (This is MX04, rather than Flash 8, otherwise I'd be looking at drawing into > bitmaps to solve the problem.) > > TIA, > > Ian _______________________________________________ Flashcoders mailing list [email protected] http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

