Jacob, > > Hi, > I have a few performance questions > > (I am fairly new to Java3D but has used OpenGL for quite some time) > > 1. > --------------- > There seem to be some people that think that java3D immediate > mode is faster than compiled retained mode. However, in the > Sun java3d faq it says the opposite. So which is fastest? (Disregarding > ease of use) >
In general, compiled-retained mode is the fastest. User should only use immediate mode if needed, such as have a better control of the rendering. Such flexibility usually comes at the expense of performance. > 2. > --------------- > > It seems that everybody believes that the placement of viewer > should be controlled in the transform just above the view platform. > > However, doing so to look in a certain direction using lookAt > requires a matrix inversion (v is the Transform3D class > above the Viewplatform): > > v.lookAt(cameraPos, endPoint, upVector); > v.invert(); > > because of the way the modelview matrix is calculated. > (See the Java3D 1.3 beta 1 spec pages 294 and 295). > > If I placed the same transform at the top of the scene graph > and dropped the transform above the viewplatform I > could avoid this invertion. > > Is there any way I can avoid the matrix invert while still > placing the view transform as recommended? I would > rather like to avoid compatibility mode since it is not > recommended for java3D applications but just > included to make porting easier. The invertion to the view's transform, is a once per frame cost. The transform change above the scene is a per object cost (including TG, SG, S3D ... ), and such operation can be very expensive. > > 3. > ----------------- > Does the scene graph compiler in Java3D 1.3 beta 1 merge > Shape3D objects assuming: > 1. They have the same Appearance object > 2. They are transformed the same way, i.e. are > in the same branch of the scene graph (there is some transforms > but these are eliminated because no capability bits are set in them > nor below them in the tree) Yes. > > I think I read somewhere that Shape3D objects have an > overhead each - if they are not combined automatically, > does this mean I should merge them manually for speed? Unless that's the bottleneck. It's best to do some benchmark/ analysis first. - Chien Yang Java 3D Team. =========================================================================== 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".