所以我已經問過這個問題上的統一論壇,但沒有幫助我很多:/。今天,我決定讓朋友試試我的遊戲,所以基本上我創建了一臺服務器,以便其他客戶/朋友可以連接到它。在玩了我的遊戲大約20分鐘後,我迅速檢查了任務管理器,並且我的遊戲使用了大約3.5 GB的RAM! PHOTO HERE當我看着日誌,說什麼這樣的:Unity-獨立籌建耗盡內存
Unity Player [version: Unity 4.6.1f1_d1db7a1b5196]
mono.dll caused an Access Violation (0xc0000005)
in module mono.dll at 0023:101071a1.
Error occurred at 2016-07-04_163050.
C:\Users\Cooler Master\Desktop\TL\TL.exe, run by Cooler Master.
77% memory in use.
0 MB physical memory [1814 MB free].
0 MB paging file [1039 MB free].
0 MB user address space [68 MB free].
Write to location 00000000 caused an access violation.
所以在我的比賽有一些東西吃了保持我的RAM。遊戲運行時,每秒RAM大約需要3MB。我在Internet上發現了關於Resources.UnloadUnusedAssets的一些信息,但我不知道如何編寫這樣的腳本!我知道如何在C#中編寫,但只有像GUI,Newtorkinf,Physics等簡單的腳本。我也從kickasstorrent下載了統一的專業版,只能看到Profiler窗口,但這完全沒有幫助我
非常感謝任何回覆! 另外,如果你想查看遊戲並看看發生了什麼:http://gamejolt.com/games/thuglifealpha/61660
再次感謝! :)
這個問題將很難解決,因爲它看起來像只有弄清楚發生了什麼事情是我們看到的源代碼。在您的代碼中查找數組。像'myclass = new Myclass [10];'在更新循環中。在「開始」功能中執行一次,然後重新使用它。你是從很多腳本做'myclass = new Myclass()'嗎?你是否通過附加腳本來實例化GameObjects?如果是這樣,停下來學習對象池。用'foreach'循環遍歷'List'?改爲使用'for'循環。還有許多其他可能的問題。沒有代碼,很難提供幫助。 – Programmer
我真的不明白你的意思:myclass = new Myclass對不起,我很抱歉。但我只用了一年的統一,所以我還是初學者。但我發現,使用方法(已經提到)卸載紋理和資產一些人,但我無法找到任何腳本到,我不知道該怎麼做,你瞭解這寫這些類型的腳本?而且我也有一個腳本,大概有3500行,我試圖刪除這個腳本並構建遊戲,但RAM仍在增長。我將所有紋理的大小從1024更改爲256像素,但仍然沒有結果。老版本的遊戲工作正常。 –
Unity 5免費版本的功能與Pro的所有功能非常相似,因此您可以免費使用分析器。添加探查內存選項卡的一些截圖(點擊需要的內存快照太) – mgear