我正在用C#写一个Ray Tracer。我使用Vector3类来表示我的点,法线,方向和颜色。每个像素对此类进行多次实例化。有没有办法构建我的代码以避免我看到的大量垃圾收集?
答案 0 :(得分:0)
任何通过Google的魔力找到这一点的人。我所做的是将Vector3 class
更改为Vector3 struct
。这不仅消除了大量的GC开销,而且提高了性能。
答案 1 :(得分:-1)
您可以使用对象池模式来存储和重用您的实体。 但我不确定装箱/拆箱的开销有多大(如果你使用价值类型)