Fra*_*sco 5 performance wireframe ios opengl-es-2.0
在为我正在研究的iPhone/iPad小项目做一些测试时,我观察到使用gl_LrawElements和GL_LINES绘制线框时会有很大的CPU性能损失.
这是场景:
然后:
在这两种情况下,模型看起来都像预期的那样,周围没有任何错误......
似乎问题是设备依赖的.我在iPhone 3GS和iPhone 4上体验它,而不是iPad 2和模拟器.在iPad 2帧时间CPU = 1ms并且没有调用gleRunVertexSubmitARM,在iPhone 4帧时间CPU = 12ms并且连续调用gleRunVertexSubmitARM.
任何人都可以解释这种行为或指出我可能犯的错误吗?
任何见解都受到高度赞赏.提前致谢,
弗朗切斯科
我想说,对于一个不容易的问题来说,这不是一个简单的答案。
无论如何,同一“系列”的两个设备表现不同的原因可能取决于许多因素。
首先,它们安装了不同的 GPU(我非常确定您已经知道这一点,很遗憾地指出了这一点),这带来了以下差异:
首先,后者是前者的演变,具有截然不同的吞吐量和更新的架构。
仅此一点并不能解释一切,您注意到对 gleRunVertexSubmitARM 的更多调用的原因可以解释为 PowerVR 在其 GPU 上执行的 OpenGL 驱动程序实现,很可能是 SGX535 GPU 驱动程序通过该函数上的钩子执行您需要的操作。
最后但并非最不重要的一点是,在性能方面,使用 GL_LINES 进行绘图大多数时候效率非常低,原因如下:
我希望能以某种方式帮助你。
你好毛里齐奥