[cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化
操作说明: 我在场景中随机生成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的内存所以内存比较大,对第三个参数是不会有多大的影响的,但如果是真机调试的话效果会很明显,第一种情况会明显的比较卡。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。