Bug 905 - GLJPanel and GLOffscreenDrawable Performance
Summary: GLJPanel and GLOffscreenDrawable Performance
Status: RESOLVED FIXED
Alias: None
Product: Jogl
Classification: JogAmp
Component: macosx (show other bugs)
Version: 2
Hardware: All macosx
: --- enhancement
Assignee: Sven Gothel
URL:
Depends on: 891 894 904
Blocks: 888
  Show dependency treegraph
 
Reported: 2013-11-15 13:36 CET by NewBie
Modified: 2013-11-28 13:26 CET (History)
0 users

See Also:
Type: ---
SCM Refs:
Workaround: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description NewBie 2013-11-15 13:36:56 CET
Dear Sir/Madam,

When I use Swing MDI window with JDesktopPane embedded with many JInternalFrames. Each JInternalFrame contains one GLJPanel. When we start FPSAnimator with 30fps rate. Till 10 GLJPanel's, I can get GLEventListner::display function call at 30fps rate. When it increases beyond, for example, for 16 GLJPanel's, I can get only 20fps rate. I have done many way's to fix the issue, but nothing is working. In GLEventListner display function, I am not calling any GL functions, it will simply returns. 

Thanks and Regards,
Anand
Comment 1 Sven Gothel 2013-11-17 18:28:35 CET
.. not a regession.
Comment 2 Sven Gothel 2013-11-17 18:31:25 CET
Referencing already fixed performance issues, i.e. Bug 891, Bug 894 and Bug 904.
Comment 3 Sven Gothel 2013-11-24 18:56:29 CET
As mentioned in a forum post,
using vertical sync (vsync) on multiple GLEventListener each in their 
GLAutoDrawable (GLJPanel, GLCanvas, GLWindow, ..) may reduce the
frames per seconds value. This is true for the NVidia driver at least.

Only using one GLEventListener utilizing vsync solves the issue.

vsync can be set via gl.setSwapInterval(int i).
Comment 4 Sven Gothel 2013-11-24 18:58:24 CET
(In reply to comment #3)
> As mentioned in a forum post,
> using vertical sync (vsync) on multiple GLEventListener each in their 
> GLAutoDrawable (GLJPanel, GLCanvas, GLWindow, ..) may reduce the
> frames per seconds value. This is true for the NVidia driver at least.
> 
> Only using one GLEventListener utilizing vsync solves the issue.
> 
> vsync can be set via gl.setSwapInterval(int i).

Only using V-Sync on one of many GLJPanel solves
performance degradation w/ X11/NV:
  <http://jogamp.org/deployment/archive/master/gluegen_751-joal_502-jogl_1153-jocl_879-signed/jogl-applet-bug848_glcanvas01.html>
Comment 5 Sven Gothel 2013-11-28 13:26:49 CET
All depending bugs are resolved.

With recommendation of comment 3 and comment 4 (vsync) 
this issue is considered to be resolved.