----- Original Message ----- From: "Sam" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, October 11, 2001 10:21 AM Subject: [JAVA3D] a CPU utilization question
> Hi, > > I want to decrease the CPU utilization of my Java 3D application. I came > across an answer to by problem when I was going through the Java 3D FAQ > page and I have pasted it below: > > > "How can I stop 100% CPU utilization? > > Java3D uses 100% CPU to gain maximum performance and number of frames per > second rendered. On games and many highly complex applications, that leaves > no time for user code to do stuff. > To modify the priority of all the Java 3D threads running you can use the > static setJ3DThreadPriority() method. The values range from > Thread.MIN_PRIORITY to Thread.MAX_PRIORITY . " The 100% CPU utilization is a characteristic of the wakeupOnElapsedFrames(0) criterion. If your application can run acceptably with less than the maximum frame rate, you can introduce a frame delay (via a Thread.sleep(dt))in one of the methods such as preRender() of an extended Canvas3D. There's some example code around in the list archives if you search for mixed +mode. My life-guidance on this matter appears in Cay S. Horstmann and Gary Cornell, _Core Java 2_, Volume II: "TIP: If you find yourself tinkering with priorities to make your code work, you are on the wrong track. . ." The root of their caution is the OS-dependency in the VM's implementations of thread priorities, but the parts of the VMs and Java 3D in particular that handle small time increments are just adjacent minefields. Be careful out there, Fred Klingener Brock Engineering =========================================================================== 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".
