Is there a stand-alone bitmap/framebuffer VNC encoder available?

Caleb Crome joeblow "at"
Tue, 19 Jun 2001 11:29:50 +0000

> >I was wondering if the X, Mac, Or Windows VNC RFB encoders are
> >'intelligent', i.e. based on high level X/Win/Mac OS calls, or are they
> >encoders for the screen buffer bitmap?  (Obviously, it would be much more
> >computationally efficient to encode from the high level calls,
> rather than
> >diff-ing bitmaps.)
> Computationally yes, but from a design point of view, no.
> In fact, to be as simple and cross-platform as possible, VNC does in
> fact work on raw framebuffers, and uses compression techniques on
> that.  Read the RFB protocol spec (in the Documentation section of
> the AT&T website) and you'll see what I mean.

	I'm not sure this was an answer to the question I *meant* to ask,
though is certainly may be. I understand the RFB protocol, and have
previously read the RFB document, and it's a very simple yet elegant
protocol.  I understand that RFB is bitmap based.

	My question is this:  Do the encoders *start* with bitmap data?
How does the encoder know which rectangles have changed since the last
RFB update?  Surely, on a 1280x1024x24 X session, the server doesn't do
a *full* diff of the current vs. the last screen to see that the mouse
pointer has moved to the left one pixel, or that nothing has changed.
Or, say, how does the encoder know that a window is being dragged, and
to send an encoding to the client to move a window area already on the
screen?  Is this knowlege based on the higher level X calls intercepted
by the VNC X server (vncserver) or does vncserver simply draw the X calls
onto an internal framebuffer, and then encode that for sending over the

Thanks again,

> --
> --------------------------------------------------------------
> from:     Jonathan "Chromatix" Morton
> mail:     chromi "at"  (not for attachments)
> website:
> geekcode: GCS$/E dpu(!) s:- a20 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+(*)
> tagline:  The key to knowledge is not to rely on people to teach you it.
> ---------------------------------------------------------------------
> To unsubscribe, send a message with the line: unsubscribe vnc-list
> to majordomo "at"
> See also:
> ---------------------------------------------------------------------
To unsubscribe, send a message with the line: unsubscribe vnc-list
to majordomo "at"
See also: