关于cocos2d-x面试的问题

关于高效渲染的问题:

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);
}

转载于:https://www.cnblogs.com/quansir/p/3160644.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值