我正在向我的程序添加一些新功能,这些功能当前通过串行连接将 CPU 使用情况和 RAM 使用情况发送到 Arduino(请参阅this https://create.arduino.cc/projecthub/thesahilsaluja/cpu-and-ram-usage-monitor-windows-linux-921282)。我正在尝试添加 GPU 和磁盘使用情况。磁盘使用不是问题,但从 Windows 获取 GPU 使用情况却成了一个真正的麻烦。
我尝试过使用PerformanceCounter
但这似乎根本不起作用!请参阅下面的代码。
PerformanceCounter gpuCounter = new PerformanceCounter("GPU Engine", "Utilization Percentage");
string gpuUsage = gpuCounter.NextValue()
我想要 GPU 使用率,如下所示:
GPU 使用率:#.#%
我有什么可能的方法可以实现这一目标吗?
您需要为“GPU Engine”创建一个 PerformanceCounterCategory,然后对该类别调用 GetInstanceNames ()。然后,您可以调用 GetCounters(name) 方法迭代名称字符串数组。
public List<PerformanceCounter> Sample ()
{
var list = new List<PerformanceCounter> ();
var category = new PerformanceCounterCategory ("GPU Engine");
var names = category.GetInstanceNames ();
foreach (var name in names)
list.AddRange (category.GetCounters (name));
return list;
}
您的列表中将同时出现“运行时间”和“利用率百分比”计数器。您可以根据 CounterName 属性过滤 GetCounters 返回的计数器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)