COCOS2DX引擎深入一————调度原理
来源:互联网 发布:nginx 默认403页面 编辑:程序博客网 时间:2024/06/05 00:43
main.cpp
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow){ UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // create the application instance AppDelegate app; return Application::getInstance()->run();}
Application里的run()循环调用了导演类Director的mainLoop();
while(!glview->windowShouldClose()) { QueryPerformanceCounter(&nNow); if (nNow.QuadPart - nLast.QuadPart > _animationInterval.QuadPart) { nLast.QuadPart = nNow.QuadPart; director->mainLoop(); glview->pollEvents(); } else { Sleep(0); } }
_animationInterval是我们设定的循环间隔,每次前后两个时间的差大于这个间隔,就执行一次主循环director->mainLoop(),小于这个间隔呢,就一直获取当前的时间,直到大于这个间隔。
再看mainLoop,
void DisplayLinkDirector::mainLoop(){ if (_purgeDirectorInNextLoop) { _purgeDirectorInNextLoop = false; purgeDirector(); } else if (! _invalid) { drawScene(); // release the objects PoolManager::getInstance()->getCurrentPool()->clear(); }}
调用drawScene()方法绘制场景,并弹出自动回收池,使这一帧被放入自动回收池里的对象全部被释放。
1 0
- COCOS2DX引擎深入一————调度原理
- 自己动手写cocos2dx游戏引擎(一)——引擎入口
- COCOS2DX引擎深入二————内存管理
- Cocos2dx引擎笔记——基础概念(场景,层,精灵,调度器)
- COCOS2DX引擎深入四————图片的异步加载
- COCOS2DX引擎深入三———渲染结构(3.0)
- Cocos2dx引擎笔记——内存优化
- Cocos2dx引擎笔记——HttpClient session
- Cocos2dx引擎笔记——综述
- Cocos2dx引擎笔记——数据结构
- 润乾——调度引擎相关概念
- 使用C#作为Cocos2dx引擎脚本语言进行游戏开发——C#脚本简介(一)
- 我的游戏引擎设计——“SI引擎草案(一)原理和框架”
- Cocos2dx引擎笔记——事件分发机制
- Cocos2dx引擎笔记——如何使用HttpClient
- Cocos2dx引擎笔记——SQLite集成与用法
- Cocos2dx引擎笔记——Cocos2d-x 3.0 Json用法
- Cocos2dx引擎笔记——Cocos2d-x xml解析
- 异常检测
- The Wavelet Tutorial Part IV
- Android 四大组件之Activity生命周期
- iOS 判断网络类型2G、3G、4G等等等
- 用ListBox作滚屏显示的一种方法 .
- COCOS2DX引擎深入一————调度原理
- apache在默认404、403提示页面中隐藏apache版本和系统信息
- Android LCD(一):LCD基本原理篇
- 一个进程(Process)最多可以生成多少个线程(Thread)
- Java邮箱自动发送邮件
- 第九周 星星二
- HDU - 1754 I Hate It(线段树)
- 内存分配
- 添加图片方式