大家好,感谢您花时间去看看。
我正在整理一款Unity游戏,并且一直在修补Gear VR构建(到目前为止它已经成为了Android专注的游戏)。
不幸的是,我一直看到Unity Profiler中的尖峰是GearVR版本所特有的导致游戏中不可接受的抖动:
VR:WaitForGPU
RenderForwardOpaque.Render
我原本想知道我是不是试图用图形方式推得太大,所以为了测试问题,我删除了任何非必需品。屏幕抓取是使用最小版本拍摄的,这看起来完全符合画面调用/多边形限制,这些限制经常出现在GearVR优化文章中(截图13 SetPass Calls,23 Draw Calls,Tris 31k,Verts 57k)。
一些细节如果有帮助那么:我正在运行Unity 5.4.2f2,在Samsung S6上进行测试。几何是程序性的,但在实例化后进行批处理。 Shader是Digicrafts Colorbox(Unlit Gradient),但使用Vertex Lit或Mobile Diffuse时问题仍然存在。 Skybox也是Colorbox,再次将其更改为替代或纯色无影响。质量最快,但使用2xMSAA。场景中没有其他光照,阴影等。为了测试,Canvas被关闭。前向渲染路径。相机清除Skybox(没有改进变为soid颜色)。该问题不会出现在标准(非VR)Android构建中,也不会出现在编辑器中。
我知道这里没有神奇的答案,因为你只能按照我所写的内容和屏幕截图进行操作,但有人可以指出我正确的方向为RenderForwardOpaque.Render / Clear问题吗?我假设VR:WaitForGPU是对此的回应,但我不知道它是什么或我能做什么(如果有的话)来缓解这个问题。我应该在哪里解决这个问题?
非常感谢提前。