Table of Contents

Improving VNC Performance

This page is a work in progress, use the information here if it helps, but do not consider it in any way authoritative.

  1. Greg Priest-Dorman 2010/05/04 09:36

Why is my session so slow?

VNC is sending the image of your screen over the network between the server (here at CS) and your client (the machine where you are working). Depending on the network speed, the load on the server, the speed of your machine and the protocols vnc is trying to follow, the speed of your vnc session can range from “zippy” to “unusable”.

What can I do about it?

  1. You can make sure your session on our server is not putting any more demands on the server than it needs to, this way our server will be giving you the best performance it can.
  2. You can make sure your session is not more graphically demanding than it needs to be reducing the amount of information sent.
  3. You can make sure your vnc client is using an encoding/compression scheme other than “raw” so it does not try to redraw the entire screen any time one pixel changes!
  4. You can try adding ssh compression, sometimes this helps as well. Some folks find they get better performance with ssh compression boosting vnc encoding, others report that ssh compression does not add or actually slows performance over vnc encoding alone. You may just have to try and find out for yourself.

-) Your Session itself

To make sure you are not trying to push any more data over the connection than you need to push.

-) VNC encoding/compression

Our vnc server supports a number of compression protocals, the problem is that by default your vnc client may not be using any of them. Your client will likly have one of two ways to enable them.

Enabling Encoding in a GUI vnc client

If you are using a Graphical Menu based client then it should have a ``preferences``, ``settings`` or ``options`` button or menu item. There you should find compression or encoding options with names like “hextile”, “copyrect”, “zilb” and “tight”. Try any or all of these.

Enabling Encoding in a CLI vnc client

If you are starting your vnc client at a command line, then it should take encoding options on the command line. The way it does this will depend on the client. Here are a few popular clients, if yours is not here, please consult the documentation on your system.

xtightvncviewer -encodings “tight zlib hextile copyrect” localhost:1

-) SSH compression