Google Summer of Code 2010/VNC: Difference between revisions
Line 20: | Line 20: | ||
{| class="wikitable sortable" style="font-size: 85%; text-align: center; width: auto;" | {| class="wikitable sortable" style="font-size: 85%; text-align: center; width: auto;" | ||
! style="width:12em" | Server | ! style="width:12em" | Server | ||
| Raw | |Raw | ||
|CopyRect | |CopyRect | ||
|RRE | |RRE | ||
Line 26: | Line 26: | ||
|Hextile | |Hextile | ||
|ZRLE | |ZRLE | ||
|ZYWRLE | |||
|zlib | |zlib | ||
|tight | |tight | ||
|zlibhex | |zlibhex | ||
|Ultra | |||
|UltraZip | |||
|- | |- | ||
|libvncserver | |libvncserver | ||
| | |y | ||
| | |y | ||
| | |y | ||
| | |y | ||
| | |y | ||
| | |y | ||
| | |y | ||
| | |y | ||
|y | |||
|y | |||
|y | |||
|y | |||
|- | |- | ||
|tigervnc | |tigervnc | ||
Line 81: | Line 88: | ||
|- | |- | ||
|qemu | |qemu | ||
| | |y | ||
| | |y | ||
| | |n | ||
| | |n | ||
| | |y | ||
| | |n | ||
| | |n | ||
| | |y | ||
|n | |||
|n | |||
|n | |||
|n | |||
|} | |} | ||
Line 101: | Line 112: | ||
|Hextile | |Hextile | ||
|ZRLE | |ZRLE | ||
|ZYWRLE | |||
|zlib | |zlib | ||
|tight | |tight | ||
|zlibhex | |zlibhex | ||
|Ultra | |||
|UltraZip | |||
|- | |- | ||
|libvncclient | |libvncclient | ||
| | |y | ||
| | |y | ||
| | |y | ||
| | |y | ||
| | |y | ||
| | |y | ||
| | |y | ||
| | |y | ||
|y | |||
|y | |||
|y | |||
|y | |||
|- | |- | ||
|tigervnc | |tigervnc | ||
Line 155: | Line 173: | ||
| | | | ||
|- | |- | ||
| | |gtk-vnc | ||
| | | | ||
| | | |
Revision as of 06:23, 29 April 2010
Summary
QEMU's built-in VNC server only supports the Hextile encoding. Hextile only uses tile-based compression. Other encodings are more popular such as Tight and ZRLE that use zlib-based compression. These encodings significantly reduce the bandwidth required by VNC.
Owner
- Name: Corentin Chary
- Email: corentin.chary@gmail.com
Detailed Summary
QEMU's built-in VNC server only supports the Hextile encoding. Hextile only uses tile-based compression. Other encodings are more popular such as Tight and ZRLE that use zlib-based compression. These encodings significantly reduce the bandwidth required by VNC. This project would start by implementing support for Tight or ZRLE. Both encodings support a combination of tile-based compression and zlib-compression. Initially, one would implement zlib-compression only and compare the results to our Hextile implementation. Depending on progress, tile-based compression mechanisms (such as Tight's gradient algorithm) could be explored. At each stage, we expect that performance comparisons are done to determine the effectiveness of the additional algorithm. Additional compression mechanisms like Tight's JPEG encoding could also be evaluated.
Encodings
Feature Matrix
Servers
Server | Raw | CopyRect | RRE | CoRRE | Hextile | ZRLE | ZYWRLE | zlib | tight | zlibhex | Ultra | UltraZip |
---|---|---|---|---|---|---|---|---|---|---|---|---|
libvncserver | y | y | y | y | y | y | y | y | y | y | y | y |
tigervnc | ||||||||||||
ultravnc | ||||||||||||
tightvnc | ||||||||||||
realvnc | ||||||||||||
qemu | y | y | n | n | y | n | n | y | n | n | n | n |
Clients
Server | Raw | CopyRect | RRE | CoRRE | Hextile | ZRLE | ZYWRLE | zlib | tight | zlibhex | Ultra | UltraZip |
---|---|---|---|---|---|---|---|---|---|---|---|---|
libvncclient | y | y | y | y | y | y | y | y | y | y | y | y |
tigervnc | ||||||||||||
ultravnc | ||||||||||||
tightvnc | ||||||||||||
realvnc | ||||||||||||
gtk-vnc |
describe some encodings here