kvaDrug
offline
Опыт:
1,601Активность: |
Супертриггеры
Ничего особого, классика. Если кто-нибудь не знает, что такое супертриггеры, пусть качает карту и смотрит. Я пытался отследит некоторые закономерности. Например заметил, что триггеры запускаются дольше, чем их действия. Еще рекомендую в карте делать несколько блоков супертриггеров, для из равномерной работы. Выкладываю карту, экспериментируйте на здоровье. |
08.11.2008, 16:43 | #1
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Зевс
Адская Зверюга
offline
Опыт:
152,154Активность: |
Фишку с масс вейтами знаю... остальное не понял |
08.11.2008, 18:54 | #2
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
kvaDrug
offline
Опыт:
1,601Активность: |
Остальное... Короч, я как-то заметил, что SetDeaths тормозит игру, особенно если там большое число, вот проверял на этой карте, ничё не уловил. Масс вейты это и есть супертриггеры, а я "изучал" их там. Выложил карту, чтобы ктонить другой поэкспериментировал. |
08.11.2008, 20:02 | #3
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Worm
Просто Червь
offline
Опыт:
3,221Активность: |
Ребят, масс вейты гипер триггерами (hyper triggers) называют обычно... Большинство действий в массовых количествах тормозят игру. Особенно это относится к MoveUnit, CreateUnit, RemoveUnit, KillUnit. SetDeaths по сравнению с этими действиями игру не тормозит. Недовно я экспериментально обнаружил одну интересную вещь, есть граница кол-ва триггеров, после которой игра в любом случае тормозит (всё зависит от мощности компьютера/коннекта, если играют в мультиплеер и некоторых других факторов), даже если триггеры все не выполняются а просто проверяются. Она может ОЧЕНЬ условно быть определена как 60000 проверок триггеров в 1/12 секунды, - т.е. приблизительно 15000 триггеров с четырмя игроками присутствующими в игре с использованием гипер триггеров...
kvaDrug утверждаешь ли ты, что SetDeaths тормозит игру в разной степени в зависимости от числа, которое в нём указано? Интересно каким образом ты это проверял?
Кстати, известен принципиально другой способ сделать гипер триггеры:
Trigger("Player 1"){
Conditions: Switch("Switch1", not set); Actions: Preserve Trigger(); Wait(0); Set Switch("Switch1", set); } Trigger("Player 2"){
Conditions: Switch("Switch1", set); Actions: Preserve Trigger(); Set Switch("Switch1", clear); Wait(0); } Вобщем это уже давно всё известно... Интересно, знает ли кто-нибудь В ТОЧНОСТИ КАК этот механизм работает? Вопрос в том, что на самом деле происходит, когда в триггере встречается wait действие? Немного покопавшись, можно уловить некоторые закономерности, но полностью досканально разобрать их работу, насколько мне известно, не удавалось ни кому. А что вы думаете по этому поводу? Может кто-нибудь здесь сможет объяснить мне их работу? Сколько я не спрашивал на SEN, мне так толком ни кто ни чего внятного сказать не смог. Да, у них есть туториалы по гипер триггерам, но они вопрос этот либо не затрагивают, либо не раскрывают до конца, либо предложенные решения оказываются неверными...
kvaDrug можешь рассказать, до чего ты дошёл в своих изучениях гипер триггеров? |
11.11.2008, 23:31 | #4
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
kvaDrug
offline
Опыт:
1,601Активность: |
ЯТД по умолчанию после каждого действия стоит вэйт 1-2 секунды, если ставишь свой вэйт, то тот, что по умолчанию удаляется. Давно забил на старэдит, ща поступать нада =) |
19.04.2009, 01:33 | #5
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
sagittarius
offline
Опыт:
9,981Активность: |
Все Тригеры СТРОГО линейны при выполнении !!!
Начинается выполнение для Тригеров 1 игрока, и так до 8, потом не помню в каком порядке (для Нейтралов, 4 команд, Всех, ....) Wait вызывает прерывание, уступая очередь следующим тригерам
Wait(0) - означает выполнять другие тригеры, и как только пройдет полный круг, сразу выполнять этот тригер дальше! Что вызывает ГиперТригер ? Он ускоряет выполнение очереди Вызывая копии текущих потоков тригеров. |
16.05.2009, 12:58 | #6
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|