【发布时间】:2016-08-20 02:49:29
【问题描述】:
我的 GearVR 应用(基于 Unity 5.4 开发)一直存在性能问题,因此我决定做一个小实验并设置尽可能简单的场景来研究性能:
- 一个静态平面
- 一个静态立方体
- 两者都使用相同的材质:具有 8X8 单色纹理的移动无光照着色器
- 一个烘焙的定向光
- 默认最快质量设置
- 默认播放器设置保存为启用 VR 和启用多线程渲染
在我的电脑上,当我查看分析器时,我得到以下配置文件:
关于您的预期:接近 4000 FPS。
但是,当我构建完全相同的场景并在我的 Galaxy S6(使用 ETC2 GLES 3.0 纹理压缩)上运行它时,我得到了这个配置文件:
现在已经下降到大约 60FPS。怎么回事?当我更深入地了解细节时,我发现绝大多数 CPU 使用时间都花在等待 GPU 上:
然后当我查看 GPU 使用情况时,我发现它花费了 99% 的时间来应用 GUITexture.draw:
问题是......在我的非常简单的场景中没有令人讨厌的 GUI 纹理!我不明白这些。有人可以向我解释发生了什么以及如何减少 PC 和移动设备之间的性能差异吗?
【问题讨论】:
标签: performance unity3d unity5 virtual-reality gear-vr