![]()
Extremator
offline
Опыт:
43,514Активность: |
Прощай AddAction! Шучу, не прощай, или не AddAction
Напоролся на такого рода конструкцию.
Был удивлён, ибо в таком случаи можно убрать часть "Actions" у триггера
В общем:
Такой триггер каждый раз будет проверять условие и всегда будет получать фолс (т.е. он не будет подходить к моменту когда он должен начать выполнять действия и... это вообще имеет роль? или фишка в другом?) Но тем не менее он будет делать свою работу... Ну и по сколько тема должна содержать вопрос, то - "Какой смысл в этой замене?"
Ведь точно так же можно убрать кондишн и сделать всё в экшене Отредактировано Extremator, 21.09.2014 в 10:45. |
|
|
![]()
16GB
GhostOne User
offline
Опыт:
59,317Активность: |
too slow
|
|
|
![]()
Extremator
offline
Опыт:
43,514Активность: |
16GB:
Это да xDD |
|
|
![]()
quq_CCCP
Я белый и пушистый!
offline
Опыт:
96,500Активность: |
Extremator, году в 2004 проходили, в условиях триггеров можно писать любые действия, условие выполнится немного раньше действия триггера, особого толку от таких конструкций нету. |
|
|
![]()
Hellfim
Новичок
offline
Опыт:
81,534Активность: |
Если мне не изменяет память, то в условииях нельзя вейты юзать и им подобные слип экшны. |
|
|
![]()
DioD
offline
Опыт:
45,184Активность: |
слипы только всякие конченные юзали, что в 2004 году что в 2014
реальных ограничений писанию всего кода прямо в кондишинах нет, ну может кроме синхронизации и кое каких специальных действий, которые не для этого и явно не в спеллах делаются. |
|
|
![]()
MegaBlax
offline
Опыт:
2,352Активность: |
Это ты типо догнал что в функции Condition можно делать действия? |
|
|
![]()
Кет
offline
Опыт:
110,633Активность: |
Я вот так и не понял, почему. Кроме того, что они не всегда правильно работают, в отличие от таймеров, ничего плохого так и не нашёл. |
|
|
![]()
Buulichkaa
Делаю спеллы за еду
offline
Опыт:
19,771Активность: |
Кет, а что ты ещё хочешь "такого" найти у функции, которая должна точно отмерять время? |
|
|
![]()
adic3x
offline
Опыт:
99,989Активность: |
Конкретно слип - считает время даже тогда, когда игра стоит на паузе, если не ошибаюсь. Вейты - костыли из слипов и таймеров. Вот и вопрос - зачем? |
|
|
![]()
DioD
offline
Опыт:
45,184Активность: |
слип считает время независимо от скорости игры паузы и лагов, что может нехило доставлять когда игра идёт не стабильно.
дада когда идёт "ожидание игроков" по сети, что не редкость было 10 лет назад, эти "ожидания" шли дальше, что очень доставляло. поллед вейт - ядрёный костыль, который использует таймер таким образом, что в принципе можно было просто использовать таймер без него самого с тем же результатом, соответственно смысл в вейте отсутствует. соответственно те кто были неспособны это заметить и понять (или хотя бы прочитать что написано про этот метод разработчиками) не очень умные люди по умолчанию.
Лично, в качестве эксперемента реализовывал "спеллы из доты" без ретурн бага, без хеша и кеша, без вейтов, на основе структур по образу и подобию FAT, стека, набора "регистров", одного таймера и распределительной карусели, производительность была выше любых других аналогов (в ущерб "расширяемости" само собой, еще были ограничения и выравнивание, был существенный оверхеад на структурах под метаданные(вообще тупой костыль ряди экономии на числе массивов чтобы не делать под каждый спелл свой, экономия была необоснована ничем, просто ради лулзов), которые человек заметить мог только если знал что они есть) лет таки 5 назад. Сейчас чуточку поднявшись заметил, что методом карусели делают чуть ли не все движки и вообще другой вариант работы на современных ЭВМ маловероятен. Отличный пример майнкрафт, который работает методом карусели с клокрейтом 20 для сервера, а рендер в отдельном потоке работает с произвольным клокрейтом и тянет данные с сервера в тот момент когда он спит. |
|
|
![]()
Hellfim
Новичок
offline
Опыт:
81,534Активность: |
|
|
|
![]()
Hate
конь вакуумный
offline
Опыт:
42,850Активность: |
ну в варе метод карусели на сколько я знаю это 1 таймер и стак чеголибо, при каждом тике таймера мы пробегаемся по всему стаку и делаем действия |
|
|
![]()
DioD
offline
Опыт:
45,184Активность: |
да, карусель делает действия над всеми объектами из списка через равные промежутки.
внезапно попытки оптимизировать, тормозить стартовать таймер и тому подобное даёт большой штраф, по этой причине карусель просто стабатывает каждые Х секунд и делает вещи, позволяет реализовывать многие вещи без ретурнбага и хештаблиц, но в ущерб масштабируемости, после некоторого размера массива хеш становится быстрее. |
|
|
![]()
adic3x
offline
Опыт:
99,989Активность: |
Во многих случаях это очень эффективно, легко программируется и обеспечивает хорошую производительность. |
|
|
![]()
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Прощай WorldEdit* |
|
|
![]()
Doc
offline
Опыт:
61,963Активность: |
Когда осознаешь, что твоя карусель и сама наверняка крутится на карусели побольше, понимаешь, что пора уже удалить папочку wc3 с кампуктерна :^) |
|
|
![]()
ScorpioT1000
Работаем
offline
Опыт: отключен
|
и мамочку.
А вообще у реальных пацанов всё через плитки удаляется <3 |
|
|
![]()
DioD
offline
Опыт:
45,184Активность: |
начнём с того что любая карусель на любом языке крутится на x86 или x64 от одной этой мысли все байтодрочеры должны начинать цитировать ассемблер, но этого не происходит... |
|
|
![]()
Doc
offline
Опыт:
61,963Активность: |
DioD, по такой логической цепочке очень далеко можно зайти, ведь на самом деле это аллах крутит главную карусель! |
|
|