Like Zlib encoding, Tight encoding uses zlib library tocompress the pixel data, but it pre-processes data to maximizecompression ratios, and to minimize CPU usage on compression.Also, JPEG compression may be used to encode color-rich screenareas (see the description of -quality and -nojpeg optionsabove). Support for this encoding is provided for compatibility with VNC servers that might notunderstand Tight encoding which is more efficient than Zlib innearly all real-life situations. This encoding achieves good compression, but consumes a lot of CPU time. Zlib is a very simple encoding that uses zlib library tocompress raw pixel data. Hextile encoding is usually the best choice for using in high-speed network environments(e.g. The data within the tiles is senteither raw or as a variant on RRE. Here, rectangles are split up in to 16x16 tiles, which aresent in a predetermined order. This is in general more efficient, because the savings from sending 1-byte values generally outweighs thel osses from the (relatively rare) cases where very large regionsare painted the same color.
This allows for single-byte values to be used,reducing packet size. This is a minor variation on RRE, using a maximum of 255x255pixel rectangles. This is an efficient encoding for large blocks ofconstant color. In VNC, this is implemented with a background color, andthen specifications of an arbitrary number of sub rectangles andcolor for each. With this encoding, a sequence ofidentical pixels are compressed to a single value and repeat count. The Rise-and-Run-length-Encoding is basically a 2D version ofrun-length encoding (RLE). Copyrect could also be used to efficiently transmit a repeated pattern. The only data sent is the location of a rectangle from which data should be copied to the current location. The Copy Rectangle encoding is efficient when something is being moved. Raw is also the fastest when the server and viewer are on the same machine, as the connection speed is essentially infinite and raw encoding minimizes processing time.
All clients are required to support this encoding type. The raw encoding simply sends width*height pixel values. All rectangles come with a header giving the location and size of the rectangle and an encoding type used by the data which follows.These types are listed below. The most common formats are 24 and 16 bit "true-color" values, and 8-bit "color map" representations, where an arbitrary map converts the color number to RGB values.Įncoding refers to how a rectangle of pixels are sent(all pixel information in VNC is sent as rectangles). Pixel format refers to the representation of an individual pixel. If the client represents itself as able to use multiple formats, the server will choose one. The server supplies information in whatever format is desired by the client, in order to make the client as easy as possible to implement. This is the number of times a reconnect is made before the viewer close the connection. number of time the reconnect is attempted 16/24 bits color resolutions just don't work withgrey colors. Note: Grey colors only works with 32 bits color screenresolution.