>> Notice that, opening notepad and maximizing it to full screen then typing
>> will cause a full window update for each char.

Just curious -- I realize that the hooks will tell WinVNC that it needs to
process the entire client area, but what kind of processing does WinVNC do
after that to determine how much actually changed?  Does it perform any
kind of differencing operation?

Something I had considered (and WinVNC may already be doing) was that if
the server maintained a memory storage of what had been transmitted to the
client, then it could compare new regions to that and only send the
differences.  As a further optimization, you could have a "Delta Hextile",
or (better) "Enable Delta Encoding" checkbox like the "Enable CopyRect
Encoding".  Then, you could BitBlt the new region against the stored region
using the XOR RasterOp, which might even be performed by hardware in newer
video cards.  The resulting region would be black in all areas that had not
changed, and Hextile encoding should be extremely efficient in transmitting
that, whereas it might not be efficient re-transmitting all of the
underlying image.  Of course, the viewer would have to recognize that it
was receiving an XOR Delta packet, and would need to use the XOR RasterOp
as well when adding it to the screen.

Does WinVNC already do some or all of this?
 _____________________________     /"\
 Mac Reiter                        \ /    ASCII Ribbon Campaign
 Nomadics, Inc.                     X     Against HTML Mail
 [EMAIL PROTECTED]               / \
---------------------------------------------------------------------
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
---------------------------------------------------------------------

Reply via email to