Hi everyone, this is my first post to a mailing list here at freedesktop.org and I hope this is the right place for my question/problem.
I am using VirtualGL (http://www.virtualgl.org) for full 3D hardware accelerated remote OpenGL applications with latest mesa from git (compiled for both 32 bit and 64 bit) on my 64 bit Debian Wheezy box. When I run a 32 bit application with VirtualGL I suffer nearly 50% performance drop compared when running the same 64 bit application with virtualGL. In the first place I have contacted the VirtualGL developer and he said that the performance drop is not a VirtualGL problem but related to the underlying 3D driver. The performance drop seems related to the function glxSwapBuffers which can be seen in the function call tracing of VirtualGL: 64 bit application with VirtualGL ------------------------------------- [VGL] glXSwapBuffers (dpy=0x00deb900(:0) drawable=0x00a00002 pbw->getglxdrawable()=0x00800002 ) 28.770924 ms [VGL] glDrawBuffer (mode=0x00000405 pbw->_dirty=0 pbw->_rdirty=0 pbw->getglxdrawable()=0x00800002 ) 0.005960 ms [VGL] glViewport (x=0 y=0 width=1240 height=900 ) 0.003099 ms [VGL] glDrawBuffer (mode=0x00000405 pbw->_dirty=0 pbw->_rdirty=0 pbw->getglxdrawable()=0x00800002 ) 0.002861 ms [VGL] glPopAttrib (pbw->_dirty=0 pbw->_rdirty=0 pbw->getglxdrawable()=0x00800002 ) 0.002861 ms [VGL] glPopAttrib (pbw->_dirty=0 pbw->_rdirty=0 pbw->getglxdrawable()=0x00800002 ) 0.000000 ms [VGL] glPopAttrib (pbw->_dirty=0 pbw->_rdirty=0 pbw->getglxdrawable()=0x00800002 ) 0.000954 ms [VGL] glXSwapBuffers (dpy=0x00deb900(:0) drawable=0x00a00002 pbw->getglxdrawable()=0x00800002 ) 29.365063 ms [VGL] glDrawBuffer (mode=0x00000405 pbw->_dirty=0 pbw->_rdirty=0 pbw->getglxdrawable()=0x00800002 ) 0.006914 ms 32 bit application with VirtualGL ------------------------------------- [VGL] glXSwapBuffers (dpy=0x087f7458(:0.0) drawable=0x00a00002 pbw->getglxdrawable()=0x00800002 ) 65.419075 ms [VGL] glDrawBuffer (mode=0x00000405 pbw->_dirty=0 pbw->_rdirty=0 pbw->getglxdrawable()=0x00800002 ) 0.005930 ms [VGL] glViewport (x=0 y=0 width=1240 height=900 ) 0.003049 ms [VGL] glDrawBuffer (mode=0x00000405 pbw->_dirty=0 pbw->_rdirty=0 pbw->getglxdrawable()=0x00800002 ) 0.002989 ms [VGL] glPopAttrib (pbw->_dirty=0 pbw->_rdirty=0 pbw->getglxdrawable()=0x00800002 ) 0.004064 ms [VGL] glPopAttrib (pbw->_dirty=0 pbw->_rdirty=0 pbw->getglxdrawable()=0x00800002 ) 0.001051 ms [VGL] glPopAttrib (pbw->_dirty=0 pbw->_rdirty=0 pbw->getglxdrawable()=0x00800002 ) 0.001044 ms [VGL] glXSwapBuffers (dpy=0x087f7458(:0.0) drawable=0x00a00002 pbw->getglxdrawable()=0x00800002 ) 65.005891 ms [VGL] glDrawBuffer (mode=0x00000405 pbw->_dirty=0 pbw->_rdirty=0 pbw->getglxdrawable()=0x00800002 ) 0.004926 ms Is this performance drop a normal or expected behaviour when running a 32 bit application on 64 bit OS or some kind of "bug"? Please be kind with me as I am not a developer and hardly understand all the stuff you guys are doing. Thanks for your time! Regards, Ingo PS: Enclosed you will find the output from glxinfo. 64 bit glxinfo --------------- name of display: :0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: VirtualGL server glx version string: 1.4 server glx extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGI_make_current_read, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SUN_get_transparent_index, GLX_ARB_create_context client glx vendor string: VirtualGL client glx version string: 1.4 client glx extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGI_make_current_read, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SUN_get_transparent_index, GLX_ARB_create_context GLX version: 1.4 GLX extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGI_make_current_read, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SUN_get_transparent_index, GLX_ARB_create_context OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD BARTS OpenGL version string: 2.1 Mesa 7.12-devel (git-9954a93) 32 bit glxinfo --------------- name of display: :0.0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: VirtualGL server glx version string: 1.4 server glx extensions: GLX_ARB_create_context, GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read, GLX_SUN_get_transparent_index, client glx vendor string: VirtualGL client glx version string: 1.4 client glx extensions: GLX_ARB_create_context, GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read, GLX_SUN_get_transparent_index, GLX version: 1.4 GLX extensions: GLX_ARB_create_context, GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read, GLX_SUN_get_transparent_index, OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD BARTS OpenGL version string: 2.1 Mesa 7.12-devel (git-f800a29) OpenGL shading language version string: 1.20 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev