選單

Addressable同步載入它終於來了!

本文首發公眾號

洪流學堂

。洪流學堂,讓你快人幾步。

從Addressables 1。17。4-preview版本開始,加入了一個新的API,叫做可以用於將非同步操作變為同步操作。

支援的Unity版本為:Unity 2019 LTS、Unity 2020 LTS和Unity 2021。1

之前版本的Addressables中,要麼全部非同步操作,要麼全部同步操作,非常不便。現在這個問題解決了。

具體程式碼如何寫呢:

這裡面要注意的是,不管是同步操作還是非同步,最後都得將操作給釋放。

效能影響

咋大部分情況下,同步載入的效能應該和非同步載入差不多,偶爾會出現更快或者更慢的情況。

以下特定情況會慢得多:

第一種是 Addressables 執行涉及大量引擎呼叫時,常出現在一次載入大量資源或體積龐大、依賴繁多的資源時。速度慢的原因是 Unity 2021。1 在以同步方式執行非同步引擎介面時會在每次呼叫時短暫停頓一下。這種停頓現象已在 2021。2 中移除,引擎目前處於 alpha 測試。

第二種是當 WaitForCompletion 在後臺處理大型運算時,再呼叫其處理小型運算。WaitForCompletion 運算必須在引擎的任務佇列中依次完成,如果小型運算的前頭有一些大型運算,則只有前邊的完成,系統才能完成佇列後方的運算。