关于directx:Nvidia GPUDirect和摄像头捕捉到GPU

Nvidia GPUDirect and camera capturing to GPU

我有一个 USB3 摄像头,我需要将捕获的图像加载到 DirectX 纹理中。目前我只是在用户模式下的代码中执行此操作 - 抓取图像并将它们上传到 GPU,这当然是 CPU 的某些开销和约 5-7 毫秒的延迟。

在新 PC 上有支持 GPUDirect 的 Nvidia Quadro GPU 卡,据我了解,这可以更快地在 GPU 和 CPU 之间共享内存,但我不确定如何利用其中。为了将图像直接捕获到 GPU 缓冲区,相机驱动程序是否需要支持它?或者它是我可以在我的代码中配置的东西?


你的前提是错误的

as I understand, this allows faster memory sharing between the GPU and
the CPU

GPUDirect 是 NVIDIA 技术,支持设备之间而不是 CPU 和 GPU 之间的 PCI 到 PCI 传输。事实上,它会在 2 个 PCI 设备之间传输数据时删除 CPU 副本。

要在您的情况下使用 GPUDirect,您需要有一张将通过 PCI 连接的采集卡(您的相机将连接到采集卡)。然后您可以将帧直接传输到 GPU。

无法评论它是否会比 USB 传输更快。