【问题标题】:mixing OpenGL and Interface Builder/ UI Controls - bad idea? Why? (iPhone)混合 OpenGL 和 Interface Builder/UI 控件 - 坏主意?为什么? (苹果手机)
【发布时间】:2011-01-29 21:26:18
【问题描述】:

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

【问题讨论】:

    标签: iphone interface-builder opengl-es uicontrol


    【解决方案1】:

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

    没什么不好,就是浪费。

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 2011-02-20
      • 1970-01-01
      • 2011-01-27
      • 2018-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多