首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Three.js中导出网格是否会提高性能?

在Three.js中导出网格是否会提高性能?
EN

Stack Overflow用户
提问于 2016-05-19 05:19:43
回答 1查看 95关注 0票数 0

所以我正在做一个Three.js项目,这个项目在某些地方似乎有些滞后。具体地说,在渲染我创建的文本网格时,性能延迟最大,如下所示:

代码语言:javascript
复制
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,然后使用OBJLoader将网格加载到场景中,而不是创建一个THREE.TextGeometry,是否会提高性能。这会提高性能吗?如果您想查看整个项目和源代码,请访问here。任何其他关于如何提高性能的技巧或建议都是非常感谢的。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-05-19 18:17:26

不是的。

实验仍在进行中,但答案是对文本几何图形进行缓存。

而不是像这样

代码语言:javascript
复制
loadText( 'url.obj' , (t)=>{ /*...do stuff...*/});

你可以拥有

代码语言:javascript
复制
computeText(){ 
  var t = new THREE.TextGeometry();
  ...
}

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

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

因此,不需要下载、解析、索引.obj,然后执行某些操作,只需在开始呈现之前计算它即可。

无论是计算的还是下载的,当这个东西命中gpu时,你很可能会遇到延迟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37310289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档