Вопрос по оптимизации: есть ли смысл, например, держать локального игрока в переменной? Как бы да - не надо всё время обращаться к функции, но и из переменной информация достаётся какое-то время.

он не кэширован, вообще ни одна функция jass в игре не кэширует инфу и каждый раз производит все необходимые рассчеты с нуля. Поэтому выгоднее иметь массив Players[0..MaxPlayers] вместо вызова Player(0..maxPlayer) , LocalPlayer в main вместо GetLocalPlayer() , и т.д. Переменные быстрее, чем вызов функции.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
32
локал плеер самое малое из зол.
На мемхаке завезли способ проверки на сколько тяжелый вызов той или иной функции, большинство нормальных нативок очень быстрые, но к примеру SteUnitPosition - очень тяжелая, вычисления как раз одни из самых быстрых, как и математические функции типа Sin, Cos.
Так что можите проводить собственные тесты.
15
SetUnitPosition - очень тяжелая
Чисто логически оно так и должно быть, поскольку функция устанавливает координаты учитывая карту путей. Там и должно быть прилично проверок.
22
а вы не думали что GetLocalPlayer закеширован? То есть
function GetLocalPlayer()
return localPlayer
end
Само собой функция не генерируется а лишь возврашает переменную из движка который запомнил у каждый игроков при живых

и автор собирается еше добавить его переменную трата на ресурсы

некоторые функции возврашает статичный значит закеширован который не выполняет сложную вычеслении
15
а вы не думали что GetLocalPlayer закеширован?
Слишком глубоко, чтобы думать об этом пользователю скриптового языка.
16
он не кэширован, вообще ни одна функция jass в игре не кэширует инфу и каждый раз производит все необходимые рассчеты с нуля. Поэтому выгоднее иметь массив Players[0..MaxPlayers] вместо вызова Player(0..maxPlayer) , LocalPlayer в main вместо GetLocalPlayer() , и т.д. Переменные быстрее, чем вызов функции.
Принятый ответ
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.