Cocos2D中的Framerate状态
2015-10-12 09:24
295 查看
对于额外绘制调试物理引擎的支持,Cocos2D同样可以绘制概述计数器,尤其是帧速率(framerate)显示.
为了启用这些概述计数器标签,你只需添加如下一行代码,比如说在AppDelegate.m里:
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).
为了启用这些概述计数器标签,你只需添加如下一行代码,比如说在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).
相关文章推荐
- 神器SystemTap
- Python 七步捉虫法
- Lua编程示例(一):select、debug、可变参数、table操作、error
- C#中的两种debug方法介绍
- 用Ruby实现一个单元测试框架的教程
- js调试工具 Javascript Debug Toolkit 2.0.0版本发布
- php debug 安装技巧
- Lua中的异常处理pcall、xpcall、debug使用实例
- 在Python编程过程中用单元测试法调试代码的介绍
- cocos2dx骨骼动画Armature源码剖析(一)
- cocos2dx骨骼动画Armature源码剖析(二)
- Android APK使用Debug签名重新打包 Eclipse更改默认Debug签名
- Node.js 学习笔记之一
- iOS 5 cocos2d 游戏开发 3ff8 实战:第4章 你的第一个游戏
- 如何利用Object Browser图形化工具提高Oracle开发工作效率(二)对象创建管理篇
- quick-cocos2d-x for mac开发环境安装配置
- 在Eclipse里调试Vert.X
- node 调试
- Unity3D上路_01-2D太空射击游戏
- Unity3D上路_02-第一视角射击游戏