From 39624e91739e24ebf52c83df19863c96b26cb922 Mon Sep 17 00:00:00 2001 From: sbarman Date: Thu, 7 Jul 2011 11:46:52 -0700 Subject: [PATCH] fix performance issue with SeparationCS --- pdf.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pdf.js b/pdf.js index d28a74945..78ac9eb3b 100644 --- a/pdf.js +++ b/pdf.js @@ -4658,15 +4658,16 @@ var SeparationCS = (function() { var rgbBuf = new Uint8Array(length); var pos = 0; + var numComps = base.numComps; + var baseBuf = new Uint8Array(numComps * input.length); for (var i = 0, ii = input.length; i < ii; ++i) { var scaled = input[i] / 255; var tinted = tintFn.func([scaled]); - var rgb = base.getRgb(tinted); - for (var j = 0; j < 3; ++j) - rgbBuf[pos++] = Math.round(255 * rgb[j]); + for (var j = 0; j < numComps; ++j) + baseBuf[pos++] = 255 * tinted[j]; } + return base.getRgbBuffer(baseBuf); - return rgbBuf; } }; @@ -4856,7 +4857,7 @@ var DeviceCmykCS = (function() { var rgb = this.getRgb(cmyk); for (var j = 0; j < 3; ++j) - rgb[rgbBufPos++] = Math.round(rgb[j] * 255); + rgbBuf[rgbBufPos++] = Math.round(rgb[j] * 255); } return rgbBuf;