11
Unity3D Profiler爲我提供了主要關於垃圾回收的尖峯。在下面的屏幕截圖中,三個紅色尖峯代表我在遊戲中的三個攤位。每個檔位都是100 + ms,大部分時間都花在TrackDependencies
上。Unity3D:優化垃圾回收
據Unity instruction,我嘗試添加這對我的代碼:
if (Time.frameCount % 30 == 0)
{
System.GC.Collect();
}
這並沒有幫助。我仍然有尖峯,他們仍然需要100 +毫秒。究竟發生了什麼,我該怎麼做才能優化我的遊戲?
PS:
我動態創建和我的比賽毀了很多GameObject
秒。這可能是一個問題嗎?
我沒有在循環或數組中作爲返回值的字符串連接,因爲在the post中有所說明。
你是否正在銷燬代碼中某處的對象? – Heisenbug
如果可能的話,合併物體以避免過度破壞可能是一個很好的解決方案。 – SlxS
@Heisenbug是的,我在動態創建和銷燬遊戲中的很多對象。在我的銷燬對象函數中,我也叫'Resources.UnloadUnusedAssets();' – CherryQu