Как ускорить работу редактора карт?
Итак, проблема в том, что при работе над большими картами через некоторое время редактор начинает тупить. Например мне нужно отдать команду монстру, расположенному на карте, следовать в нужную мне точку. Так вот при выборе конкретного юнита в триггере, да и просто открытие списка, где указаны типы юнита(Triggering unit, Entering unit, Casting unit и т.д.) редактор подвисает секунд на двадцать, а то и тридцать. Опытным путем выяснил, что в основном на это влияет большое количество нестандартных монстров и способностей в редакторе объектов, а так же большое число триггеров, с указанием юнитов, расположенных на карте.
У кого нибудь была такая проблема? Есть советы как с этим бороться? Может быть есть какие нибудь скрытые настройки редактора?
Сразу хочу отметить, что "список кистей" в меню я отключил изначально. И проблема не в конкретной карте, а в ситуации в целом. Делаю уже третью "большую" карту и опять возникла та же проблема.

Лучший ответ:
Резюмируя:
  • стремиться создавать объекты не на карте, а в триггерах, сохраняя ссылки на нужные из них;
  • там, где в гуи открываются окна со списком из РО, использовать джасс и вводить равкод, а там, где список расставленных на карте юнитов, использовать переменные;
  • в РО с полями, где указаны объекты, работать через Shift+Enter и вводить равкод, чтобы не открывать список.
*Равкод в РО можно посмотреть, нажав Ctrl+D



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

» Лучшие комментарии


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

» ответ
нефиг создавать столько объектов
редактируй напрямую слк

Obelick #2 - 3 месяца назад 2
У меня в страннике каждая карта сохраняется только по 10 минут, а таких карт 5 и в каждой нужно приносить свои изменения. Так что ваши 30 секунд - это не страшно.
Ну а по факту, чем больше кода в одном триггере - тем он больше зависает. Особенно большие триггеры лучше делить на несколько, если вам это не нравится. Насчет объектов - можете работать в slk таблице или редактировать каждый раздел РО отдельно друг от друга (на пустых картах)
PT153 #3 - 3 месяца назад 0
Какой редактор используется?
Если JNGP, то пробовал ли делать карту без JNGP или с выключенным UMSWE? JNGP подгружает много всяких плагинов, которые могут быть и не нужны.
UrsaBoss #4 - 3 месяца назад (отредактировано ) 0
Когда начнет лагать - проверь состояние компьютера в диспетчере задач
WindMaster #5 - 3 месяца назад 0
PT153:
Какой редактор используется?
Если JNGP, то ...
Нет, JNGP не используется. Редактор обычный, ещё из версии 1.20 варика.
Obelick:
У меня в страннике каждая карта сохраняется только по 10 минут
Да уж, у меня все не так плохо) сохранение идёт чуть больше минуты, значит это общая проблема с тормозами редактора.
UrsaBoss:
Когда начнет лагать - проверь состояние компьютера в диспетчере задач
Зачем? Лаги на любом компе, на четырёх разных компах карты клепал, везде одно и тоже.
UrsaBoss #6 - 3 месяца назад (отредактировано ) 0
WindMaster, компы случайно не калькуляторы?)
На первом месте то что может создавать лаги - это если в обзоре редактора слишком много объектов или обзор на карту слишком большой (т.е карта 480x480 и ты смотришь на всю карту)
На втором месте - большое кол-во действий в триггере в котором идет работа
Остальные вещи никак не нагружают редактор
И то, при всем выше сказанном не должны так лагать простейшие гуи-окна
8gabriel8 #7 - 3 месяца назад 0
У нас аналогичная проблема в карте, хоть и не столь серьёзная. В списке юнитов, которые как переменные, много юнитов, он долго открывается.
При этом не важно, велик ли триггер, сам список долго разворачивается.
PT153 #8 - 3 месяца назад 2
Вот поэтому я всё, что можно разместить на карте, создаю сам во время инициализации или после старта игры.
8gabriel8 #9 - 3 месяца назад 0
WindMaster, приложи карту, пусть UrsaBoss сам увидит.
UrsaBoss #10 - 3 месяца назад (отредактировано ) 0
8gabriel8:
WindMaster, приложи карту, пусть UrsaBoss сам увидит.
не обязательно, у меня в одной карте окошко со списком ~1000 триггеров открылось за 3-4 сек
Ну где действие "Отключить триггер" и т.д, там же выбираешь триггер в списке

И автор вопрос сказал же)
через некоторое время
плюс вот это
да и просто открытие списка, где указаны типы юнита(Triggering unit, Entering unit, Casting unit и т.д.)
WindMaster #11 - 2 месяца назад 0
8gabriel8:
WindMaster, приложи карту, пусть UrsaBoss сам увидит.
как пример можно взять мою готовую карту "Закат империи", в ней тоже тормоза при создании триггеров
вот видос снял)) убогий конечно, но на нем видно наглядно, что на создание простого действия по убийству юнита уходит 30 сек., а мне в РПГ'хе нужны еще сотни, а может и тысяча таких простых действий... похоже, что остается только мучиться)
Hate #12 - 2 месяца назад 3
WindMaster:
похоже, что остается только мучиться)
ну или освоить простой жасс и забыть об этом кошмаре
JaBeN_Симфер #13 - 2 месяца назад (отредактировано ) 0

