我正在编写一个实时体积渲染应用程序,它完全在 CPU 上运行。它非常快,但尽管如此,CPU 能力越强,交互性就越好 - 基本上,我设计它是为了最大限度地利用 CPU 资源。我需要录制应用程序的演示。过去我曾在 Linux 上使用 OBS Studio 录制 RTS 游戏的演练,我记得肯定有一些 CPU 开销。这对于我的体积渲染器演示来说是不可接受的。
话虽如此,问题是:
假设一台台式机配有 NVIDIA GTX 1060 6 Gb GPU,是否可以使用该 GPU 作为编码器,以 0 CPU 开销录制不输出到 directx 或 opengl 的纯 Qt5 应用程序?我是否需要修改源代码,以利用一些允许我复制帧缓冲区并仅使用 GPU 进行动态编码的库?
编辑:
说得更清楚一点。首先,我对可以启动并记录程序窗口的应用程序感兴趣,而不是对可以作为程序员使用自己的项目的库感兴趣(即通过其 API)。但是,如果有办法以后者的方式解决问题,那也很好。
答案1
最后,唯一的零开销解决方案似乎是使用 HDMI 输出连接到外部录制设备,例如笔记本电脑或专用视频捕获盒,然后使用“重复屏幕”模式。