vfinsider
offline
Опыт:
740Активность: |
Оптимизация
У меня вопрос. Известно что TriggerRegisterAnyUnitEventBJ работает циклом и проверяет по циклу для
всех игроков function TriggerRegisterAnyUnitEventBJ takes trigger trig, playerunitevent whichEvent returns nothing
local integer index set index = 0 loop call TriggerRegisterPlayerUnitEvent(trig, Player(index), whichEvent, null) set index = index + 1 exitwhen index == bj_MAX_PLAYER_SLOTS endloop endfunction Как вы думаете если мне в карту сразу занести некую функцию подобную этому типа
function TROLOLO2 takes nothing returns boolean
return true endfunction function TROLOLO takes trigger t,playerunitevent pe returns nothing
local integer i=0 loop call TriggerRegisterPlayerUnitEvent(t,Player(p),pe,Condition(function TROLOLO2)) set i=i+1 exitwhen i==16 endloop endfunction И будет в итого везде писатся так
local trigger t=CreateTrigger()
call TROLOLO(t,EVENT_PLAYER_HERO_SKILL) call TriggerAddCondition(t,Condition(function TROLOLO3)) Имеет ли какой то положительный эффект?! |
16.06.2011, 18:42 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Dreii
define{name=Dreii age=17}
offline
Опыт:
5,246Активность: |
Цитата:
Поставь после лупа exitwhen i>11(16) Думаю ф-ией лучше |
|
16.06.2011, 18:50 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Helpmeplz
offline
Опыт:
11,698Активность: |
так как написал ты - нет
если цикл будет непосредственно в функции инициализации триггера, выигрыш будет ровно в один вызов функции единственное что можно оптимизировать - добавлять события только для играющих игроков, которые были предварительно занесены в какой нибудь массив. толку от этого всеравно никакого |
16.06.2011, 18:52 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,158Активность: |
стандартная функция не вызывает утечек, но, если ты извращенец, то велком:
так "быстрее всего" ну, алсо, так в ТсХ сделано |
16.06.2011, 18:55 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
vfinsider
offline
Опыт:
740Активность: |
дык я тоже самое выше написал просто все сделал в цикл и все в отдельную функцию которую в последствии засуну в costim script и по написанию буду на него ссылатся даст ли она какую то пользу или нет вот в чем вопрос |
16.06.2011, 19:05 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,158Активность: |
vfinsider, ты занимаешься абсолютно бесполезным дрочингом на биты оперативки. я написал тебе САМЫЙ быстрый вариант, успокойся |
16.06.2011, 19:11 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Clamp, НЕТ НЕ САМЫЙ.
вариант еще быстрее: заносим игроков в массив и используем не Player[0], а, например PlayerX[0]. Ах, да:
|
16.06.2011, 19:46 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|