Weird "disconnection" from Animator

I’m experiencing a strange problem when running my application on Linux (but it’s ok on Windows).

For some reason, although I’m yet to do a complete analysis, particularly if I’m resizing my second canvas (in a JFrame), the canvases stop refreshing unless I do something that causes an exposure/redraw event (via AWT?) on the canvas, i.e. move another window over the canvas(es).

I’ve not had a chance to see if the if the canvas isn’t informing it’s listeners or if the animator itself gets stuck, but it definitely only occurs on Linux (Redhat 9) and not on Windows XP.

JDK 1.5.0_02 on both platforms
JOGL 1.1.b12 on Linux (but in fact on all versions to date).

Sounds like thread starvation and poor thread scheduling on Linux. Have you tried writing your own Animator class which calls display() in a loop with a Thread.sleep() or Thread.yield() in the loop as well? Alternatively, have you tried animating both Canvases with one animation loop (see the ListAnimator class in the JRefract demo)? Do you need to continually update both GLCanvases, or can you just use repaint operations to redraw it on demand?

I’m just using the FpsAnimator with 25fps so there is no load on the position. I’m not sure about thread starvation because all of the application continues to work just fine, including all the Swing components updating fine.

Just to clarify, it’s not that i’m constantly resizing the canvas, it’s just that the action of resizing a canvas seems to be the prime (but not the only) cause of this disconnection. Once I stop resizing a canvas (at some time during really) all of the canvases (1 to 4 may be open) stop being redrawn by their respective FpsAnimators.

The canvas just stops redrawing and the ONLY way to get it to refresh is by moving some other window over the canvas. It’s very strange. All of my actions are managed but not visibly update, i.e. i can zoom and pan my scene with the mouse but i don’t actually see any changes until i trigger some refresh action with an exposure event.

Very strange.

What graphics card and drivers? Are you running the latest set of drivers from your vendor?

Can you make your application available either by filing a bug report with the JOGL Issue Tracker and attaching it or making it available via Java Web Start?

Hi Ken.

Unfortuantely for commercial reasons I cannot make my application available. I can try and put together a simple example of multiple canvases in different windows and see if it’s as simple as that.

The hardware that the problem occurs on is Redhat 9, Xi Graphics’ Summit X server (in lieu of XOrg/XFree86) and a 3DLabs Wildcat VP880Pro. I’ve not got any other linux hardware handy to test the problem at the moment.

Thanks.

Greg.