对于额外绘制调试物理引擎的支持,Cocos2D同样可以绘制概述计数器,尤其是帧速率(framerate)显示.
为了启用这些概述计数器标签,你只需添加如下一行代码,比如说在AppDelegate.m里:
[CCDirector sharedDirector].displayStats = YES;
Cocos2D将在左下角会绘制3个标签,从上至下依次为:
- 绘制调用(draw call)计数:绘制调用一般发生在OpenGL每次需要绘制一个不同纹理的时候,但是可能也有其他原因导致绘制调用.每个绘制调用会引起性能下降,所以目标是该调用尽可能少.可以用Sprite Sheet去实现这个目的,精灵Sheet可以合并多个图片到一个纹理中,从而使得减少Sprite Sheet的数量.在这个例子中绘制调用为一个合理低的值12,你将看到性能急剧恶化如果绘制调用数量接近或超过100.
- 秒每帧(Seconds per frame):其表示完成update循环每帧的平均值,其中包括处理游戏逻辑,物理引擎和渲染.为了达到60帧每秒(fps),该值必须少于或等于0.0166(1/60).如果你的fps为30则时间加倍.该值主要应用的地方为检查发生绘制掉帧之前还可以添加多少游戏逻辑.
- 帧每秒(Frames per second):在iOS模拟器中因为其使用软件渲染所以你会看到fps非常低,但是在实际设备上可以运行到最多60fps.同样注意该值是最近帧的平均值,所以如果fps为45着实际意味着其中一半的帧在0.0166秒中渲染完毕(60fps)而另一半会占用更多时间(30fps).