I am trying to write a python script for to figure out which GPU (dedicated or integrated) is currently running. I have managed to make it work so far by running dxdiag and parsing the output for the mode of each gpu device, but this is taking way too long. Does anyone know how dxdiag gets this information? Is there a way to get the info through Windows management Instrument? Any help is appreciated.
Thanks
DXDiag
most probably picks up data from WMI
tables. I need to confirm it though.
wmic PATH Win32_VideoController GET Adapterram
will provide you the information that you are looking for. If you want more information just run below mentioned command.
wmic PATH Win32_VideoController
And if you want GPU name
wmic PATH Win32_VideoController GET Name
Updated
Adding an example for better understanding.
You can map between below mentioned tables with deviceid
and get the information.
instance of Win32_VideoController
{
AdapterCompatibility = "Intel Corporation";
AdapterDACType = "Internal";
AdapterRAM = 1073741824;
Availability = 3;
Caption = "Intel(R) HD Graphics 4600";
ConfigManagerErrorCode = 0;
ConfigManagerUserConfig = FALSE;
CreationClassName = "Win32_VideoController";
CurrentBitsPerPixel = 32;
CurrentHorizontalResolution = 1920;
CurrentNumberOfColors = "4294967296";
CurrentNumberOfColumns = 0;
CurrentNumberOfRows = 0;
CurrentRefreshRate = 59;
CurrentScanMode = 4;
CurrentVerticalResolution = 1080;
Description = "Intel(R) HD Graphics 4600";
DeviceID = "VideoController1";
DitherType = 0;
DriverDate = "20150911000000.000000-000";
DriverVersion = "20.19.15.4285";
InfFilename = "oem79.inf";
InfSection = "iHSWD_w10";
InstalledDisplayDrivers = "igdumdim64.dll,igd10iumd64.dll,igd10iumd64.dll,igd12umd64.dll,igdumdim32,igd10iumd32,igd10iumd32,igd12umd32";
MaxRefreshRate = 75;
MinRefreshRate = 50;
Monochrome = FALSE;
Name = "Intel(R) HD Graphics 4600";
PNPDeviceID = "PCI\\VEN_8086&DEV_0412&SUBSYS_18E5103C&REV_06\\3&11583659&0&10";
Status = "OK";
SystemCreationClassName = "Win32_ComputerSystem";
SystemName = "---------";
VideoArchitecture = 5;
VideoMemoryType = 2;
VideoModeDescription = "1920 x 1080 x 4294967296 colors";
VideoProcessor = "Intel(R) HD Graphics Family";
};
instance of Win32_PnPEntity
{
Caption = "Intel(R) HD Graphics 4600";
ClassGuid = "{4d36e968-e325-11ce-bfc1-08002be10318}";
CompatibleID = {"PCI\\VEN_8086&DEV_0412&REV_06", "PCI\\VEN_8086&DEV_0412", "PCI\\VEN_8086&CC_030000", "PCI\\VEN_8086&CC_0300", "PCI\\VEN_8086", "PCI\\CC_030000", "PCI\\CC_0300"};
ConfigManagerErrorCode = 0;
ConfigManagerUserConfig = FALSE;
CreationClassName = "Win32_PnPEntity";
Description = "Intel(R) HD Graphics 4600";
DeviceID = "PCI\\VEN_8086&DEV_0412&SUBSYS_18E5103C&REV_06\\3&11583659&0&10";
HardwareID = {"PCI\\VEN_8086&DEV_0412&SUBSYS_18E5103C&REV_06", "PCI\\VEN_8086&DEV_0412&SUBSYS_18E5103C", "PCI\\VEN_8086&DEV_0412&CC_030000", "PCI\\VEN_8086&DEV_0412&CC_0300"};
Manufacturer = "Intel Corporation";
Name = "Intel(R) HD Graphics 4600";
PNPClass = "Display";
PNPDeviceID = "PCI\\VEN_8086&DEV_0412&SUBSYS_18E5103C&REV_06\\3&11583659&0&10";
Present = TRUE;
Service = "igfx";
Status = "OK";
SystemCreationClassName = "Win32_ComputerSystem";
SystemName = "-------";
};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With