Как можно проследить, чем забивается память?

Общие вопросы о Unity3D

Как можно проследить, чем забивается память?

Сообщение jimmm 16 ноя 2017, 02:15

Здравствуйте.
Как можно проследить чем забивается оперативная память?
У меня игра без загрузки сцен, верней миссии загружаются инстантом и дестроем объектов, но с каждой запущенной миссией, память постоянно забивается. По чуть чуть, но всеравно через 10 таких миссий игра может упасть. Как можно проследить и почистить память в такой ситуации? Просто дистрои не помагают как я понял, не вычищают память.
jimmm
UNIверсал
 
Сообщения: 417
Зарегистрирован: 23 янв 2013, 22:57

Re: Как можно проследить, чем забивается память?

Сообщение waruiyume 16 ноя 2017, 02:22

Resources.UnloadUnusedAssets
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Как можно проследить, чем забивается память?

Сообщение Bill Gates 16 ноя 2017, 07:18

jimmm писал(а):Здравствуйте.
Как можно проследить чем забивается оперативная память?
У меня игра без загрузки сцен, верней миссии загружаются инстантом и дестроем объектов, но с каждой запущенной миссией, память постоянно забивается. По чуть чуть, но всеравно через 10 таких миссий игра может упасть. Как можно проследить и почистить память в такой ситуации? Просто дистрои не помагают как я понял, не вычищают память.


https://bitbucket.org/Unity-Technologies/memoryprofiler
Bill Gates
UNIт
 
Сообщения: 127
Зарегистрирован: 16 июл 2015, 11:27

Re: Как можно проследить, чем забивается память?

Сообщение jimmm 16 ноя 2017, 07:57

waruiyume писал(а):Resources.UnloadUnusedAssets

Да у меня стоит это, но каждый раз, каждое завершение миссии показывает что удалено 0 unused объектов, не сильно работает этот способ, если дистроить объекты, я так понимаю он не выгружает ненужные загруженные текстуры из памяти.
jimmm
UNIверсал
 
Сообщения: 417
Зарегистрирован: 23 янв 2013, 22:57

Re: Как можно проследить, чем забивается память?

Сообщение DbIMok 16 ноя 2017, 13:43

а профайлер что показывает?
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как можно проследить, чем забивается память?

Сообщение jimmm 16 ноя 2017, 22:55

DbIMok писал(а):а профайлер что показывает?

Ну у меня пока версия 4.7 там ничего не показывает, только рост загрузки памяти. Или может я что-то не увидел..
jimmm
UNIверсал
 
Сообщения: 417
Зарегистрирован: 23 янв 2013, 22:57

Re: Как можно проследить, чем забивается память?

Сообщение jimmm 21 ноя 2017, 07:55

Проследил закономерность, в память выгружаются звуки, листы звуков (шаги и тд),
Как можно вычищать эти звуки, и я там понимаю листы звуков??
Объекты дестроятся фотоном, и наверное поэтому не удаляются из памяти.
jimmm
UNIверсал
 
Сообщения: 417
Зарегистрирован: 23 янв 2013, 22:57

Re: Как можно проследить, чем забивается память?

Сообщение Bill Gates 21 ноя 2017, 08:36

Я же тебе дал ссылку на инструмент. В нем все прекрасно видно, зачем гадать?
Bill Gates
UNIт
 
Сообщения: 127
Зарегистрирован: 16 июл 2015, 11:27

Re: Как можно проследить, чем забивается память?

Сообщение DbIMok 21 ноя 2017, 15:27

Bill Gates писал(а):Я же тебе дал ссылку на инструмент

jimmm писал(а):у меня пока версия 4.7

Unity 5.3a4 has a new very lowlevel memory profiler API
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как можно проследить, чем забивается память?

Сообщение Bill Gates 22 ноя 2017, 07:18

DbIMok писал(а):
Bill Gates писал(а):Я же тебе дал ссылку на инструмент

jimmm писал(а):у меня пока версия 4.7

Unity 5.3a4 has a new very lowlevel memory profiler API


В чем проблема перевести копию проекта на нужную версию и посмотреть? Сомневаюсь, что перевод вызовет большие трудности.
Bill Gates
UNIт
 
Сообщения: 127
Зарегистрирован: 16 июл 2015, 11:27

Re: Как можно проследить, чем забивается память?

Сообщение jimmm 27 ноя 2017, 09:20

А возможно ли как-то выгружать из памяти текстуры которые не попадают в поле зрения камеры, или которые выходят из поля зрения камеры?
jimmm
UNIверсал
 
Сообщения: 417
Зарегистрирован: 23 янв 2013, 22:57

Re: Как можно проследить, чем забивается память?

Сообщение Tolking 27 ноя 2017, 10:30

Конечно возможно! Только никто это не реализовал т.к. никому ненужно слайд шоу при движении камеры связанное с выгрузкой и загрузкой ресурсов объектов выходящих и выходящих из/в фрустум камеры... Да и делать каждому объекту свой материал со своей текстурой слишком много памяти занимает...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Как можно проследить, чем забивается память?

Сообщение jimmm 27 ноя 2017, 11:23

Tolking писал(а):Да и делать каждому объекту свой материал со своей текстурой слишком много памяти занимает...

И как можно этот момент оптимизировать?

По поводу камеры, я имел ввиду, что можноли единомоментно выгружать не используемые перед камерой текстуры? Типа, объект умер-дистройнулся, и в этот момент освободить память от текстур дестройнутого объекта?
jimmm
UNIверсал
 
Сообщения: 417
Зарегистрирован: 23 янв 2013, 22:57

Re: Как можно проследить, чем забивается память?

Сообщение Tolking 27 ноя 2017, 11:57

Ну оптимизировать очень просто! Текстуры сделать 16х16... Памяти будет мало использоваться...
Если текстуры не используются больше не где, то GC.Collect () их удалит вероятнее всего... Но за это когда будет объект с такой текстурой инстанситься, он будет инстанситься дольше. И очистка принудительная будет фризить если чистить много.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Как можно проследить, чем забивается память?

Сообщение jimmm 27 ноя 2017, 12:56

Tolking писал(а):Ну оптимизировать очень просто! Текстуры сделать 16х16... Памяти будет мало использоваться...
Если текстуры не используются больше не где, то GC.Collect () их удалит вероятнее всего... Но за это когда будет объект с такой текстурой инстанситься, он будет инстанситься дольше. И очистка принудительная будет фризить если чистить много.

Понятно, спасибо.
jimmm
UNIверсал
 
Сообщения: 417
Зарегистрирован: 23 янв 2013, 22:57

След.

Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19