VNC optimized to almost 30% bandwidth raw (40% zlib)

James ''Wez'' Weatherall jnw22 "at" cam.ac.uk
Mon, 28 Aug 2000 17:29:25 +0000


> The function GetChangedRegoin (vncbuffer) looks for a changed line in a
rect
> and
> then copy the full rectangle to the update buffer.
> I changed the code so that only the changed rectangle is passed for update
> and not the full.
>
>
> I put the exucutables and source on
> http://services.simac.be/vnc/single.html
> vncexe28aug.zip
> vncsrc28aug.zip
>
>
> ++  Is there a reason to use 32x32 rectangles and not a variable (8X32,
> 17x32 ..)
>
> ++  I tested the code using zlib in debug mode on a single application
> (internet explorer
> showing a running text in java)

There is a reason for doing this - it avoids the case where a large number
of small regions have changed all over the screen, which would result in a
huge number of update rectangles, swamping the network connection.

It's a feature that assumes most rectangles will not be RAW, so that
reducing the number of rectangles in an update will reduce the bandwidth by
reducing the overhead.

Cheers,

James "Wez" Weatherall
--
          "Xenophobes should go back to Xenophobia"
Laboratory for Communications Engineering, Cambridge - Tel : 766513
AT&T Labs Cambridge, UK                              - Tel : 343000
---------------------------------------------------------------------
To unsubscribe, send a message with the line: unsubscribe vnc-list
to majordomo "at" uk.research.att.com
See also: http://www.uk.research.att.com/vnc/intouch.html
---------------------------------------------------------------------