我有一个带有 X 粒子的粒子系统。每个粒子测试与其他粒子的碰撞。这给出了每帧 X*X = X^2 碰撞测试。对于 60f/s,这对应于每秒 60*X^2 次碰撞检测。
这些密集计算的最佳技术方法是什么?我应该使用 F#、C、C++ 还是 C#,还是其他什么?
以下是约束
- 代码是用最新的 XNA 用 C# 编写的
- 可以考虑多线程
- 没有测试与最近邻居的碰撞或减少问题的特殊算法
最后一个约束可能很奇怪,所以让我解释一下。不管约束 3,给定一个具有巨大计算需求的问题,解决该问题的最佳方法是什么。算法减少了问题;仍然相同的算法可能会因技术而异。考虑 CLR 与原生 C 的优缺点。