【发布时间】:2014-03-21 07:08:57
【问题描述】:
我有一个 webgl 应用程序,我使用threejs 编写。但是在我的一些测试机器上,FPS 不够好。在这篇文章的帮助下,我尝试使用 Chrome 的 about:tracing 来分析我的应用程序:http://www.html5rocks.com/en/tutorials/games/abouttracing/
gpu 似乎正在过载。我还发现当我将整个场景都放在相机视野中时,我的 FPS 会急剧下降。该场景包含大约 17 个网格和一个定向光源。它不是一个沉重的场景。我见过更重的场景可以在同一个 GPU 上完美渲染。
- 那么,我可以在场景中进行哪些更改以使其不那么重,而无需完全更改它?我已经尝试删除纹理?但这似乎并不能解决问题。
- 有没有办法弄清楚threejs 正在向GPU 推送什么计算?或者这会破坏threejs 提供的基本抽象吗?
- 分析 GPU webgl-threejs 应用程序的一般技巧有哪些?
【问题讨论】:
-
检查 WebGL Inspector 工具以确定您的绘图调用。另外,你在什么机器上?此外,有时它与对象的数量无关,而是与顶点的数量有关。您正在绘制多少个顶点,对象使用多少个纹理以及多少个着色器?尝试一种灰色阴影材料,看看它是否效果更好。如果您还没有这样做,您还可以使用 BufferGeometry 来改善场景。例如,还有一个函数可以将 THREE.Geometry 转换为 THREE.BufferGeometry
标签: javascript three.js profiling