Cocos2d iphone 如果scheduleUpdate计划的更新方法在cocos2d iphone中运行得太长怎么办?

Cocos2d iphone 如果scheduleUpdate计划的更新方法在cocos2d iphone中运行得太长怎么办?,cocos2d-iphone,game-engine,Cocos2d Iphone,Game Engine,scheduleUpdate之后,update:(ccTime)dt将每秒调用60次,如果update方法的运行时间超过1/60秒怎么办?下一次呼叫将被取消?帧速率下降。不会取消任何活动 以60 fps的速度,cocos2d和您的代码只需1/60秒就可以处理渲染帧所需的所有内容,包括所有OpenGL绘图操作。完成这一切需要0.0166666秒 如果一个更新周期比该周期长,则下一帧将在0.03333333秒后渲染,如果多个帧连续处理时间更长,则帧速率将降至30 fps。如果所有操作都在该时间内完成

scheduleUpdate之后,update:(ccTime)dt将每秒调用60次,如果update方法的运行时间超过1/60秒怎么办?下一次呼叫将被取消?

帧速率下降。不会取消任何活动

以60 fps的速度,cocos2d和您的代码只需1/60秒就可以处理渲染帧所需的所有内容,包括所有OpenGL绘图操作。完成这一切需要0.0166666秒

如果一个更新周期比该周期长,则下一帧将在0.03333333秒后渲染,如果多个帧连续处理时间更长,则帧速率将降至30 fps。如果所有操作都在该时间内完成,否则下一帧更新将延迟到0.05秒,甚至0.066666秒


cocos2d只能获得60、30、20或15 fps的帧速率,因为它使用CADisplayLink将更新与屏幕刷新率同步。cocos2d中的帧速率计数器可能显示40 fps或更多,因为它在多个帧上平均值。

帧速率下降。不会取消任何活动

以60 fps的速度,cocos2d和您的代码只需1/60秒就可以处理渲染帧所需的所有内容,包括所有OpenGL绘图操作。完成这一切需要0.0166666秒

如果一个更新周期比该周期长,则下一帧将在0.03333333秒后渲染,如果多个帧连续处理时间更长,则帧速率将降至30 fps。如果所有操作都在该时间内完成,否则下一帧更新将延迟到0.05秒,甚至0.066666秒


cocos2d只能获得60、30、20或15 fps的帧速率,因为它使用CADisplayLink将更新与屏幕刷新率同步。cocos2d中的帧速率计数器可能显示40 fps左右,因为它在多个帧上平均值。

这是我读过的关于cocos2d中帧速率减慢的最好解释。非常有帮助。@learncoas2d谢谢!但是在一个更新周期中,我的预定函数和OpenGL绘图操作的执行顺序是什么?如果调用了与用户输入相关的函数,例如onTouchXXX委托方法,它们在更新周期中是否也在同一线程中运行,执行顺序是什么?这是我在Cocos2D中读到的关于帧速率缓慢的最好解释。非常有帮助。@learncoas2d谢谢!但是在一个更新周期中,我的预定函数和OpenGL绘图操作的执行顺序是什么?如果调用了与用户输入相关的函数,例如onTouchXXX委托方法,那么在更新周期中它们是否也在同一线程中运行,执行顺序是什么?