- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的目标是使用 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?
最佳答案
要了解答案,我们需要了解内核模式驱动程序如何创 build 备。
要查看驱动程序列表,请从运行对话框中调用 msinfo32,选择软件环境-->系统驱动程序。从那里您可以看到系统上所有已注册的驱动程序,以及它们的启动模式(手动/启动/系统)和状态(运行/停止)。
当即插即用设备驱动程序加载(由即插即用管理器)时,每个驱动程序将创建一个或多个设备(使用IoCreateDevice)。然而,其中一些司机被归类为公交车司机。结果,系统将枚举该总线驱动程序报告的设备,并创建一棵树(从一个假想的“根”设备开始)。例如,如果 PCI 总线检测到一个设备,它就不知道该设备的任何信息(可能是网卡、声卡、视频卡等)。因此即插即用管理器将需要找到设备的适当驱动程序。任何嵌入式/集成设备(声音、网络、视频、USB、火线、SATA 等)都被同等对待,通常也是 PCI 设备。最终,操作系统不知道也不关心设备是嵌入式的还是离散的。
转到设备管理器,选择查看-->设备连接将显示创建的树。
因此,关于@Machinarius PInvoke 评论,PInvoke 在这里无济于事。但是,我同意他关于检测特性和功能的看法。请记住,我们不知道 future 会怎样,因此排除任何设备可能并不明智。任何需要协助的第 3 方代码都可能是硬编码值。
希望这对您有所帮助。
关于c# - 检测离散 GPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23262601/
如何在 Flutter 中使 slider 离散看起来像上图? slider discrete 最佳答案 使用 divisions Slider 的属性(property)小部件将其分成相等的部分,然
我正在创建一个带有颜色条的散点图 plt.scatter(X, Y, c=Z) plt.colorbar() plt.show() plt.close() 其中 X 和 Y 是 float 组,Z 是
我刚刚在 android studio 中发现了 seekbar 离散小部件,我发现它非常有用,但我不知道如何删除步骤指示器,或者用更合适的可绘制对象更改它们。 有人设法做到了吗? 这是我当前搜索栏的
问题 请注意以下问题:巫师可以创建和销毁 rune 。创建一个新的 rune 需要消耗与先前创建的 rune 数量成比例的法力。摧毁 rune 会恢复创建 rune 所用的法力。下面,我提出一个可能的
我正在尝试使用 ggplot2 中的 sf 和 geom_sf 制作 map ,其中一组点数据使用连续颜色比例(-1 到 1),一组线数据使用离散比例(a、b、c、d)着色。但是,当我在同一张 map
我正在尝试在具有连续状态(dim.= 20)和离散操作(3 个可能的操作)的环境中找到最佳策略。并且有一个特定的时刻:对于最佳策略,一个操作(称为“操作 0”)的选择频率应比其他两个操作高得多(频率约
仅使用 x-y 位置移动绘制圆弧的最佳方法是什么?例如,假设我想在点 (4,4) 处绘制一个半径为 4 的圆。让我们看看我的“抽屉”从 (4,0) 开始,每个方向的分辨率为 0.1 步。我将如何创建一
我正在使用一个使用广义加法模型的随机站点级效应来拟合一个模型,该模型在 mgcv 中实现。 R 包。我一直在使用函数 gam() 执行此操作但是,为了加快速度,我需要转到 bam()框架,与gam()
这个问题在这里已经有了答案: Make a line separated by group in bar chart (3 个答案) 关闭上个月。 我正在尝试使用 ggplot2 在条形图的每个条上
这个问题在这里已经有了答案: Make a line separated by group in bar chart (3 个答案) 关闭上个月。 我正在尝试使用 ggplot2 在条形图的每个条上
是否可以同时使用 Intel HD 4000 集成显卡和独立 GPU,OpenCL(或 CUDA)作为设备,CPU 作为主机?我想要一些代码在集成显卡上运行,而其他代码同时在我的 GPU 上运行。 最
我是一名优秀的程序员,十分优秀!