gpu - 与 CPU 上的物理引擎相比,GPU 上的 PhysX 有多快?

标签 gpu game-physics physics-engine bulletphysics physx

我有一个应用程序是为使用 Bullet 物理引擎而编写的。我在 8 核的 Intel i7 2600K CPU 上运行它。该应用程序必须处理数百万个物理工作 block ,每个工作 block 都可以独立完成。它目前运行着 8 个进程,每个进程独立地完成其总量配额。总之,这项工作有很多简单的并行性

假设我可以获得最好的 NVIDIA 消费级显卡(比如 Titan),从 Bullet on CPU 切换到 Physx,我可以看到物理引擎性能的大致改进是什么 在 GPU 上?也就是说,如果为 Physx 重写,此应用程序的运行速度大约多快

我找到了几篇比较 Bullet 和 Physx 之间结果质量的论文,但找不到任何关于性能比较的内容。

最佳答案

Pierre Terdimann 在 Bullet 2.81 和 PhysX 2.8.4、3.2 和 3.3 之间进行了一系列广泛的性能比较 here .这些是在 CPU 上运行的 Bullet 和 PhysX 之间的比较。可以看出,两者之间的性能差异取决于所使用的引擎的特性。对于一些功能,性能大致相同,而对于大多数其他功能,速度提高了 3-5 倍。

他还在 addendum 中提到并非所有物理特性都已移植到 GPU 上的 PhysX。布料和粒子可以在 GPU 上加速,而刚体目前正在移植到 GPU,这是一项名为 GPU 刚体 (GRB) 的功能。如果有 GPU 加速的功能,那么您可以预期它会比 CPU 更快,但究竟快多少尚不清楚。

关于gpu - 与 CPU 上的物理引擎相比,GPU 上的 PhysX 有多快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16684771/

相关文章:

python-3.x - 使用多个 GPU 训练一个模型

c++ - 移动物理引擎

python - 如何让一只 turtle 向另一只 turtle 的位置移动?

javascript - 有没有javascript物理引擎可以模拟重力中的多边形?

cuda - 为什么 CUDA GPU 只需要 8 个事件扭曲?

c++ - 改进 CUDA 中的异步执行

opengl - 在什么条件下,多遍方法变得严格必要?

Java重力错误

ios - 如何将 Sprite Kits 物理值转换为绝对点值?

android - jBox2d android 绘制动态物体