我有一个要求,我需要从一组图像中播放电影(电影)。我正在使用HTML5画布来做到这一点。我需要同时播放四个电影,但我的浏览器IE11很快就会变得没有响应或重新启动。当它重新启动时,我在任务管理器中看到内存已经达到大约1.5 GB但是当它变得没有响应时没有内存峰值。 我创造了一个小提琴来证明这一点。同样的事情在Chrome中运行良好。 这些图像是JPeg图像(从Dicom转换而来),我需要将它们解压缩,将它们放到tempcanvas上并读取像素数据进行一些操作,然后再将它们放回到画布上。
你能帮助导致它的原因,所以我可以根据需要改变我的设计。
https://jsfiddle.net/hkuntal/03tjvhhn/
this.loadLossyData = function() {
var lossyImage = new Image();
lossyImage.onload = function() {
input.tempCanvas.height = headerInfo.Rows;
input.tempCanvas.width = headerInfo.Columns;
var tempContext = input.tempCanvas.getContext("2d")
tempContext.drawImage(this, 0, 0, headerInfo.Columns, headerInfo.Rows);
var tempCanvasPixelData = tempContext.getImageData(0, 0, headerInfo.Columns, headerInfo.Rows);
// SOME PIXEL MANIPULATION WILL BE DONE HERE ON tempCanvasPixelData
drawImageOnCanvas(input.tempCanvas, input.canvas, input);
this.onload = null;
this.src = "";
};
lossyImage.src = jpegImageData;
机器规格:8核,18 GB RAM,NVidia显卡,IE11,Windows 7 64位