nBody DirectX® 12 示例 (异步计算版本)

这是 Microsoft® D3D12nBodyGravity 示例的一个稍作修改的版本,它演示了如何使用异步计算着色器(多引擎)来模拟 n 体引力系统。

在 GitHub 上查看 nBody DirectX® 12 示例

主要区别在于:

  • CPU 端的多线程已删除。该示例现在利用异步计算,如下所示:
    • 一旦 n 体模拟完成,结果将被复制,并立即启动下一个模拟步骤。这使得模拟可以与渲染重叠。原始示例会同步,使得图形或计算队列只能使用其中一个。现在,计算队列通过 n 体模拟保持 100% 的忙碌状态,而渲染则同时运行。
  • 通过使用更大的粒子(增加对混合单元的负载)并使用噪声函数修改每个粒子的颜色(增加计算负载),该示例的图形负载略有提高。
  • 该示例现在最多队列化 **4** 帧,而不是 **2** 帧,确保 GPU 始终充满工作。
  • 该示例已进行插装,以测量帧计时。
  • 粒子数量和块大小已略微增加,以增加计算量。现在它使用 16384 个粒子,每个工作组有 256 个线程,从而产生 64 个已满载的调用。原始示例使用 10000 个粒子和 128 个线程的工作组。

要求

  • Windows® 10,64 位。
  • Direct3D® 12 兼容 GPU。
  • 屏幕分辨率必须为 1920×1080 或更高。该示例将以 1600×1050 像素分辨率运行。
© . This site is unofficial and not affiliated with AMD.