[cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化

发布时间:2017-1-17 19:05:54 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"[cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化",主要涉及到[cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化方面的内容,对于[cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化感兴趣的同学可以参考一下。

引言: 我们在进行手机游戏开发的过程中,由于手机的内存资源是有限的,那么对纹理贴图的优化是非常有必要的,有可能相同的功能,优化的好与不好对内存资源的消耗是非常明显的,下面我就用一个例子来说明一下。 说明: 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的内存所以内存比较大,对第三个参数是不会有多大的影响的,但如果是真机调试的话效果会很明显,第一种情况会明显的比较卡。

上一篇:EditText中的多行输入问题
下一篇:CreateProcess函数第二个命令行参数--(windows核心编程笔记)

相关文章

相关评论