forcecharlie
V2EX  ›  Windows

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

  •  
  •   forcecharlie · Nov 15, 2021 · 2718 views
    This topic created in 1669 days ago, the information mentioned may be changed or developed.

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

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

    10 replies    2021-11-15 18:27:32 +08:00
    ysc3839
        1
    ysc3839  
       Nov 15, 2021 via Android
    macOS 估计是根据 PCI ID 去读一个预先定义好的表的。这种情况只能自己维护一个这样的表。
    HandSonic
        2
    HandSonic  
       Nov 15, 2021 via iPhone
    ysc3839
        3
    ysc3839  
       Nov 15, 2021 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  
       Nov 15, 2021
    2 楼正解,你这是十代 GPU 就是没有标明型号,性能测试还不如上一代
    weiceshi
        5
    weiceshi  
       Nov 15, 2021
    你先用 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  
       Nov 15, 2021
    @weiceshi 你这是 10700 ,目测楼主的是十代的 i7 10710U,笔记本 U
    icepie
        7
    icepie  
       Nov 15, 2021
    参考一下 winfetch ? (忘记它有没有实现这个功能了)
    forcecharlie
        8
    forcecharlie  
    OP
       Nov 15, 2021
    @ysc3839 fixed 。我自己的 bela 库实现了 comptr ,下班去优化下。
    forcecharlie
        9
    forcecharlie  
    OP
       Nov 15, 2021
    @invdan 我的一台小新的 10710U 。一台 NUC 也是这个 U 。
    invdan
        10
    invdan  
       Nov 15, 2021
    @forcecharlie 恩,nuc 官方的参数就是 Intel (R) UHD Graphics ,并没有具体型号,性能不如 630 ,UHD 应该是 32EU
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2653 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 15:50 · PVG 23:50 · LAX 08:50 · JFK 11:50
    ♥ Do have faith in what you're doing.