Commit f7618085 authored by Joel Martin's avatar Joel Martin

Process RRE in chunks instead of 1 at a time.

parent cf67217c
...@@ -74,6 +74,7 @@ fb_width : 0, ...@@ -74,6 +74,7 @@ fb_width : 0,
fb_height : 0, fb_height : 0,
fb_name : "", fb_name : "",
fb_Bpp : 4, fb_Bpp : 4,
rre_chunk : 100,
/* /*
...@@ -220,14 +221,14 @@ display_copy_rect: function () { ...@@ -220,14 +221,14 @@ display_copy_rect: function () {
}, },
display_rre: function () { display_rre: function () {
//debug(">> display_rre"); //debug(">> display_rre (" + FBU.arr.length + " bytes)");
if (FBU.subrects == 0) { if (FBU.subrects == 0) {
FBU.subrects = FBU.arr.shift32(); FBU.subrects = FBU.arr.shift32();
debug("RRE (" + FBU.subrects + " subrects)"); debug(">> display_rre " + "(" + FBU.subrects + " subrects)");
var color = FBU.arr.shiftBytes(RFB.fb_Bpp); // Background var color = FBU.arr.shiftBytes(RFB.fb_Bpp); // Background
Canvas.rfbRect(FBU.x, FBU.y, FBU.width, FBU.height, color); Canvas.rfbRect(FBU.x, FBU.y, FBU.width, FBU.height, color);
} else { }
/* Render one sub-rectangle */ while (FBU.arr.length > 0) {
FBU.subrects --; FBU.subrects --;
var color = FBU.arr.shiftBytes(RFB.fb_Bpp); var color = FBU.arr.shiftBytes(RFB.fb_Bpp);
var x = FBU.arr.shift16(); var x = FBU.arr.shift16();
...@@ -239,7 +240,8 @@ display_rre: function () { ...@@ -239,7 +240,8 @@ display_rre: function () {
//debug("rects: " + FBU.rects + ", FBU.subrects: " + FBU.subrects); //debug("rects: " + FBU.rects + ", FBU.subrects: " + FBU.subrects);
if (FBU.subrects > 0) { if (FBU.subrects > 0) {
FBU.bytes = (RFB.fb_Bpp + 8); // One more var chunk = Math.min(RFB.rre_chunk, FBU.subrects);
FBU.bytes = (RFB.fb_Bpp + 8) * chunk;
} else { } else {
FBU.rects --; FBU.rects --;
FBU.arr = []; FBU.arr = [];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment