Found here, the ArrayPool class would greatly help remove allocations from Array2D which is created-thrown-away a lot during the game.
However, to do so properly would require making Array2D a leased-style-item, where folks should Dispose of it when they're done with it. Given the size of that change (and moreover, the fact that the team would need to make sure everyone is aware that Array2D should be properly Disposed for full benefit), leaving this one to the team.
Found here, the ArrayPool class would greatly help remove allocations from Array2D which is created-thrown-away a lot during the game.
However, to do so properly would require making Array2D a leased-style-item, where folks should
Dispose
of it when they're done with it. Given the size of that change (and moreover, the fact that the team would need to make sure everyone is aware that Array2D should be properlyDispose
d for full benefit), leaving this one to the team.