Dear VNC developers, I am extending the RFB protocol and would like to do it in a manner that is most beneficial for the community at large. The impetus for the changes are as follows:
* Minimize bandwidth usage, and maximize performance on low speed connections. * Minimize the load and complexity on a RFB proxy/mirror server application. My experiments with 8 bit color depth have shown that applying bzip2 compression to an entire raw encoded full frame buffer update will save roughly 30% size over TightVNC's encoding scheme. This is significant for my application. Here is the proposed change: 1) Add a pseudo encoding type such as: #define rfbEncodingProxyFmt 9 2) Modify the FramebufferUpdate like so: /*----------------------------------------------------------------------------- * FramebufferUpdate - a block of rectangles to be copied to the framebuffer. * * This message consists of a header giving the number of rectangles of pixel * data followed by the rectangles themselves. The header is padded so that * together with the type byte it is an exact multiple of 4 bytes (to help * with alignment of 32-bit pixels): * * JDR addition - if rfbEncodingProxyFmt is enabled, then: * 1) The 'pad' byte is followed by an unsigned long which is the block size * of the remaining frame buffer update. This makes it easy to proxy or * broadcast. * 2) If the first bit of 'pad' is set, then the remaining frame update is * bzip2 compressed. */ typedef struct _rfbFramebufferUpdateMsg { CARD8 type; /* always rfbFramebufferUpdate */ CARD8 pad; /* JDR - Used if rfbEncodingProxyFmt is enabled! */ /* CARD32 blkSz; <-- Exists if rfbEncodingProxyFmt is enabled! */ /* If rfbEncodingProxyFmt is enabled and the 0th bit of 'pad' is set, * the remainder of the update is bzip2 compressed */ CARD16 nRects; /* followed by nRects rectangles */ } rfbFramebufferUpdateMsg; -- ============================================================= John D. Robertson, Computer / Engineering Consultant Robertson & Robertson Consultants, Inc. 3637 West Georgia Rd. Pelzer, SC 29669 Phone: (864) 243-2436 Fax: (864) 243-3023 Email: [EMAIL PROTECTED] WWW: http://www.rrci.com _______________________________________________ VNC-List mailing list [EMAIL PROTECTED] To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list