Я использую OSHI для включения сведений об устройстве в журналы игры. Однако проблема в том, что использование
new SystemInfo().getHardware().getGraphicsCards()
возвращает все видеокарты
Graphics Card 1:
Graphics Card Name:Intel(R) HD Graphics 4000, VideoController1
Graphics Card Vendor: Intel Corporation
Graphics Card VRAM: 2.0 GB
Graphics Card Version Info: 10.18.10.5059
Graphics Card 2:
Graphics Card Name:Intel(R) HD Graphics 530, VideoController2
Graphics Card Vendor: Intel Corporation
Graphics Card VRAM: 1.0 GB
Graphics Card Version Info: 26.20.100.7870
Graphics Card 3:
Graphics Card Name:NVIDIA GeForce GT 520, VideoController3
Graphics Card Vendor: NVIDIA
Graphics Card VRAM: 2.0 GB
Graphics Card Version Info: 23.21.13.9135
Graphics Card 4:
Graphics Card Name:NVIDIA GeForce GT 640, VideoController4
Graphics Card Vendor: NVIDIA
Graphics Card VRAM: 2.0 GB
Graphics Card Version Info: 27.21.14.5671
Я знаю, что моя основная видеокарта — NVIDIA GeForce GT 640, однако, учитывая, что эти логи будут присылаться другими, эти «знания» вряд ли будут полезны. Так как же мне получить основные видеокарты?
И почему у меня 4 видеокарты? насколько мне известно, HD Graphics 4000 — это моя встроенная графика, а NVIDIA GeForce GT 640 — это установленная мной видеокарта, дополнительных видеокарт у меня нет.
Вот MRE, который вы можете запустить, чтобы проверить себя
import java.util.List;
import oshi.SystemInfo;
import oshi.hardware.GraphicsCard;
public class Main {
public static void main(String[] args) {
List graphcisCards = new SystemInfo().getHardware().getGraphicsCards();
int graphicsCardNumber = 1;
for(GraphicsCard graphicsCard : graphcisCards) {
System.out.println("Graphics Card " + graphicsCardNumber + ":\n" + format(graphicsCard));
graphicsCardNumber++;
}
}
private static String format(GraphicsCard graphicsCard) {
double memoryAsGB = graphicsCard.getVRam() / 1073741824;
String string = "";
string += " Graphics Card Name:" + graphicsCard.getName() + ", " + graphicsCard.getDeviceId() + "\n";
string += " Graphics Card Vendor: " + graphicsCard.getVendor() + "\n";
string += " Graphics Card VRAM: " + memoryAsGB + " GB\n";
string += " Graphics Card Version Info: " + graphicsCard.getVersionInfo() + "\n";
return string;
}
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... using-oshi
Как получить основную видеокарту с помощью OSHI ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1719085538
Anonymous
Я использую OSHI для включения сведений об устройстве в журналы игры. Однако проблема в том, что использование
new SystemInfo().getHardware().getGraphicsCards()
возвращает все видеокарты
Graphics Card 1:
Graphics Card Name:Intel(R) HD Graphics 4000, VideoController1
Graphics Card Vendor: Intel Corporation
Graphics Card VRAM: 2.0 GB
Graphics Card Version Info: 10.18.10.5059
Graphics Card 2:
Graphics Card Name:Intel(R) HD Graphics 530, VideoController2
Graphics Card Vendor: Intel Corporation
Graphics Card VRAM: 1.0 GB
Graphics Card Version Info: 26.20.100.7870
Graphics Card 3:
Graphics Card Name:NVIDIA GeForce GT 520, VideoController3
Graphics Card Vendor: NVIDIA
Graphics Card VRAM: 2.0 GB
Graphics Card Version Info: 23.21.13.9135
Graphics Card 4:
Graphics Card Name:NVIDIA GeForce GT 640, VideoController4
Graphics Card Vendor: NVIDIA
Graphics Card VRAM: 2.0 GB
Graphics Card Version Info: 27.21.14.5671
Я знаю, что моя основная видеокарта — NVIDIA GeForce GT 640, однако, учитывая, что эти логи будут присылаться другими, эти «знания» вряд ли будут полезны. Так как же мне получить основные видеокарты?
И почему у меня 4 видеокарты? насколько мне известно, HD Graphics 4000 — это моя встроенная графика, а NVIDIA GeForce GT 640 — это установленная мной видеокарта, дополнительных видеокарт у меня нет.
Вот MRE, который вы можете запустить, чтобы проверить себя
import java.util.List;
import oshi.SystemInfo;
import oshi.hardware.GraphicsCard;
public class Main {
public static void main(String[] args) {
List graphcisCards = new SystemInfo().getHardware().getGraphicsCards();
int graphicsCardNumber = 1;
for(GraphicsCard graphicsCard : graphcisCards) {
System.out.println("Graphics Card " + graphicsCardNumber + ":\n" + format(graphicsCard));
graphicsCardNumber++;
}
}
private static String format(GraphicsCard graphicsCard) {
double memoryAsGB = graphicsCard.getVRam() / 1073741824;
String string = "";
string += " Graphics Card Name:" + graphicsCard.getName() + ", " + graphicsCard.getDeviceId() + "\n";
string += " Graphics Card Vendor: " + graphicsCard.getVendor() + "\n";
string += " Graphics Card VRAM: " + memoryAsGB + " GB\n";
string += " Graphics Card Version Info: " + graphicsCard.getVersionInfo() + "\n";
return string;
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78656953/how-to-get-main-graphics-card-using-oshi[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия