The great day -- finally, today I've managed to answer all of my pending personal e-mail. More than for half-year there always were some unanswered personal messages pending (20-50 on average), and new ones arrived each day (not counting spam, most of my e-mail contains questions related to my TightVNC project). Answering e-mail has become a real pain.

Just announced VNC
Tight Encoder 1.1. Now I'm watching at amazing number of
hits to the project homepage. I did not expect such
interest. It's seems like everybody out there needs
binaries which are absent for now. :-)

Last two weeks I was too busy to write into the diary at
advogato.org. Now the official part of VNC compression
project is finished. The source is available to download
from the project
homepage. New encoder shows compression ratios 5..30%
higher compared to zlib compression and it's faster than
zlib encoder. The latter fact has surprised me a lot as I
have not thought about speed optimisations yet and there are
many places in the code where such optimisations are
possible.

Just finished with small separate part of the VNC compression
project: automatic SSH tunneling for unix vncviewer is
finished. Everybody is invited to try/test the code: the
patch
and brief instructions will be available at the project
homepage shortly.

Worked hard on the VNC compression
project. First result is that subset of new
"tight" encoding has been implemented in the
vncviewer and in a standalone VNC proxy. Currently
compression is equivalent to pure zlib encoding as
implemented in the TridiaVNC (by the way,
I was mistaken saying that zlib compression is implemented
inefficiently in the TridiaVNC).

Now it's time to actually improve compression. I see two
primary directions to do that:

There should be a way to split screen updates into
smaller rectangles representing different types of screen
data: full-color areas, bi-level drawings, solid areas
etc.). Each subrectangle should be compressed in a separate
zlib stream and different filters should be applied for each
type of data.

Efficient filters (predictors) should be designed to
handle data types which usualy compose typical screen
contents.

And there are other problems with VNC that interfere with
good compression: server sends many unnecessary screen
updates (even when screen contents is untouched),
potentially large updates frequently being split into many
small pieces, etc.

[Home]

My girlfriend dislikes the way I work. I sleep huge part of
day and I work the whole night. And I'm tired of smoking:
it's time to quit.