[cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化
来源:互联网 发布:手机淘宝对话框打不开 编辑:程序博客网 时间:2024/05/16 18:00
引言:
我们在进行手机游戏开发的过程中,由于手机的内存资源是有限的,那么对纹理贴图的优化是非常有必要的,有可能相同的功能,优化的好与不好对内存资源的消耗是非常明显的,下面我就用一个例子来说明一下。
说明:
cocos2d-x游戏开发过程中,左下角的三个参数对我们游戏开发者来说,是非常重要的三个参数指标。第一个是场景中精灵的渲染次数,该数字越大说明越耗资源,我们尽量让这个数字越小越好。第二个数字是每帧之间的时间间隔。第三个参数是每秒调用的帧数,尽量让它保持在60左右,显得游戏是最流畅的。
操作说明:
我在场景中随机生成100个相同的精灵,看看两种不同的效果。
操作步骤:
1.没有优化之前
代码:
for (int i=0; i<100; i++) { CCSprite *sp = CCSprite::create("Icon.png"); int x = arc4random()%480; int y = arc4random()%320; sp->setPosition(CCPointMake(x, y)); this->addChild(sp); }
效果:
2.优化了之后
代码:
CCSpriteBatchNode* batchNode = CCSpriteBatchNode::create("Icon.png", 10); batchNode->setPosition(CCPointZero); this->addChild(batchNode); for (int i=0; i<100; i++) { CCSprite *sp = CCSprite::create("Icon.png"); int x = arc4random()%480; int y = arc4random()%320; sp->setPosition(CCPointMake(x, y)); batchNode->addChild(sp); }
效果:
效果对比:
优化了之后,明显的看的出第一幅图第一个参数是1000,也就是说精灵渲染了1000次,这是比较消耗资源的。第二幅图,第一个参数只渲染一次。还有就是由于模拟器调用的是PC的内存所以内存比较大,对第三个参数是不会有多大的影响的,但如果是真机调试的话效果会很明显,第一种情况会明显的比较卡。
- [cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化
- 我的Cocos2d-x学习笔记(八)利用CCSpriteBatchNode进行优化
- cocos2d -x 精灵集合CCSpriteBatchNode的使用
- cocos2d-x 关于CCSpriteBatchNode的深入详解
- Cocos2d-x-CCSpriteBatchNode
- 【爱上cocos2d-x之八】使用CCSpriteBatchNode优化绘制一批相同的精灵
- cocos2d - CCSpriteBatchNode的使用
- cocos2d - CCSpriteBatchNode的使用
- cocos2d CCSpriteBatchNode的用法
- cocos2d - CCSpriteBatchNode的使用
- Cocos2d中CCSpriteBatchNode与纹理贴图集(Texture Atlas)的作用
- Cocos2d中CCSpriteBatchNode与纹理贴图集(Texture Atlas)的作用
- Cocos2d中CCSpriteBatchNode与纹理贴图集(Texture Atlas)的作用
- Cocos2d-x 精灵贴图
- cocos2d-x学习笔记(21)--CCSpriteBatchNode
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- cocos2d-x之 CCSpriteBatchNode 用法总结
- myeclipse9.0 老是挂掉,处于假死状态,
- 游戏开发-SurfaceView类使用详解
- 练成Linux系统高手教程
- Aspose.Cells v7.5.3 支持读写HTML文件格式的页面设置选项
- java多线程返回函数结果
- [cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化
- CreateProcess函数第二个命令行参数--(windows核心编程笔记)
- GDI+编程基础
- 掌控——构建Linux系统Nagios监控服务器
- Struts1.2.9 HelloWorld
- TCP/IP、UDP、Socket
- 进程间的通信
- Android下如何理解onMeasure,onLayout的过程
- Linux网络安全技术与实现