2016-09-08 2 views
0

У меня были некоторые проблемы при запуске WebGL на Chrome:Свежая память кучи WebGL Unity на Chrome

  1. памяти еще на таран, когда я закрываю свою игру WebGL:

    • Перед запустить свою игру: 1.00 G баран
    • Хотя запустить мою игру: 1,9 г барана
    • После тщательного моей игры: 1.8G барана
    • Run игра снова: 2.5G баран => Массив буфера ал место не удалось
  2. память раздроблена, а обновление страницы много времени => не хватает памяти для последовательного блока (кучи) => выделение массива буфера не удалось

Как я могу свежей кучи после тщательного моей WebGL игры ?

Любое предложение исправить эти проблемы?

ответ

0

Это не может быть ошибкой Unity. Обычно, когда вкладки закрыты в Chrome, для освобождения памяти требуется время. Иногда 4 - 10 минут. Это то, что я заметил из Task Manger. Он не освобождает память сразу. Иногда вам нужно закрыть текущий браузер Chrome для закрытой памяти вкладки, чтобы освободиться. Я не могу сказать, является ли это ошибкой или функцией. Может быть, Calling GC.Collect() может помочь.

Вы должны поместить код ниже в свой скрипт, чтобы узнать, поможет ли это.

void OnDisable() 
{ 
    GC.Collect(); 
    GC.WaitForPendingFinalizers(); 
} 
+0

Спасибо за ваш ответ, но он не работает над моей проблемой, память все еще находится на Рам. –

+0

Что это за версия Unity? – Programmer

+0

GC.Collect не работает на webgl. Единственный раз, когда сборщик мусора работает на webgl, когда вы загружаете сцену – nexx

Смежные вопросы