On Sat, Feb 12, 2011 at 03:19:48PM -0600, DRC wrote:
> You have to run glxspheres with vglrun.  Otherwise, it will use the
> software OpenGL renderer in TigerVNC, and that will be the bottleneck,
> not TigerVNC's image pipeline.
> 
> Also realize that the methodology is not just running GLXspheres and
> reading the output of that benchmark.  You have to run
> 
>   vglrun -sp glxspheres -fs
> 
> to ensure that frame spoiling is disabled in VirtualGL, so that VGL is
> drawing only the frames that get rendered.  You then have to measure the
> frame rate from the client using TCBench, to ensure that you are reading
> only the frames that get delivered to the client.  Using TCBench may not
> make any difference on a fast network, because generally TigerVNC won't
> drop frames in that scenario, but it definitely can drop frames in a
> low-bandwidth environment, so the frame rate reported by GLXspheres
> wouldn't be accurate in that case.
> 
> Also, if you want to reproduce the exact scenario under which I am
> running the benchmarks, set your TigerVNC geometry to 1240x900 and use a
> 1280x1024 resolution on the client display.

I have captured the frame rates using tcbench:
* Xvnc arguments: -SecurityTypes TLSNone,None  -geometry 1280x900 -depth 24
* glxspheres -fs
* all runinng on one computer

* vncviewer with None
Samples: 1493  Frames: 250  Time: 30.007244 s  Frames/sec: 8.331322
Samples: 1493  Frames: 249  Time: 30.000328 s  Frames/sec: 8.299909

* vncviewer with TLSNone
Samples: 1493  Frames: 208  Time: 30.003126 s  Frames/sec: 6.932611
Samples: 1493  Frames: 209  Time: 30.014431 s  Frames/sec: 6.963317

6.93/8.3 = ~16 % less frame rate

As the limit is the software renderer, I wanted to try a simpler GL application:
I have modifed glxgears to be full screen [unsigned int winWidth =
1280, winHeight = 900;] - every thing else is the same.

* vncviewer with TLSNone
Samples: 1491  Frames: 651  Time: 30.017669 s  Frames/sec: 21.687227
Samples: 1492  Frames: 657  Time: 30.013056 s  Frames/sec: 21.890473

* vncviewer with None
Samples: 1493  Frames: 707  Time: 30.014369 s  Frames/sec: 23.555384
Samples: 1493  Frames: 714  Time: 30.014356 s  Frames/sec: 23.788616

21.6/23.7 = ~9% less frame rate

vglrun (VirtualGL-2.2.tar.gz, 7ab7a3ff9c6e36879a1e37e2cacc7f18) is not working 
on my Debian stable system:
Polygons in scene: 62464
[VGL] Shared memory segment ID for vglconfig: 950273
[VGL] XOpenDisplay (name=NULL [VGL] Opening local display :0
[VGL] XQueryExtension (dpy=0x01efd120(:0.0) name=XKEYBOARD *major_opcode=144 
*first_event=97 *first_error=153 ) 0.020981 ms
dpy=0x01efd120(:0.0) ) 0.865936 ms
[VGL] glXChooseVisual (dpy=0x01efd120(:0.0) screen=0 attrib_list=[0x0004 
0x0008=0x0008 0x0009=0x0008 0x000a=0x0008 0x000c=0x0001 0x0005 ] [VGL] WARNING: 
VirtualGL attempted and failed to obtain a Pbuffer-enabled
[VGL]    24-bit visual on the 3D X server :0.  If the application
[VGL]    subsequently fails, then make sure that the 3D X server is configured
[VGL]    for 24-bit color and has accelerated 3D drivers installed.
ERROR (559): Could not obtain RGB visual with requested properties

Xserver has 24bit support:
screen #0:
  dimensions:    1920x1080 pixels (508x285 millimeters)
  resolution:    96x96 dots per inch
  depths (7):    24, 1, 4, 8, 15, 16, 32
  root window id:    0x10c
  depth of root window:    24 planes
  number of colormaps:    minimum 1, maximum 1
  default colormap:    0x20
  default number of colormap cells:    256
  preallocated pixels:    black 0, white 16777215
  options:    backing-store NO, save-unders NO
  largest cursor:    64x64
  current input event mask:    0xd2001d
    KeyPressMask             ButtonPressMask          ButtonReleaseMask        
    EnterWindowMask          StructureNotifyMask      SubstructureRedirectMask 
    PropertyChangeMask       ColormapChangeMask       
  number of visuals:    64
  default visual id:  0x21

3D is also working:

name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
[...]
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
[...]
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: Mesa DRI R600 (RS780 9614) 20090101  TCL DRI2
OpenGL version string: 1.5 Mesa 7.7.1

And: :0 is definitly my xorg server.

So sorry, I wast not able to test with your method.

The best test for the performance regression would be a simple X
program, which switches very fast between a few, very different, full
screen images and does not require very much cpu resources (in the
program and Xvnc).

=>

So TLS encryption is using more resources and is slower than not
encrypting - but for default linux installations, the slowdown is less
than 25 %. The amount of data transfered over the network increases
too - if the bandwith is already saturated, it can get worse.

Regards,
Martin Kögler

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to