【发布时间】:2011-06-02 06:37:07
【问题描述】:
一开始我使用 NSTimer,遇到了帧率卡在每秒 40 帧的问题。我已阅读有关使用 CADisplayLink 解决问题的信息。它似乎工作了一段时间,但最近,应用程序从 60 开始,然后过了一会儿(大约 5 - 20 秒),应用程序开始以 40 - 41 fps 运行并卡在那里。而且我正在剔除,以便在物体不在视线范围内时减少绘制,但它仍然卡在那里。一种似乎确实可以暂时解决问题的不寻常方法(大约 10 秒)是将电线从 iphone 底部断开,然后重新连接。显然,这并不理想,只是想知道为什么会发生这种情况以及为什么会对其进行某种程度的修复,就好像它重置了某些值或其他东西一样。任何帮助将不胜感激,谢谢。
【问题讨论】:
-
您在每次 CADisplayLink 渲染调用期间、之后或之间做什么? OpenGL 或 drawRect 渲染?读取任何像素?获取任何 UI 回调?声音的?其中一些可能会在刷新周期内停止硬件图形管道,否则会导致丢帧或丢帧。
标签: iphone frame-rate cadisplaylink opengl-es