亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

cocos2dx Auto-batching的使用

發布時間:2020-07-05 18:24:55 來源:網絡 閱讀:401 作者:a1989229 欄目:開發技術

根據官方文檔于cocosdx3.0+中推出了Auto—batching的新功能 這個東西到底有什么作用呢?


我們知道在我們的游戲開發中經常會遇到要在屏幕上出現許多相同精靈的情況(比如LOL中的一大群小兵) 根據我們的經驗可以得知 在加載精靈時候都會進行一次渲染 那么問題來了 我們每次想加載一大批相同精靈時都需要對每一個精靈進行多次渲染嗎?


官方文檔說明 Auto-batching(自動批處理)生效需要滿足以下條件 

  1. 確保精靈擁有相同的TextureID(精靈表單SpriteSheet)

  2. 確保都擁有相同的材質和混合功能

  3. 不能再次添加到SpriteBatchNode上


簡而言之就是只要我們用同一張圖片創造精靈,并且沒有做特殊處理就可以滿足條件


但是有些情況需要注意:


for(int i =0;i<10000;i++)

auto a = sprite::create("sprite1.png");

this->addchild(a);


auto b = sprite::create("sprite2.png");

this->addchild(b);


}

因為我們在一個循環里面每次創建了兩個精靈 雖然對于a和b精靈的循環來說是用了同一張圖片,但是在內存中的加載是兩張圖片間隔渲染 如下:


sprite1

sprite2

sprite1

sprite2

sprite1

sprite2

sprite1

sprite2

此種情況并不能滿足Auto-batching的要求


那么我們可以怎么辦呢?


for(int i =0;i<10000;i++)

auto a = sprite::create("sprite1.png");

this->addchild(a);

a->setGlobleZorder(1);


auto b = sprite::create("sprite2.png");

this->addchild(b);

b->setGlobleZorder(1);


}

此時在內存中會出現以下情況:


sprite1

sprite1

sprite1

sprite1

sprite1

sprite1

sprite2

sprite2

sprite2

sprite2

sprite2

sprite2

此時就滿足了Auto-batching的條件


向AI問一下細節

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

AI

伊宁市| 中山市| 泰安市| 隆化县| 沂南县| 陈巴尔虎旗| 当涂县| 延吉市| 繁昌县| 皮山县| 郁南县| 莆田市| 唐山市| 龙山县| 武川县| 桐梓县| 中阳县| 宜黄县| 云龙县| 定州市| 淮南市| 离岛区| 锡林浩特市| 广昌县| 江永县| 德江县| 西昌市| 巴塘县| 沈阳市| 台南市| 唐海县| 手游| 丁青县| 荃湾区| 镇坪县| 西城区| 瑞丽市| 上栗县| 崇礼县| 长沙市| 全椒县|