2015-12-14 50 views
2

我試圖加載一個場景異步,所以我可以有一個很好的進度條,我發現返回的AsyncOperation.progress停在0.9。我對此沒有任何問題,但是發生了什麼事情之後,加載場景最多需要50秒,並且不會顯示進度。刪除一些對象後,我發現有1個(主要場景對象)導致了這種延遲。Unity3D負載水平異步進展奇怪的行爲

我的問題是,有沒有辦法在第一個90%的負載中加載這個對象(現在發生的速度超快 - 1s)?提前

回答

1

因此,它似乎都涉及到我使用的物質。這對我來說真的很奇怪,因爲我明確地把它們全部看作是「烘烤和丟棄物質」,這似乎什麼都不做。在烘烤所有材質並在材質中切換材質之後,加載從42s降到1s

2

如果這個遊戲物體是裏面的場景

謝謝,它裝載了現場。你遇到的問題是場景中的所有腳本邏輯。加載線程實際上已經完成,但腳本,instantieting等需要所有設備資源,並且看起來像停留在90%。

爲了解決這個問題,我認爲你應該在喚醒或啓動方法中延遲所有的腳本執行。這應該會有所幫助,但是仍然需要特定設備執行腳本的所有時間纔會佔用所有CPU,並且看起來會再次卡住。

+0

因此,所有這一切都是爲了實例化該特定對象? –

+0

我認爲這不是instatiating(這是在異步線程中完成),但它的腳本執行。 –

+0

該對象沒有腳本。當我將它從場景中刪除時,它的加載速度非常快 - 總共爲2秒 –