我使用以下代碼加載了一個obj模型(1GB大),只加載不顯示,整個加載程序是在閉包中進行,為什么加載往后記憶體還是很大?難道不是閉包函式運行完,記憶體應該降下去嗎
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script type="module">
import * as THREE from '../build/three.module.js';
import { MTLLoader } from "./jsm/loaders/MTLLoader.js";
import { OBJLoader2 } from "./jsm/loaders/OBJLoader2.js";
import { MtlObjBridge } from "./jsm/loaders/obj2/bridge/MtlObjBridge.js";
( function ( ) {
let objLoader2 = new OBJLoader2();
let request = null;
let callbackOnLoad = function ( object3d ) {
let axis = new THREE.Vector3( - 1, 0, 0 );//向量axis
object3d.rotateOnAxis( axis, Math.PI / 2 );
console.log( 'Loading complete: test' );
console.log( "cache", THREE.Cache.files );
console.log( "contentRef", objLoader2.parser.contentRef );
request = null;
};
let mtlLoader = new MTLLoader();
let onLoadMtl = function ( mtlParseResult ) {
objLoader2.setModelName( "modelName" );
objLoader2.setLogging( true, true );
objLoader2.addMaterials( MtlObjBridge.addMaterialsFromMtlLoader( mtlParseResult ), true );
request = objLoader2.load( 'test_model/test2.obj', callbackOnLoad, null, null, null );
mtlLoader = null;
};
mtlLoader.load( 'test_model/test2.mtl', onLoadMtl );
} )();
</script>
</html>
下圖是Chrome任務管理器的記憶體顯示,"標簽頁Title"就是上述代碼運行的結果,記憶體占了快2G了

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/130611.html
標籤:JavaScript
上一篇:通過IP無法訪問網站,服務器本機測驗一切正常,問題在哪?請高手指教,
下一篇:使用vscode寫sass樣式的時候,需要用到注釋,但是beautify格式化會把注釋換行,應該怎么處理才能不換行
