【发布时间】:2012-08-11 01:45:55
【问题描述】:
我正在使用 CADisplayLink 以 60 FPS 执行名为 gameLoop 的功能,起初应用程序运行良好。然后在随机时间(可能是 5 秒或 1 分钟,fps 下降到 40 FPS 左右。
在搜索论坛、调试、优化我的渲染、分析和分析我的应用程序几天后,我决定从 gameLoop 函数中删除所有内容,除了几行计算自上次调用 gameLoop 以来的时间。我不明白为什么 CADisplayLink 会以 60 FPS 调用 gameLoop 一段时间,然后在 gameLoop 几乎什么都不做时以 40 FPS 调用它。
我实现了一个暂停/取消暂停功能,它使显示链接无效并重新启动它。当我重新启动显示链接时,应用程序再次以 60 FPS 运行,直到它随机下降。
提前感谢任何可以让我了解为什么会发生这种情况的人。
【问题讨论】: