Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve projectile blocker scan efficiency and remove RA gates #15069

Merged
merged 2 commits into from Apr 22, 2018

Conversation

Projects
None yet
4 participants
@reaperrr
Copy link
Contributor

reaperrr commented Apr 21, 2018

On bleed, the largest OuterRadius out of all actors is unconditionally used for the actor overscan of blockable projectiles.

This is wasteful, because we only really need the largest OuterRadius out of all blocking actors.
In case of D2k and TD that's just walls, in RA and TS the gates.

Furthermore, in RA none of our official maps use the gates, so a case could be made for either moving them to an optional yaml file that maps need to load directly (I did that in the 2nd commit), or removing them entirely, because otherwise they just hurt performance of many bullet projectiles despite not even being used by us.

Only use largest blocker instead of largest actor for projectile bloc…
…ker overscan

Before this, we unconditionally used the largest OuterRadius of all actors inside a mod for overscanning of blockable projectiles.
However, in many mods the only blockable actors are 1-cell walls, and even if there are gates like in TS, they usually aren't the largest actors in terms of hit-shape.

So this measure should save a bit of performance by reducing the overscan radius of blockable projectiles, especially in mods where walls are the only blocking actors.
@GraionDilach

This comment has been minimized.

Copy link
Contributor

GraionDilach commented Apr 21, 2018

👍 on the first commit.

Notsure on the second one. Madmaps cannot include additional base yaml files AFAIK, so the new yaml file will just turn to be an artifact + since it's not the part of the base mod, the gates will no longer be affected by rule updates either. I'd pretty much axe the yaml entirely.

@pchote

This comment has been minimized.

Copy link
Member

pchote commented Apr 21, 2018

I'd pretty much axe the yaml entirely.

👍

@reaperrr reaperrr force-pushed the reaperrr:projectile-perf branch from a9e39be to 6dc8d89 Apr 21, 2018

@reaperrr reaperrr changed the title Improve projectile blocker scan efficiency Improve projectile blocker scan efficiency and remove RA gates Apr 21, 2018

@reaperrr

This comment has been minimized.

Copy link
Contributor Author

reaperrr commented Apr 21, 2018

I'd pretty much axe the yaml entirely.

Done.

@GraionDilach
Copy link
Contributor

GraionDilach left a comment

👍

@abcdefg30
Copy link
Member

abcdefg30 left a comment

Why are we removing the entire gate yaml, but keeping the artwork?

@reaperrr

This comment has been minimized.

Copy link
Contributor Author

reaperrr commented Apr 21, 2018

Why are we removing the entire gate yaml, but keeping the artwork?

No particular reason, other than that the artwork has been there for years, even before it was added to yaml.
Personally I don't mind removing that as well, just didn't feel like making the call myself (and possibly receive flak from those 2 or 3 people that might be using the gates in their mods/maps).

@pchote

This comment has been minimized.

Copy link
Member

pchote commented Apr 21, 2018

Lets remove it then. Map authors can always add it back themselves.

Remove RA gates
They aren't used on any shipping map, and removing them significantly
reduces the overscan radius of blockable projectiles in the mod.

@reaperrr reaperrr force-pushed the reaperrr:projectile-perf branch from 6dc8d89 to 85452c9 Apr 21, 2018

@reaperrr

This comment has been minimized.

Copy link
Contributor Author

reaperrr commented Apr 21, 2018

Updated.

@abcdefg30 abcdefg30 merged commit ffeea72 into OpenRA:bleed Apr 22, 2018

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@abcdefg30

This comment has been minimized.

Copy link
Member

abcdefg30 commented Apr 22, 2018

@reaperrr reaperrr deleted the reaperrr:projectile-perf branch May 7, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.