我正在开发一款游戏,而且我正在进行一些AI数字运算,我想尽可能地优化代码.我在我的代码中有几个结构,如Circle,Vector等.我希望通过此代码将GC的负载降至最低,因为它将每秒运行多次,并且在每次调用时将生成几个大型数组,执行大量计算.
我的问题是,如果我有一个可以"返回"多个值类型的小方法(即圆和向量的交集等),那么将其结果传回主方法的最佳方法是什么?
我可以想到几种方法:
什么是避免GC必须收集的堆上的许多小的不必要的对象/数组的最佳策略?
如果您遇到以下情况:
...然后,您可以通过重复传入相同的数组(或List<T>)并修改它来提高性能.另一方面,在进行任何更改之前,您应该绝对测量性能.您还应该确定什么是"足够好",这样您就不会将代码从最自然的设计中折弯出去.