[Libdlo] A quicker way to transfer images

Phil Endecott spam_from_libdlo at chezphil.org
Mon May 25 12:55:56 PDT 2009


Dear All,

I have been experimenting with what could be a quicker way to transfer 
images.  My prototype implementation is, however, slower.

The idea is to send a mixture of raw new data and commands to copy 
earlier portions of the display.  If the image contains lots of 
self-similarity (e.g. regions of solid colour, patterns, repeating 
text) then there will be many opportunities for sending copy commands 
and the total amount of data to be transferred will be reduced.  On the 
other hand, finding the matches in the first place may need lots of 
processor effort.  And it won't work well with things like JPEGs.

My "proof of concept" code matches fixed-size strips of 128 pixels.  It 
saves them only at aligned locations but looks them up also at 
unaligned locations.  In an 800x480 desktop screenshot it finds 1824 
matches, i.e. about 60% of the pixels do not need to be sent from the host.

I believe that the core of gzip solves much the same problem, i.e. 
looking up any previous occurrences of a current pattern.  I think it 
does some clever stuff with hash tables.

Does anyone have an application that could benefit from this?


Phil.





More information about the Libdlo mailing list