【发布时间】:2012-06-02 22:58:24
【问题描述】:
我希望能够在没有锁定帧速率(目前为 60 fps)的情况下运行我的游戏。我发现运行动画的唯一方法是使用 NSTimer。有没有办法在 Cocoa 中拥有不受限制的帧速率。如果是这样,链接或代码 sn-p 将有很大帮助。
【问题讨论】:
-
绘图速度快于显示器刷新有什么意义?你只是在浪费 CPU 周期。如果您使用
CVDisplayLink,则保证您的绘图速度与显示速度一样快。 -
@RobKeniger 我这样做主要是为了看看可以多快完成一帧,以便我可以确定是否可以为碰撞检测和 phong 照明等事情集成更复杂和准确的计算。但我不能真正做到这一点,因为我有一个锁定的帧速率,并且无法判断 CPU 每帧可以处理多少。
-
@Chase:当然可以。只需使用高精度计时器来测量等待下一帧开始所花费的时间。
-
@BenVoigt 这实际上很有意义。如果您将其发布为答案,我可以关闭此问题。谢谢
标签: performance macos cocoa opengl frame-rate