]> git.proxmox.com Git - mirror_novnc.git/commit - tests/vnc_playback.html
Indexed receive queue. Up to 2X speedup in Chrome.
authorJoel Martin <github@martintribe.org>
Thu, 26 Aug 2010 15:22:29 +0000 (10:22 -0500)
committerJoel Martin <github@martintribe.org>
Thu, 26 Aug 2010 15:22:29 +0000 (10:22 -0500)
commit67b4e9879a0dc223dd0dfd8dce2392d4341aa5ff
tree04f99ba3897dcbf015760be1457c468c83f1dfe1
parentfb007628d68b401fa25fb0f308fc46585274bdee
Indexed receive queue. Up to 2X speedup in Chrome.

Generally, most servers send hextile updates as single updates
containing many rects. Some servers send hextile updates as many small
framebuffer updates with a few rects each (such as QEMU). This latter
cases revealed that shifting off the beginning of the receive queue
(which happens after each hextile FBU) performs poorly.

This change switches to using an indexed receive queue (instead of
actually shifting off the array). When the receive queue has grown to
a certain size, then it is compacted all at once.

The code is not as clean, but this change results in more than 2X
speedup under Chrome for the pessimal case and 10-20% in firefox.
include/canvas.js
include/rfb.js
include/util.js
tests/cursor.html
tests/vnc_playback.html