溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

[cocos2d-x]用CCSpriteBatchNode進行文理貼圖的優(yōu)化

發(fā)布時間:2020-07-08 20:54:08 來源:網(wǎng)絡(luò) 閱讀:196 作者:蓬萊仙羽 欄目:游戲開發(fā)

引言:

我們在進行手機游戲開發(fā)的過程中,由于手機的內(nèi)存資源是有限的,那么對紋理貼圖的優(yōu)化是非常有必要的,有可能相同的功能,優(yōu)化的好與不好對內(nèi)存資源的消耗是非常明顯的,下面我就用一個例子來說明一下。

說明:

cocos2d-x游戲開發(fā)過程中,左下角的三個參數(shù)對我們游戲開發(fā)者來說,是非常重要的三個參數(shù)指標。第一個是場景中精靈的渲染次數(shù),該數(shù)字越大說明越耗資源,我們盡量讓這個數(shù)字越小越好。第二個數(shù)字是每幀之間的時間間隔。第三個參數(shù)是每秒調(diào)用的幀數(shù),盡量讓它保持在60左右,顯得游戲是最流暢的。

操作說明:

我在場景中隨機生成100個相同的精靈,看看兩種不同的效果。

操作步驟:

1.沒有優(yōu)化之前

代碼:

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

效果:

[cocos2d-x]用CCSpriteBatchNode進行文理貼圖的優(yōu)化

2.優(yōu)化了之后

代碼:

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

效果:

[cocos2d-x]用CCSpriteBatchNode進行文理貼圖的優(yōu)化

效果對比:

優(yōu)化了之后,明顯的看的出第一幅圖第一個參數(shù)是1000,也就是說精靈渲染了1000次,這是比較消耗資源的。第二幅圖,第一個參數(shù)只渲染一次。還有就是由于模擬器調(diào)用的是PC的內(nèi)存所以內(nèi)存比較大,對第三個參數(shù)是不會有多大的影響的,但如果是真機調(diào)試的話效果會很明顯,第一種情況會明顯的比較卡。
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI