Speed

Scott Raney raney at metacard.com
Sat Feb 23 22:50:02 EST 2002


On Sat, 23 Feb 2002 Jim Hurley <jphurley at jps.net> wrote:

(snip)

>   The pencil tool in MC is not the same as the pencil tool in HC. (The 
> above script draws an altogether different figure in HC.) In HC the 
> pencil tool draws black if the initial screen point is white and 
> white if the initial screen point is black--it acts like the "fat 
> bits tool." Fortunately, in MC it always draw whatever the pen color 
> is; the color of the starting point is irrelevant.

Right, it has to be that way.  You use a different mouse button
(control-click on the Mac) to erase instead of it picking up the start
color.

> However, unlike 
> the line tool, it is not possible to vary the pen width--a small 
> price to pay for the increase in speed. Furthermore, unlike the line 
> tool, the drawing  speed is apparently unaffected by the card 
> dimensions. Drawing with the line  tool becomes increasing  slow as 
> the card dimensions increase.
> 
> >Adding a "lock screen" reduced the overall time to 9 ticks --
> >virtually immediate.
> 
> In most of my applications in education, it is important for the 
> student to see the path evolving in time and so locking  the screen 
> is not an option.
> 
> I hope the other Scott will help us to understand the difference 
> between the  pencil and line tools and why the pencil tool is soooo 
> much faster.

It's rubberbanding: the pencil draws directly to the image, whereas
things like lines and circles and rects must be buffered so they can
show you the shape as they're being dragged out.  But this does point
to a possible optimization that could be made for drag with dragSpeed
set to 0, in which case it really doesn't need to do this step.
Optimizing it out might speed things up some, and I'll put
investigating this on the to-do list for 2.4.2.
  Regards,
    Scott

> Jim Hurley

********************************************************
Scott Raney  raney at metacard.com  http://www.metacard.com
MetaCard: You know, there's an easier way to do that...




More information about the Use-livecode mailing list