Jogl in Applet - couple of issues

Hi,

on some client computers, gl.isExtensionAvailable( “GL_VERSION_1_3” ); returns false when the applet and the GLCanvas is created outside the browsers viewport, i.e. when the user has scrolled down the page and the applet is created on the top of the page. If the applet is visible during the initialization, the method returns true. This happens on one test computer here at the office, tested with ie6 and firefox, java 1.5 and java1.6, GeForce 6600 LE latest drivers, but also on a few beta testers computers.

If using GLJPanel instead of a GLCanvas, we have seen random browser freeze when the user is navigating from the page containing the applet. In Opera, if the computer has an ATI-graphics card, a hard crash happens every time the user navigates from the page and a hs_err_pid log file is created. I’m attaching the log-file.

Any help is welcome :slight_smile:

You’re calling this function from within your GLEventListener’s callbacks, correct?

Did you use the JOGLAppletLauncher and allow it to turn off the use of DirectDraw for applets?

Sorry, but I don’t have any useful suggestions at this point beyond preparing a test case and filing a bug with NVidia or whoever the graphics card vendor is.

At first glance this crash looks like a bug in ATI’s drivers. I would prepare a test case and file it with ATI.

In general I’ve found that on Windows computers especially in the context of applets it’s best to back off to the minimal amount of functionality: on-screen heavyweight rendering (a GLCanvas), no OpenGL context sharing, and having fallback paths in your code to support OpenGL 1.1 in case you end up using Microsoft’s software OpenGL implementation.

Hi,

thanks for your reply. Yes we’re calling the gl-function from within the GLEventListener-display method, and we’re using JOGLAppletLauncher with -Dsun.java2d.noddraw=true set in the plugin parameter field. The strange thing is, on a different test computer here at the office with pretty much identical spec, same graphics card with the same drivers, the bug does not happen.

We do have a fallback to software rendering with gl 1.1, which kicks in when the gl-function call fails, but in this case, when the canvas has been initialized “offscreen”, all that gets rendered is a black applet-window. Software rendering works great otherwise and is how we worked around this issue: http://www.java-gaming.org/forums/index.php?topic=16324.0

The second issue, the Opera crash only happens with ATI, but we get browser freezes on nvidia computers as well on occasion when using a GLJPanel.