我们在 WPF 应用程序中使用可切换显卡(AMD Radeon 7670M + Intel 4000)的笔记本电脑上遇到以下问题:
我们用来显示一些视频的D3DImage只显示一个黑框。仅当应用程序的独立显卡 (AMD) 处于活动状态时(模式设置为高性能),才会发生这种情况。在英特尔显卡处于活动状态(模式设置为省电)的情况下,它可以工作。看起来我们并不孤单。谷歌搜索显示 AMD 论坛中的以下帖子:
我找到了使用D3DImage.CopyBackBuffer的解决方法- 看起来后台缓冲区确实包含正确的帧 - 所以我将尝试显示它。
但是为了仅在必要时应用此解决方法,这使我想到了这个问题的主题:如何确定系统是否确实具有可切换图形?
我想可能有一些使用 WMI 或查看注册表的方法,但如果有人能指出我正确的方向,或者甚至可能有一个如何这样做的例子,我会很高兴。
更新:
我试过 EnumDisplayDevices 和 System.Management.ManagementObjectSearcher。第一个不返回所有设备,而后者返回。但也许还有更好的方法?