>> I've been using VNC for a couple of years now, almost always with copyrect
>> hextile encoding. Despite looking over all the FAQ's and documentation, I
>> have yet to see a really good explaination of when I might want to use any
>> of the other encodings, or what the pros and cons between them. Can anyone
>> recommend some online resources for non-programmers, or give me a brief
>> synopsis?
>
>The answer is pretty much "never". The other encodings (RRE and CoRRE) are
>really there to support older clients and servers, and also to make it
>trivial to write new ones, since Hextile is relatively complex by
>comparison. The RFB Clock mentioned on the VNC site, for example, uses RRE
>to render itself.
>
>The only other encoding you might use is Raw, in conjunction with CopyRect,
>if your network is a high-bandwidth one, in which case you save by not
>encoding the data.
I beg to differ - RRE and CoRRE are in fact *more* bandwidth-efficient than
Hextile for the case of large flat areas of colour. The reason for this is
that Hextile must send (not very much) information for every 16x16 tile,
wheras (Co)RRE can just send a single colour reference for the entire
rectangle, then fills in any 'exceptions'. If the number of exceptions is
small, the extra overhead of each exception in RRE is swamped by the saving
in overhead-per-tile over Hextile. In the Mac server, I put a cap on the
number of exceptions allowed in (Co)RRE, partly due to memory
considerations, but also to reduce CPU usage to that required to detect the
limited number of (fairly common) cases where (Co)RRE is effective.
To illustrate, my Mac server automatically encodes each rectangle using
every encoding available and sends the one that turns out the smallest
(discarding any that can't encode due to lack of memory etc. etc.) -
monitoring statistics shows that a fair percentage of rectangles get
encoded using RRE on alpha-2 (on which CoRRE was accidentally disabled).
It remains to be seen how that percentage is affected by the new
frame-differencing algorithm I intend to implement for alpha-3 or 4, and by
the encoding bugfixes that should appear in alpha-3.
I can't comment on the 'newer' encodings such as Tight or Zlib yet, since
these are not implemented in the Mac server. However, these have their own
advantages and disadvantages relative to the older encodings and each other.
--------------------------------------------------------------
from: Jonathan "Chromatix" Morton
mail: [EMAIL PROTECTED] (not for attachments)
big-mail: [EMAIL PROTECTED]
uni-mail: [EMAIL PROTECTED]
The key to knowledge is not to rely on people to teach you it.
Get VNC Server for Macintosh from http://www.chromatix.uklinux.net/vnc/
-----BEGIN GEEK CODE BLOCK-----
Version 3.12
GCS$/E/S dpu(!) s:- a19 C+++ UL++ P L+++ E W+ N- o? K? w--- O-- M++$ V? PS
PE- Y+ PGP++ t- 5- X- R !tv b++ DI+++ D G e+ h+ r- y+
-----END GEEK CODE BLOCK-----
---------------------------------------------------------------------
To unsubscribe, send a message with the line: unsubscribe vnc-list
to [EMAIL PROTECTED]
See also: http://www.uk.research.att.com/vnc/intouch.html
---------------------------------------------------------------------