【发布时间】:2013-04-20 08:13:39
【问题描述】:
我正在尝试用 C# 和 .NET 制作游戏,并计划实现更新游戏世界中游戏对象的消息。这些消息将是 C# 引用对象。
我想要这种方法,因为如果我想让游戏成为多人游戏,这样做会更容易通过网络发送它们。
但是如果我有很多消息,垃圾收集器会不会很紧张?这不会影响游戏玩法吗?消息类本身非常小,最多只有 4 或 5 个成员。
这些消息将每秒为游戏世界中的每个对象生成几次。
【问题讨论】:
-
.net 中的 GC 是分代的。假设消息是短暂的,那么它们应该主要在 0 级生成中收集。如果是这样,性能应该不会太差:)
-
你可以在这里询问更好的答案gamedev.stackexchange.com
-
通过网络传输所有这些消息的开销将成为限制因素;相比之下,GC 的开销可能可以忽略不计。
-
你应该问问自己这些消息对象应该存在多长时间。如果他们很少离开 gen0,那么应该没有问题。我建议阅读this。
-
与大多数性能问题一样:构建并衡量。
标签: c# garbage-collection