【发布时间】:2011-10-28 16:00:20
【问题描述】:
希望有一些 GLKViewController 专家在那里,因为我有一些问题 :)
简单介绍一下我的应用。我有一个 UINavigationController 在其中推送不同的屏幕。
在某些时候,我进入了我的游戏屏幕,它是 UINavigationController 的子类。在此屏幕中,在viewDidLoad 中,我手动创建了一个 EAGLContext、GLKView 并实例化了一个新的 GLKViewController(以处理我的更新和绘制调用)。
我将首选 fps 设置为 30。
问题是前 3-4 次更新调用带有正确的 DT,但后来我有 2-3 帧,它们之间有 1 秒。我使用controller.timeSinceLastUpdate 测量DT。
所以我觉得:
dt=0.33
dt=0.33
dt=0.33
dt=1.07
dt=1.05
dt=0.33
dt=0.33
在此之后,我只得到有效的 DT 时间。我不知道为什么这些帧有这种延迟。我测量了 update & draw 方法所用的时间,距离 1 秒还差得很远。
另外,我没有加载任何纹理/创建任何几何图形。一切都是在加载时完成的,因为它是一个相当小的游戏。
另外,如果我弹出游戏屏幕控制器,然后推回游戏屏幕的另一个实例,这个新的 GLKViewController 只会大约每 1 秒调用一次我的更新方法。
有人在使用 GLKViewController 时遇到帧率问题吗?
谢谢,
【问题讨论】:
标签: iphone frame-rate glkit