Hi Simeon, > ... I have a > situation where I want to have an Alpha-based behavior occurring while some > other processing goes on, and when the RotationInterpolator is active my CPU > is pegged, taking cycles away from the more important processing I need to > happen.
Hmm, some days ago Artur Biesiadowski posted test results running multiple Behaviors simulatatiously. Here is his table: | Results are in fps after some time (when it stabilizes). | Left column is number of behaviors. | | ModEB ModRB NoModRB | 10 199 199 241 | 100 199 199 241 | 1000 98 75 93 | 10000 13 9 9 So, up to 100 Behaviors should be no real problem at all. May be, your important work is done in some arbitrary thread, because you consider: > 1) Instantiate my Canvas3D instance in a thread of lower priority Then, what about doing your important work in another Behavior with a WakeupOnElapsedFrames(0), so it runs with the same priority as Interpolators. This would require, that your work either is short enough to not stop rendering or else can be broken apart into small enough pieces ... which then may complicate matters considerably. > 2) Subclass RotationInterpolator and change the protected member > "defaultWakeupCriterion" to an instance of WakupOnElapsedTime, overriding > the default instance of WakeupOnElapsedFrames(0). I've read somewhere (can't find it back just now) that WakupOnElapsedTime REALLY may hog the CPU, because J3D then can't behave event driven, but must poll for the right time to awake that Behavior. Just some thoughts Georg ___ ___ | + | |__ Georg Rehfeld Woltmanstr. 12 20097 Hamburg |_|_\ |___ [EMAIL PROTECTED] +49 (40) 23 53 27 10 =========================================================================== 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".
