Xuedong Din (IT) wrote:
Hi, can someone who knows J3D inside shed some light on my questions?
Thanks in advance.
I'm developing a 3D dynamic application based on Pure Immediate Mode.
I first draw about 5000 triangles on GraphicsContext3D and then swap
the corresponding Canvas3D. The "draw" action takes very little time,
but the single "swap" action takes about 200 milli-seconds each loop,
and that leads to a 5 FPS. I'm using IBM Thinkpad A22p Windows 2000,
which has 900 MHz CPU, 384 RAM, ATI Mobility 128 video card, and
DirectX 9.0. My questions are:
1. What factors can affect the speed of the "swap" function? The J3D
internal rendering functions? The speed of the video card? DirectX or
OpenGL?
2. Based on the number of triangles in my application and the machine
I'm using, is it reasonable to get a 5 FPS performance? Can the
popular J3D scene-graph mode provide a better performance than the
pure immediate mode?
3. Is there any way I can do on the software side to speed up the
"swap" function call?
Thanks,
Xuedong Din
IT, POS/Commerce
Borders Group, Inc.
734-477 4116
The "draw" action only send a message to the Renderer thread. It is the
swap command actually wait for the Renderer thread
to finish before allowing user thread to continue. That's why you see
this behavior.
Use retained mode with SceneGraph compile should provide better
performance. Since in the best case
the vertex will not pass down to the graphics card every frame.
Also try both OpenGLand DirectX version of J3D to see which one works
better for your graphics
card driver.
- Kelvin
-----------
Java 3D Team
Sun Microsystems Inc.
===========================================================================
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".