Very exciting study.  I am sure Jeff Kesselman over at JavaGaming would like
to see the results of the study.

I am curious about a few things:

1. How will you compare Java3d's ability to create optimized output streams
to that of the other 2 API's?  Java3d sorts output atoms by materials and
other appearance characteristics so that it reduces the amount of
information being sent to the card is reduced.  So while it is possible to
"hand optimize" the code which uses the raw openGL (GL4Java and C++), it is
hard to compare the two.

2. What kind of visibility culling will you be doing in all three systems?
Java3d uses FOV culling, while there is no native culling in the other two
API's.

3. Java3d lets you handle dynamic geometry differently than the other API's.
Java3d can use display lists or vertex arrays, etc based on criteria
established within the Java3d kernel.

I could go on and on.

I guess I am questioning the viability of comparing a scene graph based API
to lower level OpenGL bindings.  Its sort of like measuring the difference
of assembly to C++.  I have no doubt you can always hand code any particular
scene to run faster in GL4Java than in Java3d.  The power of Java3d lies in
everything it does for you, and the portability you get in using a platform
independant API.

Dave Yazel

-----Original Message-----
From: Jacob Marner [mailto:[EMAIL PROTECTED]]
Sent: Thursday, November 29, 2001 8:43 AM
To: [EMAIL PROTECTED]
Subject: Re: [JAVA3D] Benchmarking


> It is faster.  It is is also more efficient.

Thanks for the info.

> I don't envy you your mission,
> because it is very easy to write slow Java3d code.  The problem is that
most
> of the time if your application performs slowely it is because of poor
> coding.

I am quite proficient in both 3D and Java (but not java3D - I will be)
also for pushing the performance so I expect to be able to push it
with Java3D if I set my mind to it.

I have written som benchmarks already for non-3D stuff

http://www.rolemaker.dk/other/javabenchmark/index.htm
(Not complete so take it with a grain of salt.
PS: Don't comment those benchmarks here - there is a
thread at www.javagaming.org for that)

If you see those benchmarks that also measure "untweaked" code
you will see how right you are about how easy it is to write slow
Java code if you are not careful.

> It's hard to even just calculate triangles per second, frames per
> second or any other metric which would be comparable to other API's.

For the 3D comparison I will use the same strategy as for the other
benchmarks, namely to (try to) create some small representative
3D application and then see what performs best. I will focus on the
rendering itself so I will create a fairly complex scene, ensure that the
same algorithmic optimizations are applied in both and then move the
camera and some scenery around for a number of frames and then measure
the elapsed time. The trick is to make the application such that it
does not end up beng based on a few single features but uses a
representative variety.

I plan to do the 3D performance comparison between:
Java3D 1.3 beta 1 OpenGL
Java with GL4Java
C++ with OpenGL

since all uses openGL any driver differences will be zeroed out.

When done I will naturally post the report on-line.

Jacob Marner

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

===========================================================================
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