相关疑难解决方法(0)

在three.js中释放内存

我的应用程序加载了很多网格.摆脱旧网格我试图处理它们.但记忆永远不会被释放.

我错过了什么吗?

我复制的简单例子:

  1. 加载100个大二进制网格
  2. 再次处置所有这些
  3. chrome任务管理器说使用250mb内存,它与没有第2步的情况完全相同

    MEMTEST

    var scene = new THREE.Scene();
    var mymesh=Array();
    
    // 1. load a lot of geometry/meshes...
    
    for(var i=0;i<100;i++)
    {
        var bloader;
        bloader = new THREE.BinaryLoader();
    
        bloader.load( "objekte/presto_6.js" , function( geometry ) 
        {
            mymesh.push(new THREE.Mesh( geometry, new THREE.MeshBasicMaterial( {color:0xffffff } ) ));
            scene.add(mymesh.length-1);
        });
    }
    
    // 2. try to dispose objects and free memory...
    
    for(var j=0;j<mymesh.length;j++)
    {
        mymesh[j].geometry.dispose();
        mymesh[j].material.dispose();
        screne.remove(mymesh[j]);
    }
    
    mymesh=Array();
    
    </script>
    
    Run Code Online (Sandbox Code Playgroud)

javascript memory three.js

4
推荐指数
1
解决办法
9442
查看次数

标签 统计

javascript ×1

memory ×1

three.js ×1