详解cocos2d帧率FPS
来源:互联网 发布:服装记账软件 编辑:程序博客网 时间:2024/04/28 02:28
详解cocos2d帧率FPS
最近在使用coco2d-js写一个游戏的时候,需要将帧率实时显示出来,
于是搜索了一下,获得FPS有下面几个方法:
cc.director.getAnimationInterval()cc.director.getSecondsPerFrame()
但是,这两个方法都有点问题
getAnimationInterval()只会返回你设定好的FPS帧率,即project.json里的frameRate值,不会随着实际帧率而变化
getSecondsPerFrame()方法返回的是每帧的秒数,按说其倒数就是实际的帧率,然而其根据cocos的算法,往往很小,用1除以这个数值会经常出现大数值的越界.
然后我就想到,在cocos2d的调试模式下,有三行数值,其中就有FPS:
然后我去找这个帧率是怎么计算的,在CCDirector.js中,有个变量
_frameRate,这个数值保留一位小数就是这个Label的值,源码如下:
this._frameRate = this._frames / this._accumDt;this._FPSLabel.string = this._frameRate.toFixed(1);
也就是说在我们的js中直接获得
var fps = cc.director._frameRate
获得这个数值就可以把帧率的显示变好看一点了,然后我想把默认的这三行隐藏,于是写了这一行:
cc.director.setDisplayStats(false)
但是这样,cc.director._frameRate的值就一直是0了,那是因为
DisplayStats是false后cocos就不会实时计算FPS了,所以不能设为false,而是只让三个label不显示就行了,于是,在CCDirector.js的 _showState()函数 中,将这三行注释掉:
this._FPSLabel.visit(); this._SPFLabel.visit(); this._drawsLabel.visit();
结果就可以把fps显示到任何地方,这是js的写法,我想C++应该是差不多的
0 0
- 详解cocos2d帧率FPS
- FPS
- FPS
- FPS
- FPS
- FPS
- fps
- FPS
- FPS
- Unity3D FPS帧数修改实现详解
- h323协议 计算FPS 帧率
- cocos2d的FPS从60到30的变化
- cocos2d-x之FPS的显示与屏蔽
- Cocos2d-x 修改Android平台帧率fps
- 帧率 - Frames per Second,简称:FPS
- 3000 fps代码运行步骤详解(C++)
- Cocos2d-X学习——Android不同设备FPS不同问题
- Cocos2d-x3.2游戏的核心循环在Application,如何处理FPS不稳
- 最美好的回忆。
- POJ1426 Find The Multiple(BFS)
- Spark平台上的JavaWordCount示例
- [IOS]edgesForExtendedLayout、automaticallyAdjustsScrollViewInsets
- Linux Shell的信号trap功能你必须知道的细节
- 详解cocos2d帧率FPS
- 【原】Masonry+UIScrollView的使用注意事项
- 获取Class的方式
- 给 Android 开发者的 RxJava 详解
- 反转链表(递归与非递归)
- typescript[2] -Interface
- 16-01-17 TableLayout 属性及示例
- 微信三级分销系统介绍
- 华为oj 字符串加解密