Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Setting flag versus matching exact conditions
Setting flag versus matching exact conditions
May 12 2014, 12:38 am
By: sethmachine  

May 12 2014, 12:38 am sethmachine Post #1



Hi,

I think the title is vague (apologies, didn't know what to call this).

Consider this case where, once determined, the value of some predicate P (true or false) is set permanently. In our case predicates are some chains of conjunctions/disjunctions of Starcraft conditions.

In any case, is it more efficient to:

1. Have a single trigger that detects P's value, then stores this in a boolean variable.

2. Triggers which need to know P's valuation now reference this boolean instead of testing all of P's valuations.

Or

1. Triggers which need to know P's valuations always test them as part of their conditions.

I am figuring that the former case is probably more efficient, but in any case, is it the norm for SC mapmaking (or coding in general)?



None.

May 12 2014, 12:49 am Roy Post #2

An artist's depiction of an Extended Unit Death

You're thinking on an efficiency level that doesn't matter for most maps, so if performance isn't an issue, I wouldn't bother increasing the complexity of your triggers.

That being said, checking the value of a switch / death counter is much more efficient than checking certain conditions, such as the Bring condition (which is notorious for causing performance issues on large-scale maps).

It's always wise to order your conditions so that switches come first, followed by simple numerical comparisons (like death counters or accumulated resources), followed by the other, more complicated conditions.

For coding in general, your suggestion is a form of caching or maintaining state, where computing a result once and storing it can be much more efficient than computing the value repetitively. However, for a lot of higher-level languages, this is unnecessary, as the compiler will optimize it for you (e.g., you can say "1000 * 60 * 60 * 5" as means of calculating 5 hours from milliseconds, and the compiler will convert this to a constant value rather than do the multiplication every time).




Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[10:53 pm]
Oh_Man -- https://youtu.be/MHOZptE-_-c are yall seeing this map? it's insane
[2024-5-04. : 1:05 am]
Vrael -- I won't stand for people going around saying things like im not a total madman
[2024-5-04. : 1:05 am]
Vrael -- that's better
[2024-5-04. : 12:39 am]
NudeRaider -- can confirm, Vrael is a total madman
[2024-5-03. : 10:18 pm]
Vrael -- who says I'm not a total madman?
[2024-5-03. : 2:26 pm]
UndeadStar -- Vrael, since the ad messages get removed, you look like a total madman for someone that come late
[2024-5-02. : 1:19 pm]
Vrael -- IM GONNA MANUFACTURE SOME SPORTBALL EQUIPMENT WHERE THE SUN DONT SHINE BOY
[2024-5-02. : 1:35 am]
Ultraviolet -- Vrael
Vrael shouted: NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
Gonna put deez sportballs in your mouth
[2024-5-01. : 1:24 pm]
Vrael -- NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
[2024-4-30. : 5:08 pm]
Oh_Man -- https://youtu.be/lGxUOgfmUCQ
Please log in to shout.


Members Online: Lost_Angel, Rawflesh0615, Ultraviolet