Message: 21 Date: Wed, 12 May 2004 22:24:02 -0700 From: Scott Rossi <[EMAIL PROTECTED]> Subject: Re: Asynchronous control of many objects To: How to use Revolution <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> Content-Type: text/plain; charset="US-ASCII"

Recently, "Jim Hurley" wrote:

 I have a question about asynchronous movement of a large number of
 graphic objects.

 For example, consider a window with 50 graphic objects, perhaps 50
 small spheres--balls.

 I want to have all these objects moving asynchronously. The stack in
 which this comes up can be seen by running the following in the
 message box:

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

 My problem is that I use the *identical handler* in *each* of the 50
 balls. That seems inefficient. Is there a way to control a large
 number of objects asynchronously without duplicating the handler in
 each of the objects?

There are many ways. Here's one (type the following in your message box):

go url "http://www.tactilemedia.com/download/overkill.rev";

See the card script for details.

Snowglobe anyone?

-----

FWIW, in my experience, I've found that:

1) Enabling each object to track its own position via its own code requires
much heavier processor use than using one master script to move everything
simultaneously.  I've locked up several Windows systems doing what you
describe above, crashing Rev.  YMMV.

2) Interestingly, locking the screen between each call to position multiple
objects can also place a high demand on the processor; removing the lock
screen is surprisingly less demanding and, if your objects are small enough,
you won't notice much delay if any between the move of the first and last
objects.

3) Look at balancing the frequency of the message used to move the objects
versus the actual distance moved.  Sometimes you can employ longer interval
between moves with a longer distance moved to cut down on processor use, but
too long a distance may produce jittery, unacceptable results.

Depending on the size/type of objects, you may not be happy with performance
beyond about 30 to 40 objects or so.  The above demo does indeed use 50
objects and seems to perform acceptably on Mac OSX, but also appears to near
max out the processor.  Watch out for this on Windows (on my systems, Macs
seem to be more forgiving).  Again, YMMV.

Regards,

Scott Rossi
Creative Director
Tactile Media, Development & Design

Scott,


Thank you for the example and the analysis. It was a revelation! I had no idea that it was possible to sequentially move so many objects without it appearing that they were moving in sequence. It was for that reason that I gave each object its own code. That was probably naive since the processor must, in some sense, act sequentially on the objects.

I tried locking and unlocking the screen at the beginning and end of the repeat loop without noticeable effect. After the speed constraints of HC, I continue to be amazed at how quick RR is.

Jim

_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to