gpt4 book ai didi

C# 优化 - 数组/值类型列表和堆栈(游戏)

转载 作者:太空狗 更新时间:2023-10-30 00:26:53 24 4
gpt4 key购买 nike

我正在开发一款游戏,并且正在进行一些 AI 数字运算,我想尽可能地优化代码。我的代码中有几个结构,如 Circle、Vector 等。我想将此代码对 GC 的负载减少到最低限度,因为它将每秒运行多次,并且在每次调用中都会生成几个大数组和执行大量计算。

我的问题是,如果我有一个可以“返回”多个值类型(即圆和矢量的交集等)的小方法,将其结果传回主方法的最有效方法是什么?

我可以想到几种方法:

  • 返回结果数组,即 Vector[ ]
  • 返回一个列表
  • 传入一个列表
  • 还有其他办法吗?

避免 GC 然后必须收集堆上大量不必要的小对象/数组的最佳策略是什么?

最佳答案

如果您处于以下情况:

  • 您非常频繁地调用此方法
  • 您将始终处理相同大小的集合(或至少相似)
  • 下次调用时您不需要以前的结果

...那么您可能可以通过重复传入同一个数组(或 List<T> )并修改它来提高性能。另一方面,您绝对应该在进行任何更改之前衡量性能。您还应该确定什么是“足够好”的,这样您就不会在不得已的情况下让代码偏离最自然的设计。

关于C# 优化 - 数组/值类型列表和堆栈(游戏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9057501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com