Стоит ли проводить очищение группы юнитов перед тем как её уничтожать, дабы не было утечек?

Принятый ответ

Проверил на 1.26
Списки юнитов остаются на месте, однако их заголовок ломается, якобы освобождая ячейку, ссылки на участников группы считаются стертыми. Получается, можно и не чистить список перед уничтожением. Просто в памяти адрес остается висеть, но может быть затерт, если заголовок гговорит, что тут никого нет (после дестроя именно так).
Вопрос не связан с самим существованием юнитов внутри группы после смерти, они вроде как не удаляются, я точно один раз лечил зависание мертвых иллюзий в списках.
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
27
6 лет назад
Отредактирован MpW
2
не надо. основные утечки: это объекты и необнуленные локалки. группа эта как автобус, а пассажиры автобуса - юниты, при удалении удаляешь автобус с пассажирами, если ли смысл чистить группу перед удалением тогда? это же не спасательная операция или это вместо автобуса можно представить как таблицу. по идее нативка Destroy сама удалять и подчищать
2
16
6 лет назад
2
Надо, группы не чистятся при уничтожении автоматически
0
27
6 лет назад
0
DracoL1ch, откуда ты это знаешь?
3
16
6 лет назад
3
список юнитов остался висеть в памяти после дестроя группы. Не, ну, возможно, к нему сборщик мусора через пару минут заходит, я не ждал. Можешь попробовать группировать бесконечно в новые группы и разрушать их, глянешь, будет память расти или нет
0
12
6 лет назад
0
Интересный вопрос однако.Обычо группы перед их уничтожением никто не чистит.
Посмотрите наработки : там просто DestroyGroup(g);set g = null.По идеи как должно само очищаться тогда.
Я проводил yнекотороные тесты: удалиться ли удаленый юнит из группы в которой он находился и да он удалялся.Именно удаленый юнит через RemoveUnit(),на счет умерших не знаю, по идеи они тоже должны удаляться из групп после разложения
4
21
6 лет назад
Отредактирован Raised
4
В 1.29+ утечки хендлов и не только, возможно, пофиксят. Но скорее всего, этим займутся правнуки нынешних разработчиков.
0
13
6 лет назад
0
По идеи как должно само очищаться тогда.
мб ни кто не проверял? я бы проверил, но не умею, решил что тут кто-то этим занимался
1
26
6 лет назад
1
Создаёте виспа, закидываете в группу, убиваете виспа... висп умирает без разложения
Запускаем форгроуп и смотрим получил ли он обращение в виспу
Запускам сразу при смерти, потом через 0.00, и спустя N сек.
0
13
6 лет назад
0
Extremator, и что? этим мы проверим удаляется ли юнит из групп когда юнит исчезает. А задача узнать очищается ли уничтоженная группа без создания утечек.
0
26
6 лет назад
0
А задача узнать очищается ли уничтоженная группа без создания утечек.
На это тебе уже ответили
И сказали что можешь сам попробовать загрузить память
0
13
6 лет назад
0
И сказали что можешь сам попробовать загрузить память
нечего сказать - не говори. Что за манера у тебя?
1
26
6 лет назад
1
Стоит ли проводить очищение группы юнитов перед тем как её уничтожать, дабы не было утечек?
Абсолютно ничего, кроме лишней строчки кода, не мешает вам очистить группу перед её удалением, если вы не уверенны.
0
26
6 лет назад
Отредактирован Extremator
0
Cancel:
нечего сказать - не говори.
Ты сам задал вопрос...
и что?
...и я тебе на него и отвечаю.
0
13
6 лет назад
0
...и я тебе на него и отвечаю.
Читай внимательнее, ты ответил на другой вопрос, не на тот, что я задал
4
32
6 лет назад
4
А нахер их уничтожать? делать нех? Для мгновенных действий достаточно темповой глобалки с группой, для всего остального есть GroupUtils или аналоги.
4
16
6 лет назад
Отредактирован DracoL1ch
4
Проверил на 1.26
Списки юнитов остаются на месте, однако их заголовок ломается, якобы освобождая ячейку, ссылки на участников группы считаются стертыми. Получается, можно и не чистить список перед уничтожением. Просто в памяти адрес остается висеть, но может быть затерт, если заголовок гговорит, что тут никого нет (после дестроя именно так).
Вопрос не связан с самим существованием юнитов внутри группы после смерти, они вроде как не удаляются, я точно один раз лечил зависание мертвых иллюзий в списках.
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.