【发布时间】:2019-06-13 19:50:02
【问题描述】:
我正在尝试在他们的 GPU 上找到用户专用的 RAM。我在网上找到了非常适合使用 WMI 查找不同 GPU 属性的代码,但是没有一个属性会返回诸如“4 GB”之类的专用内存。最接近的是 AdapterRAM,但它返回的数字与我的目的无关。
Dim arr() As String = Nothing
Dim int As Integer
Dim objWMIService As Object
Dim colDevices As Object
Dim objDevice As Object
objWMIService = GetObject("winmgmts:\\.\root\cimv2")
colDevices = objWMIService.ExecQuery("Select AdapterRAM From Win32_VideoController")
For Each objDevice In colDevices
ReDim Preserve arr(int)
arr(int) = objDevice.AdapterRAM
int += 1
Next objDevice
colDevices = Nothing
objWMIService = Nothing
Return arr
是否有任何其他方法、接口等可以找到用户专用的 GPU 内存。它应该返回类似“4 GB”的内容
【问题讨论】:
-
我确定为“AdapterRAM”返回的“巨大数字”不是 4 GB 的实际值(略大于 4,000,000,000)?
-
是的,我的笔记本电脑有 7.9 GPU 内存,它分为 4.0 专用内存和 3.9 共享内存。而返回的数字是 1073741824。
-
那个号码是
Math.Pow(1024, 3) = 1073741824 => 1 GB
标签: vb.net memory windows-10 gpu wmi