关于高效渲染的问题:

1、先说下渲染批次:这是游戏引擎中一个比较重要的优化指标,指的是一次渲染凋用。也就是说,渲染的次数越少,游戏的运行效率越高。

2、CCSpriteBatchNode就是cocos2d-x为了降低渲染批次而建立的一个专门管理精灵的类。

1、使用CCSprite创建1000个Icon.png到场景中,这样渲染批次就是1000(暂且不考虑其他的精灵)

 
for(int i = 0;i < 1000;++i){
 int x = arc4random()%960;
 int y = arc4random()%640;
 CCSprite* testIcon = CCSprite::create("Icon.png");
 testIcon->setPosition( ccp(x, y) );
 this->addChild(testIcon);
}

2、使用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){
 int x = arc4random()%960;
 int y = arc4random()%640;
 CCSprite* testIcon = CCSprite::createWithTexture(batchNode->getTexture());
 testIcon->setPosition( ccp(x, y) );
 batchNode->addChild(testIcon);
}

最新文章

  1. Mac下使用firefoxdriver
  2. javascript中的innerHTML是什么意思,怎么个用法?
  3. O(N)时间的排序
  4. URL encode 与 URL decode 的C语言实现
  5. [转]是String,StringBuffer还是StringBuilder?
  6. 矩阵经典题目六:poj 3070 Fibonacci
  7. 【转】百度API获取城市名地名(附源码)
  8. 理解用requireJs 来实现javascript的模块化加载
  9. Cayley图数据库的简介及使用
  10. sedlauncher.exe
  11. python模块导入细节
  12. 基于spring框架的jt项目分页查询知识点(二)
  13. jz2440-linux3.4.2-kernel移植【学习笔记】【原创】
  14. 20155225 实验二《Java面向对象程序设计》实验报告
  15. nginx connect() failed,Connection refused,while connecting to upstream fastcgi
  16. 转:IntelliJ IDEA 2016.1.3注册破解激活
  17. Codeforces 712D DP
  18. C#多线程学习(三) 生产者和消费者
  19. web-project 故障查看功能 检测是否启动fmd服务
  20. java栈的实现

热门文章

  1. win10 uwp 绑定静态属性
  2. 笨鸟先飞之ASP.NET MVC系列之过滤器(06异常过滤器)
  3. RabbitMQ 笔记-基本概念
  4. 队列(存储结构双端链表)--Java实现
  5. Coredata中的多线程
  6. hive 创建表和导入数据实例
  7. Spring读书笔记——bean创建(下)
  8. jQuery选择器(内容过滤选择器)第四节
  9. winform音频播放器(有声小说[凡人修仙传])
  10. Golang源码探索(二) 协程的实现原理