GetWidgetLife() or GetUnitState()?

GoGo-Boy

You can change this now in User CP
Reaction score
40
Should be GetWidgetLife... it takes only one argument.

Edit: Though that doesn't automatically mean a speed advantage... but since there can be multiple unit_state choices the C+++ code for that one is more complicated. But that are just some thoughts of me^^
 

PurgeandFire

zxcvmkgdfg
Reaction score
508
Should be GetWidgetLife... it takes only one argument.

Edit: Though that doesn't automatically mean a speed advantage... but since there can be multiple unit_state choices the C+++ code for that one is more complicated. But that are just some thoughts of me^^

I thought it was C++. o_O (Sorry, I just see so many people putting C+++++ or so :p)

Also, GetWidgetLife is faster I would assume. Most people use it now I think.
 
Reaction score
333
I would expect GetWidgetLife to be much faster than GetUnitState, but I've never seen any benchmarks for it.

EDIT:

Code:
[B]GetWidgetLife:[/B]
    3.005, 3.069, 4.404, 5.406, 2.971, 2.945, 3.128, 2.904, 3.129, 3.043
[B]GetUnitState:[/B]
    3.651, 3.615, 5.419, 3.727, 4.379, 3.791, 3.642, 6.398, 3.599, 4.556

GetWidgetLife definitely seems to have a speed advantage.

Though that doesn't automatically mean a speed advantage... but since there can be multiple unit_state choices the C+++ code for that one is more complicated. But that are just some thoughts of me^^

I wish people would stop inserting "C++" into their posts in an effort to seem more knowledgeable. Seriously. No matter what platform its running on, I can tell you for a fact there is virtually no C++ in Warcraft III.

You might expect to find a lot of C++ in Warcraft's source files, but the Warcraft you actually use and run is not C++ and never has been.
 

GoGo-Boy

You can change this now in User CP
Reaction score
40
Okay sorry. I've always thought that there must be one basic language, C or / C++, on which everything is build on. And everything that is written on an other scripting language is translated to C++ in the end. But guess that's wrong.

Edit: Is there somewhere a readme about this "benchmarking"? I'm interested in how it works. For example I don't really know what kind of numbers you've posted.
 

emjlr3

Change can be a good thing
Reaction score
395
he uses the stopwatch native in Grimoire, i could never figure out how it works

btw, with infintesimal differences such as above, I would use the ones easiest to write, GetWidgetLife()
 
Reaction score
333
Edit: Is there somewhere a readme about this "benchmarking"? I'm interested in how it works. For example I don't really know what kind of numbers you've posted.

Benchmarking is usually done with the StopWatch natives, which come with NewGen and allow you to measure wall time. In the japi directory of the NewGen pack, there is an example map with a small readme file. The readme is slightly out of date.

If I recall, in order to use the natives you will need to uncomment:
Code:
loaddll("bin\\japi.dll")
loaddll("bin\\nativepack.dll")
in both the we.conf.lua and ongameload.lua files.

Also note that the CallByName and InitNatives natives may cause crashes (they do for me, at least).
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top