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