小编Sar*_*ahC的帖子

getImageData - Web worker - 如何减少垃圾回收?

我有一个示例web-worker画布更新脚本正在运行,但我注意到它每隔几秒就会停止大约200ms.通常的循环时间约为15ms.

我猜这是垃圾收集 - 它看起来像是分析器.

http://codepen.io/SarahC/pen/bgBoMM

我认为这是在这个功能:

function nextFrame(){
  timeChart.start();
  workersWorking = workerCount;
  var stripHeight = ~~( h / workerCount );
  for(var i = 0; i < workerCount; i++){
    var localImageData = ctx.getImageData(0, stripHeight * i, w, stripHeight); /// This needs putting in constant memory.... GC takes ages here.
    workers[i].postMessage({imageData: localImageData, YPosition: stripHeight * i, threadNumber: i});
  }
}
Run Code Online (Sandbox Code Playgroud)

如果这个位正在制作所有的垃圾内存,我不知道我能做些什么来继续为这些数据块使用相同的内存区域.

javascript garbage-collection canvas

5
推荐指数
1
解决办法
1014
查看次数

标签 统计

canvas ×1

garbage-collection ×1

javascript ×1