Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我使用kineticjs绘制画布时,内存增长非常快_Javascript_Html_Kineticjs - Fatal编程技术网

Javascript 当我使用kineticjs绘制画布时,内存增长非常快

Javascript 当我使用kineticjs绘制画布时,内存增长非常快,javascript,html,kineticjs,Javascript,Html,Kineticjs,我正在创建一个使用HTML5和kineticjs库的游戏。我使用Nodejs启动服务器。守则: function animate() { newDraw() // Request a new animation frame using Paul Irish's shim window.requestAnimFrame(animate); }; function newDraw() { if(typeof localPlayer != 'undefined') {

我正在创建一个使用HTML5和kineticjs库的游戏。我使用Nodejs启动服务器。守则:

function animate() {
  newDraw()

  // Request a new animation frame using Paul Irish's shim
  window.requestAnimFrame(animate);
};

function newDraw()
{

  if(typeof localPlayer != 'undefined') {

       var layernew = new Kinetic.Layer();
       var stg = new Kinetic.Stage({
          container: 'container',
          width: 500,
          height: 300
        });

      var data = localPlayer.newdraw();
      layernew.add(new Kinetic.Text(data.Text))
      layernew.add(new Kinetic.Rect(data.rect))

      stg.add(layernew)

  }
}
内部requestAnimationFrame.js文件

// shim layer with setTimeout fallback
window.requestAnimFrame = (function(){
  return  window.requestAnimationFrame       || 
          window.webkitRequestAnimationFrame || 
          window.mozRequestAnimationFrame    || 
          window.oRequestAnimationFrame      || 
          window.msRequestAnimationFrame     || 
          function(/* function */ callback, /* DOMElement */ element){
            window.setTimeout(callback, 100);
          };
})();
它工作正常,但内存增长非常快=>firefox浏览器崩溃。 请帮我修复这个错误。
非常感谢

问题是:

在每个动画循环期间,您将创建其他阶段+层+元素

很快,您将拥有数百个以上的对象,所有这些对象都占用内存

改为:

在动画开始之前创建一次stage+layer+text+rect

然后使用各种对象操纵每个动画循环中的现有文本+矩形。设置。。。命令