V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
forcecharlie
V2EX  ›  Windows

如何使用 Windows API 查询 Intel 集成显卡型号

  •  
  •   forcecharlie · 2021-11-15 12:58:27 +08:00 · 1853 次点击
    这是一个创建于 886 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我最近写了一个命令像 neofetch/screenfetch 获得基本的电脑和硬件信息,使用 IDXGIFactory1::EnumAdapters1 接口(或者 WMI )可以获得显卡的型号,但 Intel 集成显卡只会显示 Intel (R) UHD Graphics 而不是像 Mac 一样显示 Intel UHD Graphics 630,请有什么方式能够通过编程手段获得 Intel 集显的具体型号?谢谢。

    https://github.com/baulk/baulk/pull/40

    10 条回复    2021-11-15 18:27:32 +08:00
    ysc3839
        1
    ysc3839  
       2021-11-15 13:14:05 +08:00 via Android
    macOS 估计是根据 PCI ID 去读一个预先定义好的表的。这种情况只能自己维护一个这样的表。
    HandSonic
        2
    HandSonic  
       2021-11-15 13:17:04 +08:00 via iPhone
    ysc3839
        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 的智能指针。
    invdan
        4
    invdan  
       2021-11-15 13:27:09 +08:00
    2 楼正解,你这是十代 GPU 就是没有标明型号,性能测试还不如上一代
    weiceshi
        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
    invdan
        6
    invdan  
       2021-11-15 15:33:03 +08:00
    @weiceshi 你这是 10700 ,目测楼主的是十代的 i7 10710U,笔记本 U
    icepie
        7
    icepie  
       2021-11-15 15:37:07 +08:00
    参考一下 winfetch ? (忘记它有没有实现这个功能了)
    forcecharlie
        8
    forcecharlie  
    OP
       2021-11-15 16:21:08 +08:00
    @ysc3839 fixed 。我自己的 bela 库实现了 comptr ,下班去优化下。
    forcecharlie
        9
    forcecharlie  
    OP
       2021-11-15 16:21:49 +08:00
    @invdan 我的一台小新的 10710U 。一台 NUC 也是这个 U 。
    invdan
        10
    invdan  
       2021-11-15 18:27:32 +08:00
    @forcecharlie 恩,nuc 官方的参数就是 Intel (R) UHD Graphics ,并没有具体型号,性能不如 630 ,UHD 应该是 32EU
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2461 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:47 · PVG 23:47 · LAX 08:47 · JFK 11:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.