Areas
  • J3D FAQ
  • Tutorials
  • Utilities
  • Books
  • News
  • Other Sites
  • FAQ Topics
  • Introduction to Java 3D
  • Documentation
  • Speed issues
  • Running Java 3D
  • Object manipulation
  • Scene appearance
  • Java 3D and Swing
  • Image capturing
  • Stereo viewing
  • Input Devices
  • Textures
  • Web browsers
  • Video Hardware
  • VRML
  •   

    Speed issues

    1. Making Java 3D run more quickly

    2. Using BranchGroup.compile()

    3. Scenes with many cylinders and spheres

    4. I have an XYZ Video Card. Why is it so slow?

    Return to the main FAQ page for more questions and answers.

      

    1. Making Java 3D run more quickly

    Doug Twilleager (Doug.Twilleager@eng.sun.com) has written a Java3D 1.1 Performance Guide that was posted to the j3d interest list. A copy of it is available at

    http://www.j3d.org/faq/perf_guide.html

    Back to top

    2. Using BranchGroup.compile()

    It is often recommended that you compile() your scene graphs. Sun's Doug Gehringer wrote up a small article explaining what compile does and how you might best make use of its capabilities.

    Compile is designed to optimise certain types of scenes where a lot of common information is stored. In particular MCAD data greatly benefits from this.

    You can view Doug's article here .

    Back to top

    3. Scenes with many cylinders and spheres

    The default number of subdivisions for spheres and cylinders is high, leading to pretty nice looking objects, but objects with really high polygon counts.

    The default for cylinders is 50 in x and y, which is 5200 triangles. If you specify a lower number of subdivisions, you'll still get objects that look good, but with dramatically lower polygon counts. Try 10 for x and 1 or 2 for y.

    The default for sphere is 30. You can set that lower too.

    Back to top

    4. I have an XYZ Video Card. Why is it so slow?

    Many video cards designed for PC systems are designed for game playing. These cards only work in fullscreen mode (for example cards based on the Voodoo chipsets). That is, they do not provide hardware accelaration for 3D graphics when it is running in a window. When this happens, the underlying rendering API defaults to a software rendered mode making it much slower. Since Java3D only operates in windowed mode (see How Do I run J3D in Fullscreen Mode) you will never have hardware accelaration with your video card.

    The solution is to purchase a card that supports windowed hardware accelaration. Generally, any card with full OpenGL hardware support will offer this (particularly cards based on 3DLabs chipsets eg Permedia 2).

    Check the video card section of this FAQ for more information about video cards.

    Back to top

      

    [ Copyright Info ] [ FAQ Home ] [ J3D.org Home ] [ Tutorials ] [ Utilities ] [ Books ] [ Contact Us ]