我使用Transferrable Object重复将图像数据从HTML5 canvas
传递给Web Worker -
简明代码:
var worker = new Worker("test.js");
setInterval(function () {
var data = context.getImageData(0, 0, canvas.width, canvas.height);
worker.webkitPostMessage(data, [data]);
}, 100);
问题是内存使用每隔几秒就会增加一次,并且在没有调用该函数时似乎没有减少。对于内存使用率超过某个阈值的情况,由于此泄漏,chrome实际上会崩溃。我欢迎任何和所有建议,包括向Web Worker发送数据的替代方法。非常感谢!
答案 0 :(得分:0)
嗯,我想这不是网络工作者。
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
setInterval(function () {
var data = context.getImageData(0, 0, canvas.width, canvas.height);
}, 100);
我认为这段代码提供了相同的内存泄漏。我也发现了这个问题: