-
-
Notifications
You must be signed in to change notification settings - Fork 101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Virtualgl with xpra rendering very slow and lagging #11
Comments
Within an xpra environment (or any other X11 proxy, such as the one we provide-- TurboVNC-- or NX or whatnot), VirtualGL isn't really doing much, other than redirecting the OpenGL and GLX calls. Apart from that, it's just reading back the framebuffer and drawing the frames into the X proxy using XShmPutImage(). There are only really a few reasons why it would be slow:
I would suggest running with Also, you should never use |
@dcommander , thank you for your very useful explanation. 2-4 may not be my case. Could be 1, but not sure. running vglrun +pr APP didn't give any ouput rleated to glReadPixels(). And I have ATI cards. |
|
glReadPixels() seems enabled. So previous §1 seems to be a non-issue. $ vglrun +pr glxgears Thanks. On 11/24/15, DRC notifications@github.com wrote:
|
Do not use GLXgears. It is not a realistic benchmark. Try the following:
|
Also, another way to verify whether it's VirtualGL's fault is to simply install TurboVNC on the same server. If it's fast in TurboVNC but slow in xpra, then that's a clear indication that the lag is xpra's fault. |
On 12/2/15, DRC notifications@github.com wrote:
Thanks again. However, I tried to setup TurboVNC (downloaded .deb binary from However, /opt/TurboVNC/bin/vncviewer fails to connect to the running Is TurboVNC too complicated? Just wondering! (sorry this is not
|
@dcommander Here is the output of:
|
Is TurboVNC too complicated? No, you're just not reading the right set of instructions. All you have to do is install the DEB, run As far as the performance, the profiling output you list above indicates that the bottleneck is not in VirtualGL but in xpra. However, 40 Mpixels/sec is still a reasonable level of performance-- I would not call that "very slow." Regardless, I believe that whatever issue you're having is not VirtualGL's fault. |
Thank you for confirmation and extremely enlightening pointers. However, with TurboVNC+VirtualGL, the rendering is very fast except icons of libreoffice app is greyed out (http://picpaste.com/SKX3BlSH.png)!? |
I'll look into that issue. |
Don't forget that most X servers will not block VGL's PutImage on the WAN side; i.e. they'll happily spoil in the local fb layer, so 40 Mpixels/sec has no relationship whatsoever to "seen by user on desktop" pixels. |
My experience with xpra suggests that it does block on PutImage, because it's essentially acting as an X protocol compressor rather than a true X proxy. That's why I suggested benchmarking with |
I can't reproduce the greyed icons issue. Which GPU are you running on the server? Does the issue occur if you don't use |
(My very limited xpra knowledge was mostly informed by https://www.xpra.org/trac/attachment/wiki/DataFlow/Xpra-Data-Flow.png which shows a big Xvfb bolted on, but that doesn't prove anything. /me stops hijacking the thread.) |
Without vglrun, the icons are visible (as seen at http://picpaste.com/OYvxiPPC.png) , but x11grab with ffmpeg of the running Xvnc instance (:2) covers only 1/4 of the screen as seen at http://picpaste.com/BfHovd2Q.jpg .
$ java -version |
This gets solved with a WM as you have advised at TurboVNC/turbovnc#21 (comment)
The rendering in client seems to be much swifter in TurboVNC than in Xpra without vglrun. I am yet to test with an application with vglrun that requires opengl. |
OK, so to summarize:
Please open a new issue for any further items that you encounter, and also be sure to file issues specific to TurboVNC in that repository, not here. This thread has gotten too far into the weeds. |
That's not the case: xpra is just a regular X11 window manager, it cannot block such calls, it only gets notified by the X11 server after the event. (same as a VNC server) I am in no way saying that the "lag" is not xpra's fault, just that the cause is very unlikely to be the OpenGL rendering with xpra - as this works very well. |
Hi,
I am posting here after a gentlmanly xpra developer (Mr. Antoine Martin) pointed me to this. I have opened an issue with them at https://www.xpra.org/trac/ticket/1042
I have explained everything in the above ticke, fyi.
Thanks for the nifty virtual library.
Cheers,
/z
The text was updated successfully, but these errors were encountered: