iphone - glClearColor() 将 iPhone 的渲染利用率推至 27%

标签 iphone performance opengl-es rendering

搜索 this question 答案的结果,我遇到了一个相当不舒服的发现。

似乎仅以 60 fps 渲染 glClearColor() 会使 iPhone 的渲染利用率达到 27%。

这意味着,几乎不执行任何操作(仅刷新屏幕),iPhone 就会使用超过四分之一的渲染能力。

这是可以预料的吗?

根据文档,POWERVR 的速度至少应达到 270 兆像素/秒左右。正如下面展开正确所述,480×320 @ 60 fps 大约等于 9.2 兆像素/秒,使总性能约为 40 兆像素/秒,这是值得怀疑的。

最佳答案

这仅意味着您应该设计渲染以使用实际内容填充每帧的所有像素,因此您根本不需要清除帧缓冲区。这至少是解决清算瓶颈的经典“解决方案”:不要这样做。

例如,在典型的第一人称引擎中,这是通过渲染始终覆盖整个视口(viewport)的天空盒和地面“平面”来实现的。

我还没有阅读 iPhone 渲染子系统的详细信息,但它似乎确实表明填充率非常低。 480×320 @ 60 fps 大约等于 9.2 兆像素/秒,使总性能约为 40。听起来很可疑。

关于iphone - glClearColor() 将 iPhone 的渲染利用率推至 27%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/882408/

相关文章:

ios - 找不到占位符菜单

iphone - 使用 Cocoa Touch 制作弹出窗口

java - 您如何用 Java 写入磁盘(通过刷新)并保持性能?

android - GLSurfaceView 父级为空,即使它嵌套在 LinearLayout 中

iphone - (iOS) OpenGL ES (2.0) 应用程序,如何移动Z 中的对象?

iphone - OpenGL ES、OpenFrameworks、Cinder和IOS创意开发

ios - UITextField 的 resignFirstResponder 既不工作也不工作 self.view.endEditing()

iphone - 调用协议(protocol)方法是否通过程序流控制?

.net - 为什么 F# inline 会导致 11 倍的性能提升

android - 单击按钮更改 View ?