【发布时间】:2014-06-09 08:47:53
【问题描述】:
我的目标是使用 C# 检测多 GPU 系统上的离散 GPU(例如集成 Intel HD Graphics + 离散 AMD Radeon 卡)
我通常使用该代码:
String gpuName = String.Empty;
ManagementObjectCollection objectCollection =
new ManagementObjectSearcher("SELECT Name FROM Win32_VideoController").Get();
foreach (ManagementObject managementObject in objectCollection)
{
foreach (PropertyData propertyData in managementObject.Properties)
{
if ((gpuName == String.Empty) || (propertyData.Value.ToString().ToLower().IndexOf("intel") == -1))
{
gpuName = propertyData.Value.ToString();
break;
}
}
}
对于我的示例来说,它就像一个魅力,如上所述。
但不适合AMD、VIA等(我不完全了解所有厂商)集成卡。
那么有没有通用的方法来切断所有集成的 GPU?
【问题讨论】:
-
我认为没有通用的方法可以做到这一点。特别是对于 AMD,有集成的和独立的 GPU...
-
sharpdx.org 可能会或可能不会帮助您
-
@chrfin 至少我希望存在一些实现该功能的第三方库:)
-
cudafy.codeplex.com 也有一些卡片检测逻辑可能会有所帮助...
-
谢谢。也许存在一些通用方法(没有第三方库)?
标签: c# gpu integrated