XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
FKoFF
Venomancer 89lvl. Europe
offline
Опыт: 5,975
Активность:
Вопросы продуктивности
Что оптимальнее.
Объявить локальные переменные в которых будет совершаться уравнение (к примеру вычисление полярного смещения) и последующее использование при вызове функции
или Вычисление напрямую при вызове функции
Пример
local real x = 5 + 8 * Cos(10 * bj_DEGTORAD)
local real y = 5 + 8 * Sin(10 * bj_DEGTORAD)

call Example(x,y)
или
call Example(5+8*Cos(10 * bj_DEGTORAD), 5+8*Sin(10*bj_DEGTORAD))
Старый 23.11.2010, 17:29
tgonta
Pixelated Sora Coder
offline
Опыт: 3,160
Активность:
С локалками будет удобнее юз. Имхо.
bj_DEGTORAD = .0174532
Старый 23.11.2010, 17:48
Nekit1234007

offline
Опыт: 11,916
Активность:
Если эти значения никак не используются дальше, то второй оптимальнее. Не идёт инит локалок.

Отредактировано Nekit1234007, 23.11.2010 в 18:11.
Старый 23.11.2010, 17:50
JassMan
свободен
offline
Опыт: 4,193
Активность:
Совершенно верно сказал Nekit1234007, то есть, если это вычисление используется один раз, то есть не используется, к примеру, в циклах, или в дальнейших действиях, то лучше не тратить ресурсы на инициализацию переменных, ибо на это уже лишнее время на них уйдёт. Поэтому быстрее обработается код без них.
Кстати в реальных числах лучше ставить точку, даже если оно выглядит как целое.
То есть: 5.+8.*Cos(a)
Так мы избавляем движок от лишней проверки, ведь он всё равно поставит точку если её там не будет.

Отредактировано JassMan, 23.11.2010 в 18:13.
Старый 23.11.2010, 18:08
FKoFF
Venomancer 89lvl. Europe
offline
Опыт: 5,975
Активность:
тоесть вычисление напрямую внутри функции нагружает систему меньше чем инит локальных переменных, верно?
Старый 23.11.2010, 19:10
Nekit1234007

offline
Опыт: 11,916
Активность:
  1. Создаётся переменная, просчитывается результат твоего выражения, в переменную идёт этот результат, это значение идёт в функцию.
  2. Просчитывается результат твоего выражения, это значение идёт в функцию.
Угадай что в данном случае лучше.
Старый 23.11.2010, 19:19
JassMan
свободен
offline
Опыт: 4,193
Активность:
Верно
Старый 23.11.2010, 23:46
ScorpioT1000
Работаем
offline
Опыт: отключен
в jass нет инлайна. юзайте vjass
Старый 24.11.2010, 00:25
FKoFF
Venomancer 89lvl. Europe
offline
Опыт: 5,975
Активность:
На vjass в ближайшее время планируем перейти ) Спасибо всем за ответы, тему прикройте )
Старый 24.11.2010, 00:43
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 20:58.