Removing leaks = not optimal?

Reaction score
54
Someone said that using the RemoveLocation calls and equivalents are not good because you keep creating and destroying handles, and that it was more efficient to just clear the variables and use them again. Yet, I see everyone around here always suggesting to use the JASS calls with no regards to the previous.

Can an expert on the matter clear things up?
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Well, when it comes to location, then it depends... It's never good to overwrite a point variable, but if you use a variable for one spot only, and don't change it's position, then you don't need to destroy it :D
 

Azlier

Old World Ghost
Reaction score
461
Overwriting doesn't destroy what the variable previously held.
 

Weep

Godspeed to the sound of the pounding
Reaction score
400
so... Is there any advantage to not destroying the variable and using it again?
There's a difference between overwriting and reusing. For the entities that can be reused once created (unit groups can be cleared and re-filled, locations can be moved), that's faster. You still need to destroy an entity if you are going to set the variable's value again, instead of modifying an existing variable's data.

e.g. Instead of:
JASS:
set TempPoint = GetUnitLoc(unit)
< Do stuff >
call RemoveLocation(TempPoint)

it would be faster* to do:
JASS:
call MoveLocation(TempPoint, GetUnitX(unit), GetUnitY(unit))


You probably see destroying/leak prevention so often because GUI doesn't really give the user the tools to reuse these entities (without using Custom Script, which is just a line of JASS). Most of what you can do in GUI will overwrite the variable if not destroyed first.

*I think. The second example takes more function calls, so I'm not sure.
 

Viikuna

No Marlo no game.
Reaction score
265
Also, if you learn Jass you dont have to qorry about nay leak stuff, because cleaning them comes naturally. You only really need one location per map anyways: for GetLocationZ.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top