diff --git a/src/display/canvas.js b/src/display/canvas.js index 96ba5b825..e7a29afa5 100644 --- a/src/display/canvas.js +++ b/src/display/canvas.js @@ -652,7 +652,8 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { } // processing image in chunks to save memory - var chunkSize = 16; + var PIXELS_TO_PROCESS = 65536; + var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width)); for (var row = 0; row < height; row += chunkSize) { var chunkHeight = Math.min(chunkSize, height - row); var maskData = maskCtx.getImageData(0, row, width, chunkHeight);