From 80304b69761910a43a1281b042a424b237ee7681 Mon Sep 17 00:00:00 2001 From: Kalervo Kujala Date: Mon, 5 Sep 2011 23:11:48 +0300 Subject: [PATCH 1/2] Fix a bug and speed up graycs_getRgbBuffer. An rgbBuffer was created which was three times as big as intended. It also caused that the function was very slow when rendering cable.pdf. Which led to a slow script warning dialog. With this fix the function speeds up ten-fold in the firebug profile. --- pdf.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pdf.js b/pdf.js index 7e748cfd8..9a476ccef 100644 --- a/pdf.js +++ b/pdf.js @@ -5469,9 +5469,8 @@ var DeviceGrayCS = (function() { }, getRgbBuffer: function graycs_getRgbBuffer(input, bits) { var scale = 255 / ((1 << bits) - 1); - var length = input.length * 3; - var rgbBuf = new Uint8Array(length); - for (var i = 0, j = 0; i < length; ++i) { + var rgbBuf = new Uint8Array(input.length * 3); + for (var i = 0, j = 0; i < input.length; ++i) { var c = (scale * input[i]) | 0; rgbBuf[j++] = c; rgbBuf[j++] = c; From d4b8326496bdc65af50892df0cebe5ac897e7737 Mon Sep 17 00:00:00 2001 From: Kalervo Kujala Date: Tue, 6 Sep 2011 00:11:24 +0300 Subject: [PATCH 2/2] Fix a bug and speed up graycs_getRgbBuffer. An rgbBuffer was created which was three times as big as intended. It also caused that the function was very slow when rendering cable.pdf. Which led to a slow script warning dialog. With this fix the function speeds up fifteen-fold in the firebug profile. --- pdf.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pdf.js b/pdf.js index 9a476ccef..44197b4ab 100644 --- a/pdf.js +++ b/pdf.js @@ -5469,8 +5469,9 @@ var DeviceGrayCS = (function() { }, getRgbBuffer: function graycs_getRgbBuffer(input, bits) { var scale = 255 / ((1 << bits) - 1); - var rgbBuf = new Uint8Array(input.length * 3); - for (var i = 0, j = 0; i < input.length; ++i) { + var length = input.length; + var rgbBuf = new Uint8Array(length * 3); + for (var i = 0, j = 0; i < length; ++i) { var c = (scale * input[i]) | 0; rgbBuf[j++] = c; rgbBuf[j++] = c;