R
Reza Roby
Hi guys,
I've written an application that makes many OpenGL calls for rendering a
scene. (The calls are glColor3f and glVertex3f, mostly.)
when my loops make about 1,400,000 additional calls to glColor3f, render
time goes from 50 Milliseconds to 300 Milliseconds!
Straight c (gcc/linux) can do 1,400,000 glColor3f's, 20 times as fast
(same hardware.)
This suggests the jogl->OpenGL bridge is very slow.
I could be wrong, but I think not.
------------------------------------------------
My question is not JOGL specific:
Can you briefly explain how the Java->native bridge is implemented?
How that explains the JOGL slowness?
And if it can be made faster?
I chose Java for it's seamless platform independence, and fairly decent
JIT, but Java->OpenGL speed is crucial.
I am presently looking into wxWindows and wxGLCanvas as a potential
alternative.
I really appreciate any help that makes my decision easier.
PS:
I won't shy away from reading the JOGL source code, if you tell me how
it works, and what to do.
I've written an application that makes many OpenGL calls for rendering a
scene. (The calls are glColor3f and glVertex3f, mostly.)
when my loops make about 1,400,000 additional calls to glColor3f, render
time goes from 50 Milliseconds to 300 Milliseconds!
Straight c (gcc/linux) can do 1,400,000 glColor3f's, 20 times as fast
(same hardware.)
This suggests the jogl->OpenGL bridge is very slow.
I could be wrong, but I think not.
------------------------------------------------
My question is not JOGL specific:
Can you briefly explain how the Java->native bridge is implemented?
How that explains the JOGL slowness?
And if it can be made faster?
I chose Java for it's seamless platform independence, and fairly decent
JIT, but Java->OpenGL speed is crucial.
I am presently looking into wxWindows and wxGLCanvas as a potential
alternative.
I really appreciate any help that makes my decision easier.
PS:
I won't shy away from reading the JOGL source code, if you tell me how
it works, and what to do.