如何优化对象创建以避免垃圾回收?

时间:2016-07-24 16:27:39

标签: c# garbage-collection

我正在用C#写一个Ray Tracer。我使用Vector3类来表示我的点,法线,方向和颜色。每个像素对此类进行多次实例化。有没有办法构建我的代码以避免我看到的大量垃圾收集?

2 个答案:

答案 0 :(得分:0)

任何通过Google的魔力找到这一点的人。我所做的是将Vector3 class更改为Vector3 struct。这不仅消除了大量的GC开销,而且提高了性能。

答案 1 :(得分:-1)

您可以使用对象池模式来存储和重用您的实体。 但我不确定装箱/拆箱的开销有多大(如果你使用价值类型)