如何检测底层 VGA Video Mixing Render 7 正在使用什么?
How to detect what underlying VGA Video Mixing Render 7 is using?
我们遇到一个问题,包括 VMR7 在内的特定滤镜组合会导致帧渲染不正确。我们注意到它只发生在某些具有某些驱动程序版本的 GPU 卡上。
我们尝试仅针对 GPU 制定一些解决方法(有一些开销)。有什么方法可以知道与 VMR7 关联的底层 VGA 卡?
我找到了问题的答案。
有监控相关信息接口IVMRMonitorConfig
可以从VMR7 filter
查询关联的设备信息
https://msdn.microsoft.com/en-us/library/windows/desktop/dd390488(v=vs.85).aspx
IVMRMonitorConfig::GetAvailableMonitors(
[out] VMRMONITORINFO *pInfo,
[in] DWORD dwMaxInfoArraySize,
[out] DWORD *pdwNumDevices
);
我可以通过 VMRMONITORINFO::szDevice
或 VMRMONITORINFO::szDescription
字符串中的关键字识别特定的 VGA 卡。
我们遇到一个问题,包括 VMR7 在内的特定滤镜组合会导致帧渲染不正确。我们注意到它只发生在某些具有某些驱动程序版本的 GPU 卡上。
我们尝试仅针对 GPU 制定一些解决方法(有一些开销)。有什么方法可以知道与 VMR7 关联的底层 VGA 卡?
我找到了问题的答案。
有监控相关信息接口IVMRMonitorConfig
可以从VMR7 filter
查询关联的设备信息
https://msdn.microsoft.com/en-us/library/windows/desktop/dd390488(v=vs.85).aspx
IVMRMonitorConfig::GetAvailableMonitors(
[out] VMRMONITORINFO *pInfo,
[in] DWORD dwMaxInfoArraySize,
[out] DWORD *pdwNumDevices
);
我可以通过 VMRMONITORINFO::szDevice
或 VMRMONITORINFO::szDescription
字符串中的关键字识别特定的 VGA 卡。