Добавлен ene241
В одной моей тд обширная часть способностей использует событие "юнит получает урон".
Это событие я добавляю триггерно для каждого нового созданного крипа. При добавлении событий хэндлборд фиксирует утечки. Слышал, что событие удаляется при удалении юнита, но даже когда юнит умирает, и я удаляю его из игры, всё не возвращается на свои места, утечки продолжают сидеть в памяти, засоряя её. Есть какая-та альтернатива добавлению ивента? Мемхак, динамические триггеры (создавать триггеры по ходу игры умею, а вот как правильно и безутечно удалять - не знаю)?
P.s.: утечки сразу не заметны, но при игре в 12 игроков на 10-20 минуте становятся ощутимы.
Это событие я добавляю триггерно для каждого нового созданного крипа. При добавлении событий хэндлборд фиксирует утечки. Слышал, что событие удаляется при удалении юнита, но даже когда юнит умирает, и я удаляю его из игры, всё не возвращается на свои места, утечки продолжают сидеть в памяти, засоряя её. Есть какая-та альтернатива добавлению ивента? Мемхак, динамические триггеры (создавать триггеры по ходу игры умею, а вот как правильно и безутечно удалять - не знаю)?
P.s.: утечки сразу не заметны, но при игре в 12 игроков на 10-20 минуте становятся ощутимы.
Добавил карту, создание юнитов идёт в 3-ёх триггерах
В папке "Spells" триггер " skeletons "
В папке "Spells" триггер " spiders "
В папке "CreepsSpawnSistem" триггер "CreepTimerExpires" - ОСНОВНОЙ триггер на создание юнитов, остальные предыдущие почти не используются.
В папке "Spells" триггер " skeletons "
В папке "Spells" триггер " spiders "
В папке "CreepsSpawnSistem" триггер "CreepTimerExpires" - ОСНОВНОЙ триггер на создание юнитов, остальные предыдущие почти не используются.
Смерть юнита фиксируется триггером " unit dies " в папке инициализации, в нём же юнит и удаляется.
Сам триггер на отлов получаемого урона находится в папке "Spells" и имеет имя " DamageTakenCheck ".
При проверке советую поставить компьютеров на другие 11 слотов.
Принятый ответ
Не вызывает утечек.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Потом нет ни 1 фильтра, т.е в группу ты берешь и дохлых и живых, нет проверок что урон 0.,
"Ну а дело было не в бобине просто рукожоп сидел в кабине, сори конечно но проблема была не тут, а во всем коде разом""
Вот вам код вашей карты и список утечек, меньше юзайте бж функции, старайтесь отойти от гуи конструкций, ну а так же есть тула "JASS script Helper" и её аналоги, она ищет утечки, нерационально использованные переменные и функции. Пока вы не научились все делать сами юзайте софт, и обязательно все получится без утечек и проблем.
Локейшены - зачем ты их юзаешь, я написал что уж сразу координатами, потом очень странное ветвление с екзекутами других триггеров? зачем? У тебя есть функции, вызывай по имени и все.
Сколько утечек за игру? Хендл коюнтер улетает в небеса?
Проверку поставлю, мб чуть меньше лагать начнёт, за это спасибо. За 15 мин игры с людьми перестало работать почти всё - от задержки приказа (некоторые юниты останавливаются и не идут) до отказа зданий улучшаться (задержка в 2-3 минуты перед началом грейда). При игре с афк ботами на этих слотах за 15 мин.:
Потом начинает расти и за 2-3 мин. возвращается в нормальное состояние.
За 15 первых мин. игры в сумме капает примерно 3к хэндлов, начинает подлагивать.
На 30-35 минуте игры начинает ломаться код: перестаёт удалять юнитов (и некоторые другие его функции) триггер " unit dies ", утечки наростают ещё быстрее, играть становится невозможно. Хотя до этой минуты в теории игра дойти не должна.
а предметы удаляете? например руны тоже надо удалять так как он после разрушение навсегда останет в игре пока не очистите вручную
Кстати у тебя есть вейты и глобалки, в паре мест, ты введи дебаги - мб у тебя где то теряется перменная из за вейтов (вейт тормозит поток, в этот момент переменная может быть перезаписана) и если юнита нет\ты пикнул дохлого юнита некоторые функции могут оборвать поток - не выполнятся дальше.
quq_CCCP, что могу сказать, надо быть сторожнее с бэкапами)
Точно все проверил с дебагом?