Добавлен
Сильно ли будет нагружатса карта например для одиночной игры если использовать много раз способность с утечкой.

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

если их мало, нет
если создается 100500 точек, юнитов, спецэффектов и прочей шелухи, да
0
19
7 лет назад
0
Похожие вопросы:

ответ
Попробуй call DestroyGroup(udg_UNOSITMENIA) выбор юнитов тоже создаёт утечки.
ответ
лень учить джасс но не лень 2 часа тыкаться с гуи
короче тут всё ясно
ответ на вопрос
статей про "правильное гуи" на этом сайте нету
иногда куски с гуи встречаются в статьях про джасс так что можешь прочесть статьи про джасс
но вообще посмотри
тем кто не хочет красивое гуи не смотреть
ответ
наличия триггера на получение урона для каждого юнита
так делать нельзя
это же полный бред
просто добавляем событие к уже существующему триггеру вот и всё
нормального сборщика мусора в варе нет и скорее всего не будет(если близы даже рб поленились убрать то о нормальном gc можно забыть)
так же не стоит забывать что сборщик мусора срабатывает не сразу
если мне не изменяет память то save сохраняет объекты и значения переменных
а при загрузке восстанавливает связи (заносит значения в переменные, регистрирует события и прочее)
так что всякий мусор просто не проходит
а вообще лучше забей на это
в варе есть более серьёзные утечки от которых нельзя избавиться
например руны
+ создание и удаление триггеров вредит намного больше чем пара сотен килобайт памяти
да и вряд ли у тебя за игру будет 50к юнитов
ответ
Obelick, эта либо не трогает мультибоарды
она по точкам(location) в основном работает
Obelick:
учить ради них джас и переписывать мне настолько лень
если ты нормально знаешь гуи и имеешь базовые знания по использованию гугл переводчика то переписать мультибоард на jass много времени не займёт
кроме того тебе не обязательно переписывать полностью
можно сконвертировать в код и поправить то что вызывает утечки
если ты говоришь об утечках в функции установки значения ячейки мультибоарда то их можно убрать следующим кодом
define MultiboardSetItemValueBJ(mb,col,row,val)=myMultiboardSetItemValue(mb,col,row,val)

void myMultiboardSetItemValue(multiboard mb, integer col, integer row, string val){
    multiboarditem mbitem = MultiboardGetItem(mb, row-1, col-1)
    MultiboardSetItemValue(mbitem, val)
    MultiboardReleaseItem(mbitem)
    mbitem=null
}
вставь его в шапку карты (туда где ты ALL.j подключал)
правда после этого автозаполнение строк/столбцов перестанет работать и придётся делать его циклом

0
14
7 лет назад
0
Все зависит от того, сколько утечек оставляет такая способность за раз, и за какой промежуток времени
0
16
7 лет назад
0
утечки не создают нагрузки, они жрут память
от них легко избавиться, так что не понимаю вопроса
0
18
7 лет назад
0
А почему бы просто не удалить эту утечку? )
Даже на GUI есть такая возможность (правда, не всё можно удалить) при помощи Custom Script.
0
20
7 лет назад
0
если их мало, нет
если создается 100500 точек, юнитов, спецэффектов и прочей шелухи, да
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.