Пару месяцев назад перескочил на юнити и уже почти заканчиваем разработку, но тут всплыл какой то глюк с утечкой памяти, даже в юнити запускаешь несколько раз игру и память тает на глазах. Потом я узнал что, Ангри бердс епик оказывается тоже на юнити сделали и я думаю, многие заметили какой кошмар получился, игра вылетает и жутко тормозит, хотя по идее, у них достаточно ресурсов чтоб нанять хороших разрабов.
Собственно хочу обратится с вопросом к сообществу, если какие то хитрости при разработке на юнити, чтоб не возникло ужасных последствий утечки памяти?
p.s. Вопрос касается разработки 2Д игр.
Вариантов может быть много. Надо понимать, что внутренние ресурсы игровые, такие как текстуры, звуки итд - это не managed code.
Первый кандидат - это статическая ссылка на ресурсы из скрипта - тогда Unity не будет их удалять.
Еще можно нагенерить ресурсов из кода (меш там создавать, текстурку) каждый кадр новый или и ссылку на них забыть удалить. Натечь может много.
Но по фотографии это не лечится - нужно профайлером гонять.
Про это я первым делом подумал, что надо пробежаться по коду и все проверить. Меня смущает почему АнгриБердс не смогли сделать нормально игру, может есть какой то жуткий камень в этом.
DenBraun
> если какие то хитрости при разработке на юнити, чтоб не возникло ужасных последствий утечки памяти?
Есть, уходить с юнити на нормальный C++ движок.
Dmitry10
> Есть, уходить с юнити на нормальный C++ движок.
На С++ нету утечек что ли ? :)
innuendo
сделаешь сам утечки, тогда и будут :)
innuendo
> На С++ нету утечек что ли ?
Если их специально не делать, то нету.
war_zes
> сделаешь сам утечки, тогда и будут :)
+100500
Dmitry10
> > На С++ нету утечек что ли ?
> Если их специально не делать, то нету.
Можно подумать, что на C# утечки случаются не от кривых рук ?
innuendo
Так об этом и речь, поэтому и рекомендую забить на криворукий юнити и перейти на нормальный C++ движок.
Dmitry10
> и перейти на нормальный C++ движок.
На котором также возможны мемлики от кривых рук ? :)
innuendo
перейти на нормальный C++ движок, где мемликов нет.
Dmitry10
> рекомендую забить на криворукий юнити и перейти на нормальный C++ движок.
Есть мнение, что в мемликах ТС виноват вовсе не Юнити.
Черт, не распознал Джимника сразу.
Dmitry10
> перейти на нормальный C++ движок, где мемликов нет.
Если руки кривые - мемлики бывают даже там, где их нет :)
Ogra
> Есть мнение, что в мемликах ТС виноват вовсе не Юнити.
Да, я тоже слышал, что это на него зелёные человечки порчу наводят.
> Если руки кривые - мемлики бывают даже там, где их нет :)
В точку, поэтому лучше не связываться с криворукими движками, типа Юниту, потому что даже если твой код будет идеально безупречен, сам Юнити будет тормозить и лагать.
Dmitry10
> даже если твой код будет идеально безупречен, сам Юнити будет тормозить и
> лагать.
но вот если твой код не идеален и не безупречен, то языки со сборкой мусора становятся более правильным выбором.
Так что идеальный Джимник идет писать идеальный код для своего идеального движка, а остальные воспользуются C#, Lua, Blueprints и т.д.
Тема в архиве.