1

我听说 OpenGL ES 和标准 iPhone UI 控件不能很好地配合使用,但我想知道是否有人知道为什么,效果是什么?我正在编写一个基于 OpenGL 的游戏,视图是从带有 ui 控件的 nib 文件加载的,它似乎可以正常工作,但此时游戏真的很简单......使用 ui 控件是否会导致某种性能打?

4

1 回答 1

2

UI 事件会暂时暂停计时器,例如滚动 tableview 时。您可以在创建计时器时使用通用运行时模式来解决此问题。如果您有很多层,它可能会减慢您的渲染速度,因为每次刷新时它们都需要重新绘制。因此,如果您的游戏以 60fps 运行,它还将重绘 GLView 之上的所有内容,例如 UIImageView、按钮等。每秒 60 次,这是一种巨大的浪费。它可能不会对您的帧速率产生巨大影响,但它可能会使设备运行得更热并更快地耗尽电池。最好使用 OpenGL 绘制 HUD,但这取决于具体情况。对于只会在短时间内显示的内容,例如菜单,我认为您可以摆脱它。

没什么不好,就是浪费。

于 2011-06-20T20:11:01.497 回答