Zero the height and width of the Cached canvases before deleting.

This reduces peak RSS by about 300 MiB on my Mac when scrolling slowly through
the first 30 pages of a scanned black and white document.
This commit is contained in:
Nicholas Nethercote 2014-06-16 22:58:11 -07:00
parent 2efbdfe8d4
commit 7ef7f95374

View File

@ -179,7 +179,14 @@ var CachedCanvases = (function CachedCanvasesClosure() {
return canvasEntry;
},
clear: function () {
cache = {};
for (var id in cache) {
var canvasEntry = cache[id];
// Zeroing the width and height causes Firefox to release graphics
// resources immediately, which can greatly reduce memory consumption.
canvasEntry.canvas.width = 0;
canvasEntry.canvas.height = 0;
delete cache[id];
}
}
};
})();