【发布时间】:2019-11-11 19:13:41
【问题描述】:
我正在向我的程序添加一些新功能,这些功能当前通过串行连接将 CPU 使用率和 RAM 使用率发送到 Arduino(请参阅 this)。我也在尝试添加 GPU 和磁盘使用情况。磁盘使用不是问题,但从 Windows 获取 GPU 使用情况却是一个真正的麻烦。
我尝试过使用PerformanceCounter,但这似乎根本不起作用!请参阅下面的代码。
PerformanceCounter gpuCounter = new PerformanceCounter("GPU Engine", "Utilization Percentage");
string gpuUsage = gpuCounter.NextValue()
我想要这样的 GPU 使用百分比:
GPU 使用率:#.#%
有什么方法可以实现吗?
【问题讨论】:
-
你发布的代码,它返回什么?
-
检查您计算机中的 GPU 名称,我使用以下代码运行类似的东西并且工作正常: PerformanceCounter gpuCounter = new PerformanceCounter("NVIDIA GPU", "% GPU Usage","#0 Quadro K1100M (id=1, NVAPI ID=256)"); ...但在您的情况下,可能会有所不同。
-
你的显卡是哪个牌子的?如果您有 NVIDIA,这可能会很有趣:stackoverflow.com/questions/36389944/…
-
这是它返回的内容:计数器不是单个实例,需要指定实例名称。是的,我拥有什么品牌的 GPU (AMD) 并不重要,我必须让它适用于所有品牌。