Я только начал интересоваться редактором игры и решил сделать хоть что-то, что можно вставить в интернет, но во время работы столкнулся с такой проблемой. Во время игры у меня она тормозит на секунду, и я посмотрел, что это может быть. Тогда я и узнал об утечке памяти, но не понимаю как ее исправить. Пожалуйста, объясните мне. (кампания доступна к скачиванию)

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

Ну я сегодня за кэпа, обьясню вкратце:
Утечки - это необнуленные переменные и всякий прочий темпо-мусор, который засоряет собой оперативку игры.
Многие функции ГУИ(триггеров) содержат в себе незначительные утечки - к примеру всякие математические функции, некоторые же содержат значительные утечки - например, функция "двигать в точку" создает целый обьект "локация", который там и остается, а по хорошему должен быть удален.
Обычно, это все не важно, если ты не создаешь сложных триггеров с малым интервалом. Например, у тебя есть способность "блинк", которая триггерно двигает юнита в точку - от такой способности не создастся так много точек, что у тебя начнет тормозить игра, даже за час непрерывного спама.
А вот если у тебя есть способность, которая двигает юнита таким образом каждые 0.01 сек (в течение 1 секунды он плавно летит, к примеру) - то тут лучше бы за собой убирать.
Когда ты поймешь насколько утечные ГУИ функции, ты начнешь постепенно переходить на Джасс, а когда ты поймешь насколько много текста на джассе ты должен напечатать даже для того чтобы просто нанести урон в области и навесить эффект - на этом моменте тебе расхочется делать карты.)
`
ОЖИДАНИЕ РЕКЛАМЫ...
3
27
4 месяца назад
Отредактирован rsfghd
3
Тормозить игра на секунду может не из-за утечек. От утечек постоянно начинает понижаться фпс приводя к крашу
Банальный пример секундного "тормоза" это отсутствие прелоада. Т.е. когда одновременно спавнится много разных эффектов в первый раз*, когда какой-то нестандартный герой создаётся с нестандартными абилками в первый раз*
Так же лагать может из-за деформации ландшафта на огромной карте, т.е. та же громовая поступь или волна силы
2
22
4 месяца назад
2
если ты имеешь в виду одномоментный фриз, то это не утечка, это значит что у тебя что-то прогрузилось и всё в таокм духе
отметь в какой момент это происходит и что у тебя там в карте происходит вообще в это время
0
1
4 месяца назад
0
постоянно

если ты имеешь в виду одномоментный фриз, то это не утечка, это значит что у тебя что-то прогрузилось и всё в таокм духе
отметь в какой момент это происходит и что у тебя там в карте происходит вообще в это время
постоянно

Тормозить игра на секунду может не из-за утечек. От утечек постоянно начинает понижаться фпс приводя к крашу
Банальный пример секундного "тормоза" это отсутствие прелоада. Т.е. когда одновременно спавнится много разных эффектов в первый раз*, когда какой-то нестандартный герой создаётся с нестандартными абилками в первый раз*
Так же лагать может из-за деформации ландшафта на огромной карте, т.е. та же громовая поступь или волна силы
Я бы не назвал первую миссию большой картой, скорее средней. А таких заклинаний на этой карте пока нет.
2
22
4 месяца назад
2
вспомни после чего это началось
фризы можно вызвать бесконечным циклом, который будет сам обрываться при превышении лимита операций
0
1
4 месяца назад
Отредактирован Vina_nn94
0
PROSHELDOTU:
Приблизительно после того, как я расставил декорации
2
27
4 месяца назад
2
постоянно
так у тебя каждую секунду лагает или пару раз за игровой сеанс? в какой момент действия игры лаг происходит? при старте? при создании героя? при использовании способности или её прокачке?
чтобы исключить проблему утечек достаточно следить за нагрузкой вара через диспетчер задач, можно добавить так же счётчик хэндлов
2
22
4 месяца назад
2
скачал по приколу, а там не карта, а кампания из 5 глав... ща буду все подряд запускать проверять
идите нафиг с такими вопросами )))
4
27
4 месяца назад
4
PROSHELDOTU, удачи тебе просмотреть те 999 гуи триггеров ~
0
2
3 месяца назад
0
Ну я сегодня за кэпа, обьясню вкратце:
Утечки - это необнуленные переменные и всякий прочий темпо-мусор, который засоряет собой оперативку игры.
Многие функции ГУИ(триггеров) содержат в себе незначительные утечки - к примеру всякие математические функции, некоторые же содержат значительные утечки - например, функция "двигать в точку" создает целый обьект "локация", который там и остается, а по хорошему должен быть удален.
Обычно, это все не важно, если ты не создаешь сложных триггеров с малым интервалом. Например, у тебя есть способность "блинк", которая триггерно двигает юнита в точку - от такой способности не создастся так много точек, что у тебя начнет тормозить игра, даже за час непрерывного спама.
А вот если у тебя есть способность, которая двигает юнита таким образом каждые 0.01 сек (в течение 1 секунды он плавно летит, к примеру) - то тут лучше бы за собой убирать.
Когда ты поймешь насколько утечные ГУИ функции, ты начнешь постепенно переходить на Джасс, а когда ты поймешь насколько много текста на джассе ты должен напечатать даже для того чтобы просто нанести урон в области и навесить эффект - на этом моменте тебе расхочется делать карты.)
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.