I think this post was bounced.. if not, sorry for the spam.. ================================== I've been working on a project for the last few months that involves the animation of many interconnected parts. When the system is just twiddling its thumbs (and not animating) it pulls down as high as 40 fps with several hundred on-screen objects. So we don't think the graphics pipeline is the issue. To perform a typical frame of animation, a behavior is triggered that computes all of the changes and calls setTransform for each transform that has to change. >From what I understand of Java3D, this is the accepted way to do this, and I can't really seem to figure out why, given a typically high frame rate, the system slows to a frame every ~700 ms when animating ~60 items. I did some timing tests, and the behavior executes in an acceptable amount of time (~15 ms to enter and exit the behavior). The gui timer I use to trigger the animation doesn't slow down much either. What does slow down is the triggering of the behavior (which should happen after every frame). I seem to remember reading that calling setTransform on a live scene will cause a retraversal of the tree. Is this style of code queueing ~60 traversals in some traversal thread, which has to do all of that, one at a time, before the display thread does its thing? It seems like this is the case to me (although I don't know a whole lot about J3D). Is there some way to make the traverser take into account a large number of changes in one traversal that I don't know about? Any help would be vastly appreciated. The system is just dandy changing a single element at a time, but the frame display time drops to ~700 for ~60 setTransforms, and ~1400 for ~180 setTransforms, which isn't really the caliber of animation I was shooting for *grin*. Thanks, Jered Windsheimer =========================================================================== 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".
