Skip to content

Improve performance of FrozenActorLayer.Tick - #21613

Merged
abcdefg30 merged 1 commit into
OpenRA:bleedfrom
RoosterDragon:frozen-perf
Oct 5, 2024
Merged

Improve performance of FrozenActorLayer.Tick#21613
abcdefg30 merged 1 commit into
OpenRA:bleedfrom
RoosterDragon:frozen-perf

Conversation

@RoosterDragon

Copy link
Copy Markdown
Member

By adding a UpdateVisibilityNextTick flag against every FrozenActor to track when a visibility update is required, we can remove the dirtyFrozenActorIds set in FrozenActorLayer. In the Tick method we can now avoid a set lookup.

Also, don't create the frozenActorsToRemove list until we need one to avoid an allocation.

Closes #21596

By adding a UpdateVisibilityNextTick flag against every FrozenActor to track when a visibility update is required, we can remove the dirtyFrozenActorIds set in FrozenActorLayer. In the Tick method we can now avoid a set lookup.

Also, don't create the frozenActorsToRemove list until we need one to avoid an allocation.

@anvilvapre anvilvapre left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

untested.

@abcdefg30
abcdefg30 merged commit d010157 into OpenRA:bleed Oct 5, 2024
@abcdefg30

Copy link
Copy Markdown
Member

Changelog

@RoosterDragon
RoosterDragon deleted the frozen-perf branch October 6, 2024 13:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FrozenActorLayer, do not maintain seperate dirtyFrozenActorIds hashmap.

3 participants