Re: [VirtualGL-Users] Single application runs very slow withVirtualGL/TurboVNC while others run fin
3D Without Boundaries
Brought to you by:
dcommander
|
From: DRC <dco...@us...> - 2008-04-24 17:31:05
|
> My Questions are: > > - Is there a way to further debug a VirtualGL session? You may be encountering a known issue with ANSYS and VGL, described in "Notes for ANSYS and Pro/E" in the following section of the VGL User's Guide: http://www.virtualgl.org/vgldoc/2_1final/#hd0015 If this is indeed the cause of your slow-down, then you should be able to work around the issue by setting the environment variable VGL_INTERFRAME=0 on the server (if you are displaying using the VGL Image Transport) or setting the environment variable VGL_FPS=20 on the server (if you are displaying using TurboVNC.) If this doesn't work, then the next step would be to run VirtualGL in profiling mode: vglrun +pr {your application} You can also setenv VGL_PROFILE=1 on the client machine to get similar output from vglclient. Next, load your application and (if possible) get it to automatically rotate a model without mouse interaction. This should produce a steady image stream into VirtualGL, so you can monitor the profiling output on both server and client and (hopefully) figure out where the bottleneck is. > - Are there any general tipps to further increase overall performance? If other applications are performing adequately, I suspect this is application-specific rather than a systemic issue. Rarely, an application will encounter issues with a remote X display because the application uses the X protocol inefficiently. In these cases, the application may perform better in TurboVNC, since TurboVNC acts like a local X display. In the case of ANSYS, the app is using OpenGL inefficiently. It can send thousands of back-to-back glFlush() calls, which works OK on a local display but tends to trip up VirtualGL's pixel readback heuristics. > - Is there any practical experience how many users may use VirtualGL > simultanously? Depends on the application and the hardware capabilities. We've been able to put as many as 4 per GPU with "typical" CAD applications without encountering any severe performance lag, but our studies on this topic are far from incomplete. > - Is there a way to utilize multiple cpu cores, as rotating > an object seems to > produce 100% cpu usage on one core for a short period of time > (ssh process)? VirtualGL uses a separate thread to perform image compression, so if the application is using one CPU to do its computation, VirtualGL shouldn't theoretically interfere with it. You can try enabling multi-threaded compression (vglrun -np {number_of_threads}), but it's been our experience that this doesn't really help all that much unless the server has a bunch of old, slow CPUs and is displaying to a newer client. Usually, the client-side decompression is the main bottleneck when running on a LAN. > - Is there also a commercial support for VirtualGL/TurboVNC available? Absolutely! http://www.sun.com/servers/cr/visualization/shared.jsp |