在 c# 中对象的内存压缩?

In memory compression of objects in c#?

所以我都是在 c# 中自学的,正在开发一款名为 BlackBox for stardive1 的游戏mod。

这是一款构建为 x86 的 xna 3.1 游戏。如果不进行大修,我无法改变这一点,这有点超出我的能力范围。

游戏在游戏后期遇到内存不足问题。

它会在运行时加载大量资源并将它们存储在字典中。

我想知道是否有一种相对简单的方法来对字典对象或字典中的值进行内存压缩。

创建船舶时,它会复制字典中的数据并创建一个新对象。我希望我可以压缩字典并在需要时解压缩值。性能下降可能值得节省额外的内存

我认为压缩没有帮助。相反,您应该确保仅在必要时才加载每个资源并且仅加载一次。

例如,如果您有 3 个盒子,并且每个盒子使用相同的 600 mb 纹理,那么如果您只加载一个纹理对象实例,则比加载它三次时少 1200 mb。

如果你离某个对象足够远,你应该删除该纹理并加载其他对象更近的纹理。