HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

limit op

05-10-2009, 06:46 PM#1
Troll-Brain
In a multiplayer game, does every player reach it at the same moment or it depends the configuration of the pc/mac/whatever of each user ?

Also what is exactly the limit op ?
I mean i know it stops the thread, but when ?
When the time of the thread execution becomes too big, or when there are too many operations executed (bytecode ?)

I ask it because i need an huge initialisation, i will split the code with several .execute(), but because it's slower i will try use the less .execute as possible, so i need to know.

Thx in advance.

EDIT : Oops, move it to the Triggers section plz
05-10-2009, 06:57 PM#2
Captain Griffen
300,000 ops. Should be machine independant, never heard anything suggesting it wasn't (that's part of the point of a VM).
05-10-2009, 07:12 PM#3
Troll-Brain
Quote:
Originally Posted by Captain Griffen
300,000 ops. Should be machine independant, never heard anything suggesting it wasn't (that's part of the point of a VM).

Ok so i guess the correct answer is :
Quote:
when there are too many operations executed (bytecode)

Could you test this script plz :

Collapse JASS:
scope TestLimitOp initializer init

globals
    private integer I = 0
endglobals

private function Test takes nothing returns nothing
    call BJDebugMsg("press escape")
    
    loop
    exitwhen false
    set I = I +1
    endloop
endfunction

private function Actions takes nothing returns nothing
    call BJDebugMsg(" ")
    call BJDebugMsg(" I == " + I2S(I)) // display 32293 for me
endfunction

private function init takes nothing returns nothing
    local timer tim = CreateTimer()
    local trigger trig = CreateTrigger()
    
    call TriggerRegisterPlayerEventEndCinematic(trig,Player(0))
    call TimerStart(tim,1.0,false,function Test)
    call TriggerAddAction(trig,function Actions)
endfunction

endscope

Simply press escape after you have seen the message "press escape" and tell me if you got a different result than 32293.
If you got a different value than me, plz give your configuration, i guess only the processor does really matter, or not ?
05-10-2009, 08:32 PM#4
PipeDream
http://www.wc3c.net/showthread.php?t=105340

300k ops is hardcoded into the VM callers.
05-11-2009, 04:03 PM#5
Troll-Brain
@PipeDream : Thx for the link, so it is really machine independant ?
Also do you plan to make war3err compatible with the new patch that will come ?
Or do you start to hate Blizzard and forget it ? :p

@Litany : ExecuteFunc doesn't work neither ?

If not, I guess i will use a periodic timer(0) so, or why not start the initialisation when the game time is 0.