0

我正在用 C++ (dll) 构建一个用于解码视频 h264 格式的库。问题是 CPU 上的速度比 GPU 快(硬件加速)。

CPU中,执行时间约为1200 微秒,在 dll 上的总时间为2600 微秒

GPU中,执行时间较少,大约200 微秒,但从 GPU 到 CPU(RAM)的传输有额外的时间,大约 1100-1300 微秒,总时间为4200 微秒。我正在使用 d3d11va/cuda hw 加速设备。这在 PC 上都不是问题,但我需要 Hololens 应用程序的 dll(性能较差),并且我需要以 30 fps 的 1080p 解码视频。

我的代码基于ffmpeg github 存储库中的教程。

您对如何避免命令av_hwframe_transfer_data(sw_frame, frame, 0)导致 Hololens 中的瓶颈是从 GPU 到 CPU 的传输有什么建议吗?

谢谢

4

0 回答 0