91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

高雄县| 岳普湖县| 滨海县| 富川| 邯郸县| 昆明市| 房产| 西藏| 丰台区| 克什克腾旗| 湖州市| 云安县| 辉南县| 永仁县| 宜良县| 方山县| 民乐县| 陈巴尔虎旗| 盐山县| 乐至县| 增城市| 莱州市| 曲水县| 瓮安县| 黑河市| 陇川县| 东宁县| 金阳县| 中宁县| 霍邱县| 文山县| 邮箱| 广昌县| 甘洛县| 阿克苏市| 苍南县| 永嘉县| 胶南市| 图木舒克市| 芷江| 横峰县|