swing components blocking renderloop under linux

hello,

the following problem is only occuring under linux (ubuntu, ati-fglrx drivers):
i have a jframe which is divided by a JSplitFrame into a GLCanvas part and a JPanel part. the jpanel part contains several userinterface elements like JCheckBox, JComboBox, …
now whenever something happens in the jpanel part (like moving the mouse over any component) the rendering in the GLCanvas is blocked for a short time. this looks terrible :frowning:

i tried to start the whole thing using:


	    javax.swing.SwingUtilities.invokeLater(new Runnable() {
	        public void run() {
	        	new MainFrame();
	        }
	    });

but without any success.

the same program under windows runs fine, without any blocking.

how could i resolve this problem? thanks!

Are you using an Animator to drive the GLCanvas? If so have you tried using an FPSAnimator instead to use less CPU? In general, on Linux and X11 platforms, CPU contention issues which impact the AWT are more visible than on Windows due to the presence of a global AWT lock which is held during things like event dispatching and OpenGL rendering via JOGL.

yes, i am using an animator. i will try the FPSAnimator when i get home. thanks so far!