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

Reply via email to