Вот все мы знаем, что после каждой установленной точки надо ее очищать, а что делать с переменными типа real или integer?
Стоит ли очищать эти данные, путем установления на нулевое значение в завершения триггера?
Влияет ли это на память?

Нет, они не утекают.
Утекают группы, точки, эффекты, строки, вроде как камеры и многие объекты типа handle, но не все, есть некоторые псевдохэндлы. Но в этом не эксперт, просто ретранслировал информацию, которую прежде читал.
строки не чистятся

Вот тут о том, что текстаг не является настоящим хэндлом, но не знаю, создаёт ли он ещё утечки кроме утечки строки.
DracoL1ch:
тексттаг не является настоящим хендлом и не подвержен синхронизации, каждйы клиент имеет свои таги
аналогично молнии и уберсплаты
проверяется GetHandleId(объект)
если результат меньше 0x100000 - это локальный объект без синхронизации
Странно, что нигде не видел статьи с полным списком возможных утечек. По идее за столько лет кто-то мог бы и заморочиться.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
26
Нет, они не утекают.
Утекают группы, точки, эффекты, строки, вроде как камеры и многие объекты типа handle, но не все, есть некоторые псевдохэндлы. Но в этом не эксперт, просто ретранслировал информацию, которую прежде читал.
строки не чистятся

Вот тут о том, что текстаг не является настоящим хэндлом, но не знаю, создаёт ли он ещё утечки кроме утечки строки.
DracoL1ch:
тексттаг не является настоящим хендлом и не подвержен синхронизации, каждйы клиент имеет свои таги
аналогично молнии и уберсплаты
проверяется GetHandleId(объект)
если результат меньше 0x100000 - это локальный объект без синхронизации
Странно, что нигде не видел статьи с полным списком возможных утечек. По идее за столько лет кто-то мог бы и заморочиться.
Принятый ответ
26
они кэшируются
статья по ссылке неплохая, но ей не хватает информации по объёму каждого типа утечки памяти и информации по юнитам, будут ли переменные типа unit расходовать больше памяти, чем юниты сами по себе, одинаковы ли в этом плане bj_-глобалки и пользовательские глобалки?
28
переменные типа unit
Переменная типа юнит - это просто ссылка на сам объект. Такая переменная занимает не больше, чем integer.
одинаковы ли в этом плане bj_-глобалки и пользовательские глобалки
Да какая разница, при запуске подгружаются common.j, blizzard.j и war3map.j. Язык-то один.
26
A unit will always keep a tiny bit of memory, even when removed properly. 0.04 kb and unpreventable.
Вдруг глобальная пользовательская ссылка на юнита, когда её переназначают на другого юнита, тоже оставляет утечку в памяти, тип object же?
Хотя нет, точки и группы создают же объект, а эта просто ссылается.
27
DracoL1ch, молнии тоже локально можно создавать? не знал.
28
Хотя нет, точки и группы создают же объект, а эта просто ссылается.
Нужно понимать разницу между переменной и самим объектом. Переменная просто содержит ссылку на объект, и занимает 32 бита (для варкарафта), объект же занимает столько, сколько ему нужно. Объект нужно либо самому удалять, либо игра сама это сделает (юнит умер и разложился). Глобалки тоже нужно обнулять, чтобы garbage collector (или аналог этого для вара) видел, что хендл объекта никому не нужен, и выдавал этот хендл новому объекту.
26
Извини, если задену, но ты просто мастер объяснять. Ничего нового не сообщил, зато в известной информации запутал!
26
Что глобалки нужно обнулять. Например, удалил группу, нужно ли после этого обнулить глобалку на неё? Как бы понимаю, что нет, но объяснение довело до таких мыслей.
16
предполагается, что ты в глобалку один фиг будешь что-то записывать и неиспользуемый хендл и так, и так будет "обнулен".
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.