ПрограммированиеФорумОбщее

Unity: Причины утечки памяти и возможные решения

Страницы: 1 2 3 Следующая »
#0
10:43, 5 ноя 2014

Пару месяцев назад перескочил на юнити и уже почти заканчиваем разработку, но тут всплыл какой то глюк с утечкой памяти, даже в юнити запускаешь несколько раз игру и память тает на глазах. Потом я узнал что, Ангри бердс епик оказывается тоже на юнити сделали и я думаю, многие заметили какой кошмар получился, игра вылетает и жутко тормозит, хотя по идее, у них достаточно ресурсов чтоб нанять хороших разрабов.
Собственно хочу обратится с вопросом к сообществу, если какие то хитрости при  разработке на юнити, чтоб не возникло ужасных последствий утечки памяти?

p.s. Вопрос касается разработки 2Д игр.

#1
10:54, 5 ноя 2014

Вариантов может быть много. Надо понимать, что внутренние ресурсы игровые, такие как текстуры, звуки итд - это не managed code.
Первый кандидат - это статическая ссылка на ресурсы из скрипта - тогда Unity не будет их удалять.
Еще можно нагенерить ресурсов из кода (меш там создавать, текстурку) каждый кадр новый или и ссылку на них забыть удалить. Натечь может много.
Но по фотографии это не лечится - нужно профайлером гонять.

#2
11:27, 5 ноя 2014

Про это я первым делом подумал, что надо пробежаться по коду и все проверить. Меня смущает почему АнгриБердс не смогли сделать нормально игру, может есть какой то жуткий камень в этом.

#3
11:50, 5 ноя 2014

DenBraun
> если какие то хитрости при разработке на юнити, чтоб не возникло ужасных последствий утечки памяти?
Есть, уходить с юнити на нормальный C++ движок.

#4
11:54, 5 ноя 2014

Dmitry10
> Есть, уходить с юнити на нормальный C++ движок.

На С++ нету утечек что ли ? :)

#5
11:59, 5 ноя 2014

innuendo
сделаешь сам утечки, тогда и будут :)

#6
12:01, 5 ноя 2014

innuendo
> На С++ нету утечек что ли ?
Если их специально не делать, то нету.

war_zes
> сделаешь сам утечки, тогда и будут :)
+100500

#7
12:02, 5 ноя 2014

Dmitry10
> > На С++ нету утечек что ли ?
> Если их специально не делать, то нету.

Можно подумать, что на C# утечки случаются не от кривых рук ?

#8
12:06, 5 ноя 2014

innuendo
Так об этом и речь, поэтому и рекомендую забить на криворукий юнити и перейти на нормальный C++ движок.

#9
12:09, 5 ноя 2014

Dmitry10
> и перейти на нормальный C++ движок.

На котором также возможны мемлики от кривых рук ? :)

#10
12:10, 5 ноя 2014

innuendo
перейти на нормальный C++ движок, где мемликов нет.

#11
12:11, 5 ноя 2014

Dmitry10
> рекомендую забить на криворукий юнити и перейти на нормальный C++ движок.

Есть мнение, что в мемликах ТС виноват вовсе не Юнити.

Черт, не распознал Джимника сразу.

#12
12:16, 5 ноя 2014

Dmitry10
> перейти на нормальный C++ движок, где мемликов нет.

Если руки кривые - мемлики бывают даже там, где их нет :)

#13
12:22, 5 ноя 2014

Ogra
> Есть мнение, что в мемликах ТС виноват вовсе не Юнити.
Да, я тоже слышал, что это на него зелёные человечки порчу наводят.

> Если руки кривые - мемлики бывают даже там, где их нет :)
В точку, поэтому лучше не связываться с криворукими движками, типа Юниту, потому что даже если твой код будет идеально безупречен, сам Юнити будет тормозить и лагать.

#14
12:32, 5 ноя 2014

Dmitry10
> даже если твой код будет идеально безупречен, сам Юнити будет тормозить и
> лагать.

но вот если твой код не идеален и не безупречен, то языки со сборкой мусора становятся более правильным выбором.
Так что идеальный Джимник идет писать идеальный код для своего идеального движка, а остальные воспользуются C#, Lua, Blueprints и т.д.

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.