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

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

Ответ
 
Elemental
Element Of Water
offline
Опыт: 1,072
Активность:
Сравнение скоростей работы функций
1- Что будет работать быстрее- обращение к двум глобальным массивам (по обращению к каждому) или одно обращение к глобальному но двухмерному? (хотя я конечно догадываюсь что это вопрос скорее риторический и к одному быстрее чем к двум)
2- как быстро работает функция выбора юнитов на области? Как ускорить поиск нужного юнита (какие нибудь неарденарные способы хотелось бы увидеть:), а не наподобии <проверь условием герой-не герой> и подобного..
З.Ы.: Тема сделана для подобных вопросов.

Elemental добавил:
bj и native - разница только в глюках БиДжи или еще и скорость работы разная?
Старый 21.11.2008, 14:56
J
expert
offline
Опыт: 48,447
Активность:
1 вопрос через чур кривой, что ты подразумеваеш под обращением к двумерному массиву? подгонку индекса для обращения к одномерному?
2 зависит от ситуации, какого юнита тебе нужно найти?

Отредактировано Jon, 21.11.2008 в 15:08.
Старый 21.11.2008, 15:01
ScorpioT1000
Работаем
offline
Опыт: отключен
Elemental, двумерных нет в джассе =)
Цитата:
bj и native - разница только в глюках БиДжи или еще и скорость работы разная?

кроме того, когда обращаешся к native - один вызов, а к bj - два или более вызовов(внутри bj ф-ции), т.е. потеря времени
Старый 21.11.2008, 15:49
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
как быстро работает функция выбора юнитов на области? Как ускорить поиск нужного юнита (какие нибудь неарденарные способы хотелось бы увидеть:), а не наподобии <проверь условием герой-не герой> и подобного..

Код:
globals
 group gr_temp=CreateGroup()
 boolean b_temp=false
 unit u_temp=null
 boolexpr bx=null
endglobals

function flt takes nothing returns boolean
 if b_temp and IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO) and <any conditions> then
  set u_temp=GetFilterunit()
  set b_temp=false
 endif
 return false
endfunction
// --->
 set b_temp=true
 set u_temp=null
 call GroupEnumUnitInRange(gr_temp, <x>, <y>, <radius>, bx)
// <---

function init takes nothing returns nothing
 set bx=Condition(function flt)
endfunction


GetFilterUnit() - мб помещать в локалку/глобалку, тут надо самому прогнозировать что как будет работать

ну это как пример
Старый 21.11.2008, 16:31
J
expert
offline
Опыт: 48,447
Активность:
ADOLF он сказал "не наподобие", а не "наподобие" =) ну вообщем что именно он хочет услышить непойму...
Старый 21.11.2008, 16:41
adic3x

offline
Опыт: 108,439
Активность:
ну я дал пример интересного кода, афтору можно подумать как и что)
Старый 21.11.2008, 17:12
alexkill

offline
Опыт: 18,872
Активность:
Цитата:
Сообщение от Elemental
bj и native - разница только в глюках БиДжи или еще и скорость работы разная?


У бж нет глюков. Лишь утечки, и то не у всех. Что касается скорости работы, то лучше (читай - "нужно!") использовать нативки. Подробнее о функциях читай здесь

Цитата:
Сообщение от Elemental
Тема сделана для подобных вопросов.


Для подобных вопросов вроде бы есть "Библиотека функций".

alexkill добавил:
Цитата:
Сообщение от Elemental
как быстро работает функция выбора юнитов на области? ... (какие нибудь неарденарные способы хотелось бы увидеть:), а не наподобии <проверь условием герой...


Уверен, что любая неординарность приведет к увеличению размера кода и затруднит его понимаемость.

Тебе нужно найти только героев в области?
Старый 28.11.2008, 10:28
Ответ

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

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

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

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



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