Добавлен Diaboliko
Если коротко: в рамках реализации кастомного импелейла(Impale, пронзание - первый скилл героя-жука нежити) лучше реализовывать изменение высоты каждые 0.02 сек с третьим параметром для SetUnitFlyHeight равным нулю(мгновенное перемещение) или же реализовывать изменение высоты c динамической скоростью каждые 0.1 сек?
С одной стороны - в 5 раз более редкое вычисление переменных высоты, скорости и т.д. и т.п.
С другой - используется внутренний механизм изменения высоты, период которого наверняка выше, пусть и нативный.
Если правда неизвестна наверняка, но есть реализованый на низком периоде импэйл - могу проделать сравнение с реализованным 0.1 сек аналогом(планирую реализовать мелкопериодный импэйл сам, но, потратив пару дней на кастомный импэйл с периодом 0.1 - не горю желанием делать это в ближайшие несколько дней).
С одной стороны - в 5 раз более редкое вычисление переменных высоты, скорости и т.д. и т.п.
С другой - используется внутренний механизм изменения высоты, период которого наверняка выше, пусть и нативный.
Если правда неизвестна наверняка, но есть реализованый на низком периоде импэйл - могу проделать сравнение с реализованным 0.1 сек аналогом(планирую реализовать мелкопериодный импэйл сам, но, потратив пару дней на кастомный импэйл с периодом 0.1 - не горю желанием делать это в ближайшие несколько дней).
Принятый ответ
Работа движка производится на машинном языке. Код же на Jass интерпретируется виртуальной машиной со множеством проверок. 10 твоих вычислений, в действительности, могут интерпретироваться в более 200 машинных команд движка.Если движок делает 200 вычислений когда я делаю 10, то 50 моих + 50 от движка выглядят симпотичнее.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Смотри сам, получится ли сделать нужную плавность, ах да высота броска высчитывается исходя из маштаба юнитов, громадные юниты подлетают выше чем мелкие.
quq_CCCP:
Эх щяс бы найти её..
Отредактирован Diaboliko
Рассчитывая высоту самостоятельно, ты используешь и функцию SetUnitFlyHeight, и пользовательский код Jass для расчетов.
Очевидно, во втором случае операций больше. С практической точки зрения вопрос оптимизации не актуален. В наши дни следует думать о качестве кода и простоте его поддержки.
Отредактирован Diaboliko
Отредактирован GetLocalPlayer