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".

Reply via email to