Komaqtion
You can change this now in User CP.
- Reaction score
- 469
Ok, so I was just about to do a benchmark on how much faster GetTriggerWidget is than e.g GetTriggerUnit but then I remembered, you can't convert widget to unit (Can you ?)...
So, I was just wondering why, or when you use GetTriggerWidget ? (If anyone uses it anymore :S)
Also, is there a limit to how much you can use GetTriggerWidget at one time ? :S
As this code doesn't show "Test B" if I execute the loops 10000 times... So I set it to 8000 and it works for both :S
Btw, GetTriggerWidget seems to be a tiny bit faster...
So, I was just wondering why, or when you use GetTriggerWidget ? (If anyone uses it anymore :S)
Also, is there a limit to how much you can use GetTriggerWidget at one time ? :S
As this code doesn't show "Test B" if I execute the loops 10000 times... So I set it to 8000 and it works for both :S
JASS:
library Benchmark initializer OnInit
///////////////////////////////////////////////
// Native declarations for stopwatch natives //
// - Requires no modified common.j import //
///////////////////////////////////////////////
native StopWatchCreate takes nothing returns integer
native StopWatchMark takes integer stopwatch returns real
native StopWatchDestroy takes integer stopwatch returns nothing
/////////////////////////
// Benchmarking script //
/////////////////////////
// Initialisation
globals
endglobals
private function Init takes nothing returns nothing
endfunction
// Tests
globals
private constant string TITLE_A="Test A Name"
private constant string TITLE_B="Test B Name"
endglobals
private function OnEsc takes nothing returns nothing
local integer sw
local integer i
local widget u = null
set i=0
set sw=StopWatchCreate()
loop
set i=i+1
set u = GetTriggerUnit() // x10 - 10,000 executions altogether.
set u = null
exitwhen i==8000
endloop
call BJDebugMsg(TITLE_A+": "+R2S(StopWatchMark(sw)*100))
call StopWatchDestroy(sw)
set i=0
set sw=StopWatchCreate()
loop
set i=i+1
set u = GetTriggerWidget()
set u = null
exitwhen i==8000
endloop
call BJDebugMsg(TITLE_B+": "+R2S(StopWatchMark(sw)*100))
call StopWatchDestroy(sw)
endfunction
///////////////////////////////
// Registers the OnEsc event //
///////////////////////////////
private function OnInit takes nothing returns nothing
local trigger t=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER)
call TriggerAddAction(t,function OnEsc)
call Init()
endfunction
endlibrary
Btw, GetTriggerWidget seems to be a tiny bit faster...