Cocos2d-x利用CCSpriteBatchNode提高渲染效率
来源:互联网 发布:淘宝的聊天记录怎么查 编辑:程序博客网 时间:2024/05/15 10:05
CCSpriteBatchNode介绍:
1、先说下渲染批次:这是游戏引擎中一个比较重要的优化指标,指的是一次渲染凋用。也就是说,渲染的次数越少,游戏的运行效率越高。
2、CCSpriteBatchNode就是cocos2d-x为了降低渲染批次而建立的一个专门管理精灵的类。
举例介绍:
1、使用CCSprite创建1000个Icon.png到场景中,这样渲染批次就是1000(暂且不考虑其他的精灵)上面的效果图可以看到,创建了1000个Icon到场景中,这是的FPS是22,渲染批次是1000次。
2、使用CCSpriteBatchNode批量渲染,一次渲染就把所有的CCSprite绘制出来。大大降低渲染批次。
举例介绍:
1、使用CCSprite创建1000个Icon.png到场景中,但是这里利用了CCSpriteBatchNode批量渲染。这时的渲染批次、FPS如何呢?
CCSpriteBatchNode* batchNode= CCSpriteBatchNode::create("Icon.png", 1000);
batchNode->setPosition(CCPointZero);
this->addChild(batchNode);
for(int i = 0;i <1000;++i){
}
效果图如下:
上面的效果图可以看到,创建了1000个Icon到场景中,这是的FPS是39.9,渲染批次是1次。
注:
1、CCSpriteBatchNode::create(const char*fileImage);//利用贴图创建,默认子节点数量29.(数量不够时,系统会自己增加)
CCSpriteBatchNode* batchNode = CCSpriteBatchNode::create(const char*fileImage, unsigned int capacity);//利用贴图创建,并指定子节点数量
2、使用CCSpriteBatchNode时,所使用的贴图必须是同一张图片,也不能指定精灵的深度。所有的精灵都必须在同一渲染层。
3、但是项目中总不可能局限于一张贴图上,所以你可以把多张贴图合并成一张大贴图(合并的工具很多,我不介绍了)。所以利用合成后的大贴图创建一个CCSpriteBatchNode。
然后创建CCSprite的时候,设置贴图的区域就可以了。- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x 利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x 利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Cocos2d-X 学习笔记 20 利用CCSpriteBatchNode提高渲染效率
- C++语言的15个晦涩特性
- 银耳2
- 关于offic 2010 卸载不了的解决方案
- linux-find【递归搜索文件名】
- U码与中文互相转换(*.properties属性文件编码转换)
- Cocos2d-x利用CCSpriteBatchNode提高渲染效率
- Machined Surfaces
- ASP.NET TreeView 虚线断断续续
- 黑马程序员---JAVA基础加强(十八)
- 如何更换天籁车钥匙电池
- tomcat服务器使用get方式请求时参数乱码问题解决
- 构造函数初始化列表
- nyoj 841-最高位数字
- Linux之全系统备份恢复