繁体   English   中英

在Three.js中导出网格会提高性能吗?

[英]Will Exporting Meshes in Three.js Improve Performance?

因此,我正在研究Three.js项目,该程序似乎在某些地方滞后。 具体来说,当渲染我创建的文本网格时,最大的性能滞后是这样的:

var text1Geo = new THREE.TextGeometry("Hello", {font: font});
text1Mesh = new THREE.Mesh(text1Geo, textMaterial);
text1Mesh.position.set(-6500, 150, -500);
text1Mesh.castShadow = true;
scene.add(text1Mesh);

我想知道如果使用OBJExporter将文本导出为obj,然后代替创建THREE.TextGeometry,则可以使用OBJLoader将网格加载到场景中,是否会提高性能。 这样可以提高性能。 如果您想查看整个项目和源代码,请转到此处 非常感谢任何其他有关如何提高性能的提示或建议。 谢谢!

没有。

仍然需要进行实验,但是答案是要缓存文本几何。

而不是像

loadText( 'url.obj' , (t)=>{ /*...do stuff...*/});

你可以有

computeText(){ 
  var t = new THREE.TextGeometry();
  ...
}

computeText();
//...do stuff...

我的假设是obj在解析时是不友好的,但是我可能错了。 格式化的json可能更好,或者是二进制的。

因此,与其下载.obj,对其进行解析,建立索引,然后执行某些操作,不如在开始渲染之前对其进行计算即可。

尽管如此,当此内容达到gpu时(无论是计算的还是下载的),您很可能会遇到延迟。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM