The Problems With The UEF - Part 4 (The Ambassador & Blackbird)

@ftxcommando said in The Problems With The UEF - Part 4 (The Ambassador & Blackbird):

You don't make 800 frigs in a game. Stingers suck because they have no aoe and they shoot slow so literally anything making circles dodges 90% of dps forever.

Ah, I see. Though, I thought this was being fixed by increasing the projectile speed?


~Stryker

( ͡° ͜ʖ ͡°)

@nex said in The Problems With The UEF - Part 4 (The Ambassador & Blackbird):

@comradestryker said in The Problems With The UEF - Part 4 (The Ambassador & Blackbird):

fake signatures shouldn't be an extra load on the processing side

Then how are your units shooting at fake signatures?
As long as the signature is visible it's considered a unit. Sure it doesn't have weapons itself, but it can still be targeted. I'm not sure how much movement needs to be calculated for them or if they just copy the original, but targeting is already a very performance heavy calculation.


Jip could probably explain it better than myself, so this is a post I recall about this.

@jip said in Jamming ability should reset when vision of unit is lost:

@e33144211332424 said in Jamming ability should reset when vision of unit is lost:

though again having 100's of frigates do it every 5-10s sounds like a small tactical attack aimed at performance.

It is not.

The complexity (with respect to the input) is linear. We denote that as O(n) . Linear algorithms are usually a good candidate when you're on a budget (and we are).

Some of the performance improvements that we've been having is because there were operations implemented using a complexity O(nlg(n)) or O(n^2) while there was an O(n) or even an O(1) implementation possible. To give you an idea of the growth, see these graphs:

desmos-graph (1).png

See also on desmos

To pick one x coordinate on the graph: if we have 100 (n = 100) units then it takes the algorithm:

  • O(n) = 100 steps
  • O(nlg(n)) = ~664 steps
  • O(n^2) = 10.000 steps

This is by all means a simplification - there's still a constant factor that can make things expensive. But jamming is not one of those.

( ͡° ͜ʖ ͡°)

@comradestryker What are you trying to tell me?
This graph shows that all units resetting the jamming blips every 10 seconds is not very heavy, because it's just one short (constant complexity) calculation per unit, so it scales linearly with the number of units. targeting has to be calculated per unit, per weapon for each possible target. Assuming the number of weapons on a unit to be fixed (there are not that many differences between units), the function is still quadratic in unit count. So each additional blip will cause an additional computation step in each units(weapons) targeting calculation. Only if they are in range of course and the blips will probably disappear quickly, once the unit gets into range, but i would still expect some noticeable performance impacts.

@nex said in The Problems With The UEF - Part 4 (The Ambassador & Blackbird):

@comradestryker What are you trying to tell me?

Not sure if I'm misunderstanding this chart and its contents, but based on this, Jamming isn't a load on the CPU or processing. Even with the new update having it refresh.


~ Stryker

( ͡° ͜ʖ ͡°)

@comradestryker No the concern was, that if you have to run a script (resetting the jamming blips) on (possibly) every unit it would be quite performance heavy. But since the calculation is simple and takes a constant (and small) amount of time per unit it won't have much of a performance impact. At least not the function that is resetting the jamming blips. The blips themselves might be more heavy, because it doesn't just add a small computation to each tick, but it adds one small computation per weapon that could aim at it, per tick. So putting jamming on units, that come in the hundreds in an average game will have a noticeable impact on performance.

@nex said in The Problems With The UEF - Part 4 (The Ambassador & Blackbird):

@comradestryker No the concern was, that if you have to run a script (resetting the jamming blips) on (possibly) every unit it would be quite performance heavy. But since the calculation is simple and takes a constant (and small) amount of time per unit it won't have much of a performance impact. At least not the function that is resetting the jamming blips. The blips themselves might be more heavy, because it doesn't just add a small computation to each tick, but it adds one small computation per weapon that could aim at it, per tick. So putting jamming on units, that come in the hundreds in an average game will have a noticeable impact on performance.

I just double-checked this with @Jip, the question was "Would jamming (in large quantities) affect performance?"
And I quote their reply "Not to the degree that it would cause a (significant) slowdown."

They clarified that they are in fact, still entities, yes, but based on their direct reply - no, they would not affect performance as much as you may think.


~ Stryker

( ͡° ͜ʖ ͡°)

They would affect performance if you gave it to units that you spam a lot and are densely packed - ASF. As Nex has stated each weapon of each ASF needs to go through all possible targets within its range every x amount of seconds. If you increase the number of targets by introducing jamming blips you will notice the performance hit. The whole point of: Reducing target check intervals, simplifying target priorities and decreasing the formation density of ASF was to reduce the impact that weapons checking for targets have on the game during air battles. If you were to introduce jamming for ASF even with just a couple of blips you would probably increase the sim cost of ASF battles by between 50% to probably well over 100% depending on the number of blips.

OG post: https://forum.faforever.com/topic/3808/weapon-target-check-intervals?_=1663704360328

Does the range of asf extend past their vision?

@veteranashe no, but vision is kinda fuzzy and i'm not sure if they start targeting/considering units before they get into range.

Considering all the improvements made to FAF's performance in the last year or so, I'd rather not see some lost for the sake of a (truthfully) near meaningless buff such as jamming.

@tagada

I see. Thanks for the clarification!
Follow up question:

I've been told the current number of jamming signatures cannot be changed - is this due to an engine limitation or something else? Why can't the entities be much less in number? Having a strat with 3 Jamming Signatures, a Spy Plane with 5, and an ASF with one (if jamming on ASF is still on the table), then that would work far better, and ease the 'load' of the performance aspect - not to mention better gameplay wise, too - in my opinion, at least.


~Stryker

( ͡° ͜ʖ ͡°)

I've no issues with jamming on scouts and bombers performance wise but ASF is off the table

Jamming on scouts and strats should just be a given tbh