我正在加载具有每个对象几何的JSON文件。如果我加载了200MB的JSON文件,我会消耗大约2.5GB的内存来渲染它,然后浏览器崩溃或者它会给出NS_OUT_OF_MEMORY异常。任何人都可以建议一些解决方案来加载更大的JSON文件吗?
答案 0 :(得分:0)
200Mb JSON
文件是一种在浏览器中使用的文件太大的文件。它最终可能会起作用(取决于最终用户设备),但不是优化的解决方案。
因此,我建议您使用Blender 3D
来减少对象的多边形数量,以便至少达到50MB JSON
个文件。在这种情况下,您将把工作量减少到四分之一。
http://wiki.blender.org/index.php/Doc:2.4/Manual/Modifiers/Generate/Decimate https://github.com/mrdoob/three.js/tree/master/utils/exporters/blender
编辑:正如您所说,您在给定文件中根本无法访问CAAD程序。也许您可以尝试应用本网页中所述的一些解决方案:
答案 1 :(得分:-1)
我确实尝试了所有的dispose和deallocate方法,但没有任何效果。
然后,我为使用webgl渲染器渲染360图像的离子应用程序执行了以下操作。
this.renderer = new THREE.WebGLRenderer({ antialias: true });
RicohView.prototype.stopRendering = function () {
this.canRender = false;
this.renderer.forceContextLoss();
this.renderer.dispose();
console.log('renderer disposed');
cancelAnimationFrame(this.requestId);
}
requestId可以从
中捕获this.requestId = requestAnimationFrame(render);
执行此操作将强制丢失渲染器上下文,并且每次使用新上下文时都会创建新的渲染器。