Добавлен
Я знаю что существуют множество видов утечек, но у меня вопрос. Могут ли просто автоатаки с эффектами дальнего боя вызывать утечки? Но тогда как избавиться от них?

Порождать утечку может только объект, чей тип наследует тип handle.
Такие типы как:
  • boolean
  • integer
  • real
  • string
являются базовыми и утечек не порождают. Все остальные типы (unit, group, timer, multiboard и т.д.) являются наследниками типа handle и могут вызывать утечки.
Подробнее тут:
и тут:
Исключением из правил является тип player. Так как игроки существуют на протяжении всей игры, так как они не уничтожаются и не удаляются, являются постоянным объектом существующим на протяжении всей игры, утечек они не порождают.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
15
GetLocalPlayer, но переменную player как и любую другую нужно обнулять, если она локальная
Не нужно, ни локальную, ни глобальную, вообще никакую. Обнуление необходимо при удалении объекта из игры, Player же существует от начала и до конца игры.
NekoriDes:
Ну он у тебя в глобалке и постоянно висит => ничего очищать не надо, все ок.
К слову, глобальные переменные обнулять тоже нужно, но этим пренебрегают, так как ее содержимое регулярно перезаписывается.
16
Такс я окончательно запутался, я не владею триггерами (особенно Джасс, ибо это просто не мое, лучше модельки клепать:D) Мне конечно помогали с триггерами и именно он смог оптимизировать от утечек но он не работает на джасс, а на гуи, В общем скажите что не так с этими 3мя триггерами и мы сами постараемся исправить этот косяк. (От вас нормальной помощи почти не добьшься, вам бы лишь ао статьям за нос поводить, Бомбануло:D)
15
GetLocalPlayer, в смысле? Под player так же выделяется память (о переменной). А глобальные, если они в постоянном пользовании, зачем обнулять-то?!
28
EnergyFrost, обнуление переменной не освобождает память под неё а просто заполняет нулями
обнуление используется только в том случае чтобы не было ссылок на удалённый объект (ибо тогда объект останется в памяти)
обнуление имеет смысл если мы собираем удалять объект
игрока ты не удалишь никак
тоже самое и с переменными триггеров/таймеров (за исключением динамических но их не стоит юзать)
в общем всё что будет жить до конца игры обнулять ненужно
15
nvc123, хм. Сорь за дезинформацию. Я почему-то был уверен, что player надо обнулить, иначе будет висеть
28
bazeba, а ты прочти статьи и не задавай вопросов в стиле "работайте вместо меня, рабы, иначе я на вас обижусь"
на первый взгляд в этих 3 триггерах ничего такого нету
мб дебаг чтото и покажет
но я не вижу
16
nvc123:
bazeba, а ты прочти статьи и не задавай вопросов в стиле "работайте вместо меня, рабы, иначе я на вас обижусь"
на первый взгляд в этих 3 триггерах ничего такого нету
мб дебаг чтото и покажет
но я не вижу
Рабы, забавно звучит. Ну да ладно. Ладно забыли о проблеме, задам последний вопрос. При каких значениях утечек карта начинает виснуть если использовать детектор утечек. До помощи у меня на 10 сек. с 8 игроками уже было порядком 10000 утечек или даже больше, теперь ну гдето 1500
15
bazeba, зависит от мощности компьютера, на котором играют.
28
bazeba, зависит от того что это за утечки (точки, юниты или чтото другое) и от количества оперативной памяти(не более 2 гигов)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.