我有一个以桌面模式在 Windows 8 上运行的专有媒体播放器。运行时 DirectX 版本是 11,但原生图形驱动程序支持 DirectX 9。
在一些具有完全相同设置的计算机上,我看到实际交换链的后台缓冲区计数为 2,性能非常好,而在其他一些计算机上则相反缓冲区计数为 7,并且有丢帧。
我没有该播放器的源代码,想知道在运行时确定不同的后台缓冲区计数的原因可能是什么。
有人可以解释为什么这样的后缓冲计数会导致性能发生这种变化吗?或者只是将我指向解释后缓冲区编号含义的相关文档?
(更多调试信息:使用 GPUView 我看到当后备缓冲区计数为 2 时,硬件以同步模式工作,即每秒 VSync 中硬件队列中的一个数据包(剪辑帧速率为 30fps),当 7 个后备缓冲区的工作是一起完成 5-7 帧,然后是一些空的 VSync,然后再次 5-7 帧,依此类推)。
先感谢您!