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".
