Cocos2d-x3.2游戏的核心循环在Application,如何处理FPS不稳
来源:互联网 发布:崩坏学园2淘宝代充 编辑:程序博客网 时间:2024/04/29 08:05
今天天气很阴,马上要下雨了,陈吃早点功夫写点东西,
一场秋雨一场寒,十场秋雨要穿棉,各位从今往后多穿点
int Application::run()
{
if(!applicationDidFinishLaunching())
{
return 1;
}
long lastTime = 0L;
long curTime = 0L;
auto director = Director::getInstance();
auto glview = director->getOpenGLView();
// Retain glview to avoid glview being released in the while loop
glview->retain();
//看到了吗,其实所有游戏就在这个循环中
while (!glview->windowShouldClose()) //如果没退出,比如用户按下了home 就退出了
{
lastTime = getCurrentMillSecond(); //获取当前系统时间
director->mainLoop(); //1.处理游戏绘图和游戏逻辑
glview->pollEvents(); //2.处理游戏交互
curTime = getCurrentMillSecond(); //3.以上1.2必定要消耗一定的时间而且动画和怪物越多可能耗时越大所以curTime - lastTime就是这次计算消耗的时间
if (curTime - lastTime < _animationInterval) //如果curTime - lastTime < _animationInterval
//说明在60/1秒内完成了这一帧的计算再让cup sleep FPS剩下时间来保证帧率的稳定
{
usleep(static_cast<useconds_t>((_animationInterval - curTime + lastTime)*1000));
}
/////////如果想知道游戏中是否有不稳定如何呢? 加入如下代码
else
{
//........
}
}
/////////////////你明白了吗 亲
/* Only work on Desktop
* Director::mainLoop is really one frame logic
* when we want to close the window, we should call Director::end();
* then call Director::mainLoop to do release of internal resources
*/
if (glview->isOpenGLReady())
{
director->end();
director->mainLoop();
}
glview->release();
return 0;
}
void Application::setAnimationInterval(double interval)
{
_animationInterval = interval*1000.0f;
}
- Cocos2d-x3.2游戏的核心循环在Application,如何处理FPS不稳
- Cocos2d-x3.2游戏的核心循环在Application,如何处理FPS不稳------沈大海
- 【转】Cocos2d-x3.2游戏的核心循环在Application,如何处理FPS不稳
- Cocos2d-x3.2游戏的核心循环在Application,如何处理FPS不稳
- Cocos2d-x3.2游戏的核心循环在Application,如何处理FPS不稳
- cocos2d-x3.2中如何优化Cocos2d-X游戏的内存
- Cocos2d-x3.2中 简单循环动画的实现
- cocos2d-x3.2中AndroidNDK:Aborting..Stop在Eclipse的处理方法
- 游戏主循环FPS
- 游戏2048--基于cocos2d-x3.2
- cocos2d-x3.2在xcode6.1下的环境搭建
- cocos2d-x3.2在xcode6.1下的 环境搭建
- 如何使用cocos2d-x3.0制作一个打地鼠的游戏:第一部分
- 如何使用cocos2d-x3.0制作一个打地鼠的游戏:第二部分
- cocos2d-x3.2 的UserDefault
- cocos2d-x3.2游戏开发在mac os下配置android环境
- cocos2d-x3.x 游戏手柄
- Cocos2d-x3.2 飞机大战类游戏中实现随机出现敌机的方法
- CocoStudio1.6UI编辑器动画播放
- Codeforces Round #294 (Div. 2) C
- 【Cocos2d-x】音量滑动设定以及自动保存功能实现(完整模块)
- Redis分布式集群
- Android应用的基本组件介绍
- Cocos2d-x3.2游戏的核心循环在Application,如何处理FPS不稳
- android 5.0源码下载
- 大型网站技术架构:核心原理与案例分析-李智慧
- (转)详解汇编系统调用过程(以printf为例)
- cocos2d-x3.2单点触摸
- c语言危险库函数及解决方案
- poj解题报告——2081
- Android 闹钟 开发过程记录(六)
- Cocos2d-x3.2实现虚拟摇杆多点触摸