Hi people; I've been running some really simple Java 3D applications & the start-up time is quite slow. I've included an example that part of one of the on-line Java 3D tutorials on the net (I think I got it off the Sun site... anyway, it's not important). I was surprised to find out that it took about 3-4 seconds to start up. Is this normal? If so, I imagine the problem will be greatly magnified if I have 100's or 1000's of entities in the scene graph. Does anyone know why this happens? Is it the time taken to compile the scene graph? I'm running on a PII-350 with 128MB RAM and my graphics adapter is a Matrox Graphics MGA-G100 AGP with 4MB RAM. Karen Dias, Engineer, ISE Here's the dinky example that takes up to 4 seconds to start. --- A single rotating cube **************************************************************************** ****************************************************** // HelloJava3Dd.java // import java.applet.Applet; import java.awt.BorderLayout; import java.awt.Frame; import java.awt.event.*; import java.awt.GraphicsConfiguration; import com.sun.j3d.utils.applet.MainFrame; import com.sun.j3d.utils.geometry.ColorCube; import com.sun.j3d.utils.universe.*; import javax.media.j3d.*; import javax.vecmath.*; import java.io.*; // HelloJava3Dd renders a single, rotated cube. public class HelloJava3Dd extends Applet { // createSceneGraph method public BranchGroup createSceneGraph() { // Create the root of the branch graph BranchGroup objRoot = new BranchGroup(); // rotate object has a composite transformation matrix Transform3D rotate = new Transform3D(); Transform3D tempRotate = new Transform3D(); rotate.rotX(Math.PI/4.0d); tempRotate.rotY(Math.PI/5.0d); rotate.mul(tempRotate); TransformGroup objRotate = new TransformGroup(rotate); // Create the transform group node and initialize it to the // identity matrix. Add it to the root of the subgraph. TransformGroup objSpin = new TransformGroup(); objSpin.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); // First add objRotate, the static rotation of the cube to the // root node. objRoot.addChild(objRotate); // Then add the transform that will be used to spin the cube to // the Static Rotation Transform. objRotate.addChild(objSpin); // Create a simple shape leaf node and add it to the scene // graph. ColorCube is a Convenience Utility class. objSpin.addChild(new ColorCube(0.4)); // Next, create the Behavior object that performs the desired operation // on the specified transform object and add it to the scene graph. Transform3D yAxis = new Transform3D(); Alpha rotationAlpha = new Alpha(-1, 500); RotationInterpolator rotator = new RotationInterpolator(rotationAlpha, objSpin, yAxis, 0.0f, (float) Math.PI*2.0f); // a bounding sphere specifies the region a behavior is active in BoundingSphere bounds = new BoundingSphere(); rotator.setSchedulingBounds(bounds); objSpin.addChild(rotator); return objRoot; } // end of CreateSceneGraph method of HelloJava3Dd // Create a simple scene and attach it to the virtual universe public HelloJava3Dd() { setLayout(new BorderLayout()); GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); Canvas3D canvas3D = new Canvas3D(config); add("Center", canvas3D); BranchGroup scene = createSceneGraph(); // SimpleUniverse is a Convenience Utility class SimpleUniverse simpleU = new SimpleUniverse(canvas3D); // This will move the ViewPlatform back a bit so the // objects in the scene can be viewed. simpleU.getViewingPlatform().setNominalViewingTransform(); simpleU.addBranchGraph(scene); } // end of HelloJava3Dd (constructor) // The following allows this to be run as an application // as well as an applet public static void main(String[] args) { Frame frame = new MainFrame(new HelloJava3Dd(), 256, 256); } // end of main (method of HelloJava3Dd) } // end of class HelloJava3Dd **************************************************************************** ****************************************************** =========================================================================== 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".