Last installment in my "troubles" with the display in OS X.

Following suggestions from Jacqueline, I have compared four basic methods of moving a RunRev control smoothly through a sequence of points--with mixed results.

What follows are four scripts, all of which do the same, very simple thing: Move a graphic 600 pixels horizontally across the screen. (I realize one can do this in one step, but I am looking for a general method to use in a library of Turtle Graphics. The path might be a planetary orbit, or the path of an object in game, a game which would involve user input. Therefore the point set cannot be determined in advance.)

Below I have listed the results (time in ticks) for each method. There are some surprising differences.

The stack generating these results can be reviewed; In the msg box:

go url "http://home.infostations.net/jhurley/DisplayProblems.rev";


Scripts:

Using: Move Relative

  put 1,0 into tRelLoc
  set the movespeed to 65535
  repeat 600
    move grc "ball" relative tRelLoc --without messages
  end repeat


Using: Set the loc

  put the loc of grc "ball" into tLoc
  repeat 600
    add 1 to item 1 of tLoc
    set the loc of grc "ball" to tLoc
    wait 0 millisec--In OS X only
  end repeat


Using: Move to the points list (First set the moveSpeed)

 put the loc of grec "ball" into tLoc
  repeat 600
    put tLoc & return after tPoints
    add 1 to item 1 of tLoc
  end repeat
  move grc "ball" to tPoints


Using: MoveStopped initialize tLoc to 1,0

on moveStopped
  if i < 600 then
    add 1 to i
    doMove
  end if
end moveStopped

on doMove
  move grc "ball" relative tLoc without waiting
end doMove


And the time to execute these four methods are:

OS X

Move relative, 64 ticks
Set the loc, 69 ticks --Wait 0 millisec
Move to points, 37 ticks--Or as small as 1 tick
Movestopped, 67 ticks


OS 9

Move relative, 12 ticks
Set the loc, 5 ticks--Wait 0 removed
Move to points, 37 ticks--Or as small as 1 tick
Movestopped, 12 ticks


Windows

Move relative, 309 ticks
Set the loc, 15 ticks--Wait 0 removed
Move to points, 1 ticks
MoveStopped, 321 ticks
end doMove

And the winner is: OS 9

I was astonished to discover how much slower Windows was in executing "Move relative" and "MoveStopped."

The only one of the four which works for me is "Set the loc". My only problem is the fact that it is so much slower in OS X than OS 9 or Windows.

Jim
_______________________________________________
use-revolution mailing list
[email protected]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to