我最近写了一个命令像 neofetch/screenfetch 获得基本的电脑和硬件信息,使用 IDXGIFactory1::EnumAdapters1
接口(或者 WMI )可以获得显卡的型号,但 Intel 集成显卡只会显示 Intel (R) UHD Graphics
而不是像 Mac 一样显示 Intel UHD Graphics 630
,请有什么方式能够通过编程手段获得 Intel 集显的具体型号?谢谢。
1
ysc3839 2021-11-15 13:14:05 +08:00 via Android
macOS 估计是根据 PCI ID 去读一个预先定义好的表的。这种情况只能自己维护一个这样的表。
|
2
HandSonic 2021-11-15 13:17:04 +08:00 via iPhone
|
3
ysc3839 2021-11-15 13:21:29 +08:00 via Android
顺带一提,你代码中 adapter 忘记 Release 了
https://github.com/baulk/baulk/blob/f51d90aa0915a5c5d65a197c06d520c167495ca2/include/baulk/brand.hpp#L444 个人建议使用 wil https://github.com/microsoft/wil 的智能指针。 |
4
invdan 2021-11-15 13:27:09 +08:00
2 楼正解,你这是十代 GPU 就是没有标明型号,性能测试还不如上一代
|
5
weiceshi 2021-11-15 13:39:52 +08:00
你先用 powershell 运行下面的命令看看能不能正确打印呢?
(Get-WmiObject Win32_VideoController -ComputerName .).Name 我同样是 10 代 U(i7-10700),是可以正确打印出 "Intel(R) UHD Graphics 630" 的 你如果能打印出来,那就参考下 powershell core 代码里 Get-WmiObject 的实现 https://github.com/PowerShell/PowerShell/blob/7dc4587014bfa22919c933607bf564f0ba53db2e/src/Microsoft.PowerShell.Commands.Management/commands/management/GetWMIObjectCommand.cs |
7
icepie 2021-11-15 15:37:07 +08:00
参考一下 winfetch ? (忘记它有没有实现这个功能了)
|
8
forcecharlie OP @ysc3839 fixed 。我自己的 bela 库实现了 comptr ,下班去优化下。
|
9
forcecharlie OP @invdan 我的一台小新的 10710U 。一台 NUC 也是这个 U 。
|
10
invdan 2021-11-15 18:27:32 +08:00
@forcecharlie 恩,nuc 官方的参数就是 Intel (R) UHD Graphics ,并没有具体型号,性能不如 630 ,UHD 应该是 32EU
|