>* Ideally Xvnc could be made "smarter" about working out how much of the
>screen
> is affected by a colormap change, but that's really quite hard (you'd need a
> kind of "reverse index" of the framebuffer, telling you for each pixel value
> whether that pixel value occurs in particular areas of the screen).
You might want to look at the way the ChromiVNC server handles it:
A buffer is allocated, containing a "mirror" of the screen in the client's
pixel format. Whenever the system reports a changed area of screen, this
area is compared to the buffer. If changes were detected, the changed
parts are copied into the buffer and encoded for sending. The challenge
here is to convert the "changed area" into a number of update rectangles
efficiently - this is currently an ongoing project. This approach is
actually used for all modes, not just 8-bit ones (where pseudocolour would
be found), since the Mac frequently redraws areas with the *same* data
being left in most of the area. In fact, ChromiVNC currently does not
check explicitly for palette changes.
An alternative approach (which doesn't interfere so much with the status
quo for Xvnc) might be to scan the framebuffer for the pixel values which
would be affected by the palette change that had just occurred. Of course,
if the "palette change" didn't actually change the palette anyway, even the
scan is unnecessary.
--------------------------------------------------------------
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:- 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+
-----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
---------------------------------------------------------------------