JoglAppletLauncher issues summary

Hi all,

I am devellpoping a little game site based on jogl applet (If you want to test the beta version of the games go to http://mathlamenace.free.fr/feeriehunt.html and http://mathlamenace.free.fr/feeriemots.html) and I have encounters some problems with deployement of JOGL applet. I will try to summarize all the problems I have encountered or I have read in the forum. I hope its will help people who wants to use java applets and it will leads to improve the stability of the javaAppletLauncher.

  1. First, the most common problems with applets are :

1.1 No java or too old version of java. I think i can be automatically checked with javascript. If it does, maybe the javascript can be added in the JoglAppletLauncher test demo

1.2 No updated graphics card drivers. I don’t know if it is possible with javascript to automatically redirect users to the driver page of the graphic cards ?

1.3 Use of nighty build version of JOGL, that are not signed !

  1. Well known bugs

2.1 Framerate decrease when using firefox.

2.2 Applet freeze repeatidly with some ATI cars. Maybe this have been solved with the latest ATI drivers

3 Miscancellous bugs

3.1 When closing or sometime refreshing the applet the function public void init(GLAutoDrawable gldr) is sometimes recalled and leads sometimes to an exception on MakingGlContext. I have partially solved this by checking if the function have already been called.

3.2 Closing or using the back button make firefox crash on linux with an SIGSEGV error (I don’t know waht it is)

3.3 When you have too different jars in you jar base directory (thats contains also the joggl jars) which corresponds to two diferrents application and when you try to launch succecivelly (but not simultanesely) the two applets (one different web page for instance), you obtain an exception on MakingGlContext (or an java.lang.UnsatisfiedLinkError, I don’t remember) in the second applet. I have solved this by having a different basedir (each contains the jogl jars) for each applet.

3.4 If you clear the classloader cache and reload tha applet, It makes an java.lang.UnsatisfiedLinkError.

  1. some hints that have works for me (no guarantee)

4.1 Applet more stable with setRepaint(false)

4.2 Applet more stable when using JApplet

Thats all. I hope that I have forgot anyting !

Mathlamenace

PS : Please apologize for my english, I am french.

ups, wrong thread

You raise some good points. A few comments:

Several months ago I looked into both the Java Plug-In source code as well as the Mozilla source code and couldn’t figure out why this was happening (compared to the same applet running inside IE). Unfortunately we’re dealing with two huge software stacks here. The symptom was basically that the call to wglSwapIntervalEXT(0) wasn’t taking effect. Given the complexity of the software involved I thought the best way to investigate it would be to ask NVidia to see what was going on at the driver level. These discussions didn’t go anywhere at the time but I’ve just now tried to reopen them so we’ll see where we get. Down the road there may also be a solution to this issue at the Java Plug-In level.

I remember hearing that recent drivers had solved some of these issues, but haven’t tried them firsthand.

Due to the forced teardown the Java Plug-In does of applets we have found that JOGL’s GLContext state seems to sometimes get corrupted. We should investigate more exactly why this is happening and try to build in bulletproofing code if possible.

Yes, I’ve seen this. I think it is again related to the teardown process of the applet. My guess is that this probably is a JOGL bug, but it needs more investigation.