Использование: C#, Net 9.0, VS 2022 и систему пакетов Nuget.management < /p>
ОК, так что это может быть очень основано на мнениях, и в этом случае я сожалею. Через немного спины и четвертого с лидером проекта мне сказали, что я должен сохранить информацию только для одного графического процессора, поэтому, следовательно, наиболее актуально.public class WinVideoControllerInfo
{
#region Properties
public string Name { get; set; }
public uint AdapterRAM { get; set; }
public string AdapterDACType { get; set; }
public string VideoProcessor { get; set; }
#endregion
public WinVideoControllerInfo()
{
}
//this is for Interface Purposes dont mind it
public WinVideoControllerInfo Construct(ManagementBaseObject obj)
{
return new WinVideoControllerInfo(obj);
}
//I am aware of the problems with AdapterRAM I got a solution for that
public WinVideoControllerInfo(ManagementBaseObject obj)
{
//this basically just gets the Property Value of a MBO Property with "the same name"
Name = obj.GetPropVal(nameof(Name));
AdapterRAM = obj.GetPropVal(nameof(AdapterRAM));
AdapterDACType = obj.GetPropVal(nameof(AdapterDACType));
VideoProcessor = obj.GetPropVal(nameof(VideoProcessor));
}
}
< /code>
Важный код < /p>
public static void RetrieveGPUInfo()
{
//Get GPUs (this will have a check if the List is empty)
List winInfos = ReadWinGPUS();
//Filter for the relevant GPU
WinVideoControllerInfo relevantGPU = FilterForRelevantGPU(winInfos);
//Process the Data but I got that bit covered and its not relevant for the question I think
//If you guys want this bit here feel free to tell me
//...
}
public static List ReadWinGPUS()
{
List winInfos = new();
try
{
//all this does is give me the ManagementObjectCollection for Win32_VideoController
ManagementObjectCollection rawGraphicsInformation = GetSearcherResults(SearchAreas.Graphic);
//Iterate through the active GPUs (this automatically does not include any disabled GPUs)
foreach (ManagementBaseObject baseObject in rawGraphicsInformation)
{
WinVideoControllerInfo winInfo = new WinVideoControllerInfo(baseObject);
winInfos.Add(winInfo);
}
}
catch (Exception e)
{
//todo
}
//return all found GPUs
return winInfos;
}
public static WinVideoControllerInfo FilterForRelevantGPU(List winInfos)
{
WinVideoControllerInfo? relevantGPU = null;
WinVideoControllerInfo[] internalGPUs = winInfos.Where(w => w.AdapterDACType.Contains("Internal")).ToArray();
WinVideoControllerInfo[] nonInternalGPUs = winInfos.Except(internalGPUs).ToArray();
//this Filter is very preliminary still
if (nonInternalGPUs.Any())
{
relevantGPU = nonInternalGPUs[0];
}
else
{
relevantGPU = internalGPUs[0];
}
return relevantGPU;
}
< /code>
Теперь, чтобы добраться до мяса вопроса: я начинаю сомневаться в том, разумно ли мой «основной» критерий «не быть внутренним DAC». Документация Shaky, но до сих пор я взял на себя, чтобы понять, что внутренний является показателем того, что это не выделенный графический процессор, а скорее графический процессор, встроенный в процессор. Но я могу ошибаться здесь. Я в основном хочу знать, является ли мое мышление корректировано, и если не то, что есть лучше, чтобы фильтровать для выделенного графического процессора, если он существует. И если существует несколько, как я могу определить его актуальность. Теперь я знаю, что все мысли в первую очередь будут: «Спросите лидерство проекта для более подробной спецификации актуальности». Я хотел бы, чтобы я мог, но сейчас я не получаю его. Я знаю, что это довольно расплывчатая задача, но теперь я немного взламывал мозг по этому поводу. связан, в то время как моя текущая попытка OFC игнорирует, что может быть несколько выделенных графических процессоров. означает
Вопрос второй: если не то, как еще я могу определить, является ли GPU выделен или нет
Вопрос Три: Какие другие атрибуты могут помочь определить «актуальность» ГПУ
Подробнее здесь: https://stackoverflow.com/questions/797 ... pu-of-a-pc
Определение наиболее релевантного/первичного/основного графического процессора ПК ⇐ C#
Место общения программистов C#
1759421225
Anonymous
Использование: C#, Net 9.0, VS 2022 и систему пакетов Nuget.management < /p>
ОК, так что это может быть очень основано на мнениях, и в этом случае я сожалею. Через немного спины и четвертого с лидером проекта мне сказали, что я должен сохранить информацию только для одного графического процессора, поэтому, следовательно, наиболее актуально.public class WinVideoControllerInfo
{
#region Properties
public string Name { get; set; }
public uint AdapterRAM { get; set; }
public string AdapterDACType { get; set; }
public string VideoProcessor { get; set; }
#endregion
public WinVideoControllerInfo()
{
}
//this is for Interface Purposes dont mind it
public WinVideoControllerInfo Construct(ManagementBaseObject obj)
{
return new WinVideoControllerInfo(obj);
}
//I am aware of the problems with AdapterRAM I got a solution for that
public WinVideoControllerInfo(ManagementBaseObject obj)
{
//this basically just gets the Property Value of a MBO Property with "the same name"
Name = obj.GetPropVal(nameof(Name));
AdapterRAM = obj.GetPropVal(nameof(AdapterRAM));
AdapterDACType = obj.GetPropVal(nameof(AdapterDACType));
VideoProcessor = obj.GetPropVal(nameof(VideoProcessor));
}
}
< /code>
Важный код < /p>
public static void RetrieveGPUInfo()
{
//Get GPUs (this will have a check if the List is empty)
List winInfos = ReadWinGPUS();
//Filter for the relevant GPU
WinVideoControllerInfo relevantGPU = FilterForRelevantGPU(winInfos);
//Process the Data but I got that bit covered and its not relevant for the question I think
//If you guys want this bit here feel free to tell me
//...
}
public static List ReadWinGPUS()
{
List winInfos = new();
try
{
//all this does is give me the ManagementObjectCollection for Win32_VideoController
ManagementObjectCollection rawGraphicsInformation = GetSearcherResults(SearchAreas.Graphic);
//Iterate through the active GPUs (this automatically does not include any disabled GPUs)
foreach (ManagementBaseObject baseObject in rawGraphicsInformation)
{
WinVideoControllerInfo winInfo = new WinVideoControllerInfo(baseObject);
winInfos.Add(winInfo);
}
}
catch (Exception e)
{
//todo
}
//return all found GPUs
return winInfos;
}
public static WinVideoControllerInfo FilterForRelevantGPU(List winInfos)
{
WinVideoControllerInfo? relevantGPU = null;
WinVideoControllerInfo[] internalGPUs = winInfos.Where(w => w.AdapterDACType.Contains("Internal")).ToArray();
WinVideoControllerInfo[] nonInternalGPUs = winInfos.Except(internalGPUs).ToArray();
//this Filter is very preliminary still
if (nonInternalGPUs.Any())
{
relevantGPU = nonInternalGPUs[0];
}
else
{
relevantGPU = internalGPUs[0];
}
return relevantGPU;
}
< /code>
Теперь, чтобы добраться до мяса вопроса: я начинаю сомневаться в том, разумно ли мой «основной» критерий «не быть внутренним DAC». Документация Shaky, но до сих пор я взял на себя, чтобы понять, что внутренний является показателем того, что это не выделенный графический процессор, а скорее графический процессор, встроенный в процессор. Но я могу ошибаться здесь. Я в основном хочу знать, является ли мое мышление корректировано, и если не то, что есть лучше, чтобы фильтровать для выделенного графического процессора, если он существует. И если существует несколько, как я могу определить его актуальность. Теперь я знаю, что все мысли в первую очередь будут: «Спросите лидерство проекта для более подробной спецификации актуальности». Я хотел бы, чтобы я мог, но сейчас я не получаю его. Я знаю, что это довольно расплывчатая задача, но теперь я немного взламывал мозг по этому поводу. связан, в то время как моя текущая попытка OFC игнорирует, что может быть несколько выделенных графических процессоров. означает
Вопрос второй: если не то, как еще я могу определить, является ли GPU выделен или нет
Вопрос Три: Какие другие атрибуты могут помочь определить «актуальность» ГПУ
Подробнее здесь: [url]https://stackoverflow.com/questions/79780658/determining-the-most-relevant-primary-main-gpu-of-a-pc[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия