让我指定一点背景。
我目前使用一个开源程序来运行我的 TV Tuner (DScaler)。该软件的最终版本对 Direct3D 输出有一些支持,但问题是它滞后。我一直在阅读代码并阅读 DirectX 文档,试图找到一个优化代码的地方,以便 DirectX 的渲染与 DirectDraw 上一样流畅。因为该软件为关键的显示例程(锁定缓冲区、解锁、翻转等)内置了分析功能。我知道在使用 Direct3D 时遇到问题的地方是覆盖翻转部分。我得出的结论是,向 D3Device 演示太慢了,无法跟上电视调谐器的捕获速度,因此我会丢失帧并且没有以 29fps 的速度显示它们。
因为我不太了解 DirectX,所以我的问题是:Direct3d 是否不是显示视频捕获的最佳选择,或者问题仅仅是代码可能不是最好的?我问是因为我仍然有兴趣尝试找到一种使其工作的方法,以便我可以在某些流上显示我的捕获(即:Xfire)。
谢谢。