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

Без ответа.


Просмотров: 264

XGM Bot #1 - 2 месяца назад 2
Похожие вопросы:

» ответ
Какой ужас
Делай вот так.
» бронепоезд
создать.
направить на 128 точек наверх(90)
сделать неперманентным
текст удалится через 3 секунды
текст затухнет до 100% прозрачности через 3 секунды
Вот чёрт. не успел приплюснуть к посту.
» ответ
Steal nerves:
Да. При чем две.( Position of Dying unit ).
скрин скинул выше, но там ошибка. И если раскрыть, то обнаруживается еще одна утечка: на гуи Point(0,0), а на jass эта команда называется по-другому Location(0,0), эта функция создает точку
» раскрыть
попробуй раскрутить, и использовать эту
native CreateItem takes integer itemid, real x, real y returns item
через CS: call CreateItem( id, GetUnitX(u), GetUnitY(u))
где id - ид-номер типа предмета, u - юнит. Ввести тип предмета, и юнита нужно.
можно еще запомнить как-то, чтобы к предмету как-то обращаться
через CS: set it = CreateItem( id, GetUnitX(u), GetUnitY(u))
где it - переменная предмета. Объявить переменную и обращаться
» ответ
после разложения костей юниты сами выгружаются из памяти
функция "wait" то же вызывает утечки
она не вызывает утечки, она сама по себе кривая и не подходит под большинство задач
если создать переменную "Point" типа "точка" и изначально задать ей положение центр области "Final", а потом обращаться уже к этой переменной "Point" в триггере событие "боевая единица входит в область "Start", действие "отдать приказ боевой единице следовать в "Point" , то новые точки создаваться не будут?
да
только в гуи еще и создание юнитов утекает тоже насколько я помню, надо тоже заранее точку делать
впринципе можно было бы обойтись одной точкой на все действия, но вам видимо пока рано
» ответ
zontik2012 нет, не является утечкой. Если бы ты крепил эффект к точке, к примеру в позиции юнита, причем не удалял бы эту точку потом - то это была бы утечка

8gabriel8 #2 - 2 месяца назад 1
Вот карта, где есть удаление отрядов игроков:

По идее на стороннем ресурсе есть эти темы про удаление утечек:
Но при беглом осмотре не увидел там информации, которую ты здесь спрашиваешь.
Centyrion #3 - 2 месяца назад 0
8gabriel8:
благодарю, дело в том что создал новую карту и поставил там Handle Counter из предыдущего вопроса, оказывается что..при инициализации карты банально создать хэш таблицу и присвоить ей переменную это уже утечка... не говоря уже о отряде и группы игроков. но спасибо за ответ
NazarPunk #4 - 2 месяца назад 2
банально создать хэш таблицу и присвоить ей переменную это уже утечка
Что за ересь?
8gabriel8 #5 - 2 месяца назад 0
Centyrion, хэндлы-это как бы указатели для некоторых переменных или лучше сказать часть созданных нормальных переменных и утечек. Создавая хеш-таблицу и группу, ты создаёшь хендлы, но это ещё не значит, что ты создал утечки. Счётчик хэндлов покажет тебе, в какой момент создаётся куча хэндлов, а если ты ничего не задумывал в этот момент, то будешь анализировать триггеры и искать причину.
Centyrion #6 - 2 месяца назад (отредактировано ) 0
карта дя тестирования
доработал слегка..
необходимости нет... он не только удаляет объекты которые добавляю вручную исходя из условий но и очищает хэндлы которые были до этого
но все же некоторые хэндлы остаются...как бы я не старался их убрать
прикреплены файлы