Hi Justin,

>
>Yes, there's an interesting problem here too. I don't know how Sun
>implements their behavior handling internally. I have both approaches -
>directly registering a MouseMotionListener on the Canvas3D and also
>using behaviors. Using the former, you start to loose events in a
>heavily loaded scene, where you don't in the later. I have a sneeking
>suspicion that Sun does not use the normal AWT event capture and
>distribution mechanism for their handling of AWT events. The other hard
>part to deal with is that under the behavior model you get given
>everything. It's hard to actually filter out mouse events to only be a
>certain list. (though I haven't tried setting an event mask and using
>processEvents directly on the canvas).
>

Current implementation does use the normal AWT event capture.
However in the case of behavior the awt thread will only
put the events in the buffer (without processing). Later the
behavior thread will copy the buffer (thus free the original
awt thread to continue adding event in the buffer) and process
the content. Because of this, the awt event can accumulation
in the buffer with virtually no loss of event.

However in the case event is process inside awt event callback
thread, if it takes very long time to process the callback
the awt event queue in JDK may be full and start dropping event.

- Kelvin
-------------
Java 3D Team
Sun Microsystems Inc.

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to