Резюмируя:
  • стремиться создавать объекты не на карте, а в триггерах, сохраняя ссылки на нужные из них;
  • там, где в гуи открываются окна со списком из РО, использовать джасс и вводить равкод, а там, где список расставленных на карте юнитов, использовать переменные;
  • в РО с полями, где указаны объекты, работать через Shift+Enter и вводить равкод, чтобы не открывать список.
*Равкод в РО можно посмотреть, нажав Ctrl+D
ApEJI #14 - 2 месяца назад (отредактировано ) 0
вот видос снял)) убогий конечно, но на нем видно наглядно, что на создание простого действия по убийству юнита уходит 30 сек., а мне в РПГ'хе нужны еще сотни, а может и тысяча таких простых действий... похоже, что остается только мучиться)
Судя по видео, на компе винд мастера стоит Виндовс ХП в упрощенном стиле, или еще хуже - 98!!!, что может означать лишь одно, его комп не тянет даже семерку
Так что я думаю вопрос закрыт=)
Но если кто сомневается, можете сделать скриншот ваших характеристик компьютера?
8gabriel8 #15 - 2 месяца назад 0
)))
WindMaster #16 - 2 месяца назад 2
винда 7-я, просто стиль "классический" установлен
стремиться создавать объекты не на карте, а в триггерах, сохраняя ссылки на нужные из них
ну или освоить простой жасс и забыть об этом кошмаре
Это все хорошо, но конкретно в моей ситуации уже не поможет, т.к. карта сделана где то на 80% и изучать джасс будет дольше, чем доделать карту старыми методами, а создание объектов триггерами с присвоением переменных уже не поможет, так как список где эти переменные назначаются уже тормозит... замкнутый круг.
прикреплены файлы
pro100master #17 - 2 месяца назад 0
я гуи не стал учить и сразу джасс и освоил и пишу в ней милион строк и не лагает и удобно...
JaBeN_Симфер #18 - 2 месяца назад (отредактировано ) 0
Это все хорошо, но конкретно в моей ситуации уже не поможет, т.к. карта сделана где то на 80% и изучать джасс будет дольше, чем доделать карту старыми методами, а создание объектов триггерами с присвоением переменных уже не поможет, так как список где эти переменные назначаются уже тормозит... замкнутый круг.
  • Скопировать карту, в которую импортировать триггеры с пустой карты (так проще избавиться от всего лишнего).
  • Всех юнитов, расставленных на карте заменить на триггерные, а чтобы не открывать каждый раз меню в гуи - создать пустой триггер, вставить в действия функцию создания юнита на карте, конвертировать в джасс и использовать эту функцию в custom script, заменяя равкоды и другие параметры на нужные. А лучше использовать эту функцию:
native CreateUnit takes player id, integer unitid, real x, real y, real face returns unit
вот так
call CreateUnit(Player(0), 'H000', 0.0, 0.0, 270.0)
Еще проще вытащить из карты файл war3map.j, найти в нем функцию, создающую юнитов на карте и скопировать ее содержимое в триггер с инициализацией или в шапку (над всеми триггерами), вызывая оттуда.
  • Так удалять юнита за юнитом до тех пор, пока никого не останется.
  • Затем создать еще один пустой триггер (старый можно удалить, он больше не нужен), где применить все использованные переменные - это для переноса всех триггеров с этой карты на основную через копирование (в настройках редактора должна стоять галочка "автоматически создавать недостающие переменные").
  • Остается поместить все нужные триггеры в одну папку и скопировать ее в основную карту.
  • В основной карте удалить тех же юнитов.
После этих манипулиций на карте не будет юнитов, которые сами по себе грузят редактор, а также не останется специальных переменных, которые создаются при указании в гуи юнитов, стоящих на карте.
PT153 #19 - 2 месяца назад 0
После этих манипулиций на карте не будет юнитов, которые сами по себе грузят редактор, а также не останется специальных переменных, которые создаются при указании в гуи юнитов, стоящих на карте.
Эти переменные могут использоваться, потому стоит их оставить. А чтобы их окончательно удалить, нужно найти их в блоке globals, что в самом верху war3map.j.
ClotPh #20 - 2 месяца назад 0
WindMaster, даже меня на моем ретроноуте от стиля классический тянет блевать хз, поэтому принципиально держу нормальный, хотя ятп это и снижает все же немного производительность но не хочу сидеть как в бомжатне
хотя это офк дело вкуса и выбора каждого, да