Multiple GLJPanel overhead

Hi, This is a question as I begin a version 2 of some software that uses jogl.

Presently I have a GLCanvas in a tab container and a GLEventlistener that handles the rendering.
I create display objects that do the actual rendering to the GL canvas and keep references to these
in an array list. When necessary the GLEventlistener’s display method is invoked and I iterate through
the list and invoke the rendering method of the display objects.

Now I’m trying out the new GLJPanel with the new pipeline and wonder if I create diferent GLJPanels
for each display object and have them stacked on top of each other, what is the penalty from the jogl
memory footprint and speed perspective. I figure that the GLJPanels may add quite a bit of memory,
Anybody have an idea how much. But I’m more concerned about the speed.

If you are using Mustang with the Java2D/OpenGL pipeline enabled (-Dsun.java2d.opengl=true) then the GLJPanel should be fast and have very little memory overhead. Otherwise it will have a significant speed penalty compared to the GLJPanel when resized to larger dimensions.

[quote]Otherwise it will have a significant speed penalty compared to the GLJPanel when resized to larger dimensions
[/quote]
So I can take it that if I use the GLJPanel but without the Java2D/OpenGL pipeline enabled, I will see a significant speed reduction, especially when I resize to larger dimensions.

That assumption is correct. The non-GL Java2D GLJPanel uses PBuffers that are read to an array and then sent back to the videocard. That is very slow on any system.

OK, here goes :):slight_smile: