阶段3:“活动WebGL上下文过多。最早的上下文将丢失。”警告和内存泄漏

时间:2018-12-05 11:31:21

标签: javascript phaser-framework

我正在通过使用间隔setInterval(this.createCharts, 1000);创建和销毁许多实例来测试相位器的内存泄漏:

游戏配置:

  const PHASER_CONFIG: GameConfig = {
    type: Phaser.WEBGL,
    width: 1200,
    height: 400,
    parent: "chart-app",
    backgroundColor: "#232327"
  };

用于创建/销毁实例的方法本身:

  // createCharts: if charts are already initialized - destroy all, otherwise - create (allChart is holding active instances)
public createCharts() {
  if (this.allCharts.length > 0) {
    let i = this.allCharts.length;

    while (i--) {
      this.allCharts[i].destroy(true);
      this.allCharts[i] = null;
      this.allCharts.splice(i, 1);
    }
  } else {
    for (let i = 0; i < 10; i++) {
      let chart = new Phaser.Game(PHASER_CONFIG);
      this.allCharts.push(chart);
    }
  }
}

应用程序内存占用量正在稳步增长,我看到每个新Phaser.Game的控制台警告-“警告:活动的WebGL上下文过多。最早的上下文将丢失。”

不确定我的代码是否有错误,或者我可能没有正确销毁移相器实例。

0 个答案:

没有答案