I would still try commenting out the _doGLreadback() call.  That should
tell you whether the hang is being triggered by VirtualGL calling
glFlush() in the underlying OpenGL subsystem or whether it is triggered
by the glReadPixels() call.

On 3/18/10 6:38 PM, Karl Vogel wrote:
> On 03/18/2010 08:54 PM, DRC wrote:
>> The first thing I'd try is to enable tracing in VirtualGL (vglrun +tr)
>> and get a sense of how many glFlush() calls are being made for each
>> frame and whether front buffer rendering is in fact enabled.  Next, try
>> commenting out the call to _doGLreadback() in VirtualGL's version of
>> glFlush() and see if that improves performance and whether it causes
>> visual anomalies.
> 
> It's doing a fair share of flushes.. but from monitoring the trace log 
> output, I got the impression it's not wine or virtualgl, but something 
> else on my laptop.
> While the game was running, the trace output stopped in the middle of 
> some of the glFlush() calls and only resumed like 10+ seconds later.. 
> during that time, I could only move the mouse pointer on the laptop, but 
> not select any window or drag something.
> 
> I get a similar effect when I just start my laptop, it automatically 
> goes away after 2-3 minutes then everything continues to work fine for 
> the rest of the day...haven't been able to find the cause as it was very 
> tricky to debug..
> 
> but since I'm now able to 'trigger' the exact same effect when using 
> wine+virtualgl and the wine patch I posted about earlier, I have a 
> starting point to track the issue down.
> 
> So the good news is, it's not VirtualGL afterall :P  Sorry for the 
> confusion.
> 
> Anyway here's what the trace looked like when wine was running the game:
> 
> [VGL] glXSwapBuffers (dpy=0x7c6c1f90(localhost:10.0) drawable=0x04c000a0 
> pbw->getdrawable()=0x04e0000a ) 3.504992 ms
> [VGL] glViewport (x=0 y=0 width=1024 height=768 ) 0.020027 ms
> [VGL] glPopAttrib (pbw->_dirty=0 pbw->_rdirty=0 
> pbw->getdrawable()=0x04e0000a ) 0.015020 ms
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glViewport (x=5 y=5 width=501 height=501 ) 0.016928 ms
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glDrawBuffer (mode=0x00000405 pbw->_dirty=0 pbw->_rdirty=0 
> pbw->getdrawable()=0x04e0000a ) 0.010014 ms
> [VGL] glFlush()
> [VGL] glViewport (x=0 y=0 width=1024 height=768 ) 0.012875 ms
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glXSwapBuffers (dpy=0x7c6c1f90(localhost:10.0) drawable=0x04c000a0 
> pbw->getdrawable()=0x04e0000a ) 3.796101 ms
> [VGL] glViewport (x=0 y=0 width=1024 height=768 ) 0.020027 ms
> [VGL] glPopAttrib (pbw->_dirty=0 pbw->_rdirty=0 
> pbw->getdrawable()=0x04e0000a ) 0.017166 ms
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glViewport (x=5 y=5 width=501 height=501 ) 0.014067 ms
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glDrawBuffer (mode=0x00000405 pbw->_dirty=0 pbw->_rdirty=0 
> pbw->getdrawable()=0x04e0000a ) 0.010014 ms
> [VGL] glFlush()
> [VGL] glViewport (x=0 y=0 width=1024 height=768 ) 0.012875 ms
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glFlush()
> [VGL] glXSwapBuffers (dpy=0x7c6c1f90(localhost:10.0) drawable=0x04c000a0 
> pbw->getdrawable()=0x04e0000a ) 4.189968 ms
> [VGL] glViewport (x=0 y=0 width=1024 height=768 ) 0.022888 ms
> [VGL] glPopAttrib (pbw->_dirty=0 pbw->_rdirty=0 
> pbw->getdrawable()=0x04e0000a ) 0.017881 ms
> 
> etc etc
> 
> 
> ------------------------------------------------------------------------------
> Download Intel® Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> VirtualGL-Users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/virtualgl-users

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
VirtualGL-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/virtualgl-users

Reply via email to