Как узнать api видеокарты

Обновлено: 04.07.2024

Графические API-интерфейсы - это не часть оборудования, а часть программного обеспечения, но они необходимы для рендеринга графики, представленной на нашем экране, и без них связи между приложениями и GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР было бы невозможно. В этой статье мы доступно объясняем, что такое графические API, и развенчиваем некоторые мифы, связанные с ними.

Следует учитывать, что графические процессоры не выполняют программы, а выполняют список инструкций. Но откуда взялся этот список и как он попадает в GPU?

Что такое графический API?

OpenGL Machine

Графические API-интерфейсы - это то, что позволяет приложениям взаимодействовать с графическим процессором, чтобы отмечать, как он должен отрисовывать следующий кадр или его часть. Концепция основана на абстракции, которая представляет собой создание на языке программирования того, что такое графический процессор. Чтобы понять концепцию абстракции, мы предположим, что вместо графического процессора у нас подключен автомат с газировкой.

API машины обновления будет библиотекой со следующими функциями: подбрасывать монету, возвращать сдачу, выбирать обновление и доставлять Refreshment таким образом, чтобы программа могла взаимодействовать, эта часть API вызывается Front-End, и то, что мы делаем с ним, - это список инструкций, в графическом процессоре этот список называется DisplayList или списком экранов.

Кольцевой буфер DisplayList

Упомянутый список экранов считывается программным обеспечением, которое является не чем иным, как драйвером видеокарты, это преобразует список в микрокод, который может понять графический процессор, и копирует его в часть Оперативная память память, к которой всегда обращается графический процессор. Чтобы прочитать список экранов, скопируйте список во внутреннюю память командных процессоров и начните рендеринг сцены или ее части с помощью инструкций из списка экранов.

Этот процесс выполняется непрерывно в каждом кадре, который графический процессор обрабатывает и отправляет на экран, независимо от того, используете ли вы игровой ПК, смартфон или игровую приставку.

Какие графические API существуют сегодня?

Графики API

  • Вулкан: Заменяет OpenGL, он используется во всех типах операционных систем, который, как говорят, не зависит от платформы, но является основным API Google.
  • Металл: Графический API Apple, используемый в macOS и специально оптимизированный для архитектуры графического процессора.
  • DirectX: API Microsoft для Windows и Xbox был разделен на несколько версий в зависимости от платформы, но недавно они объединили его в единую версию.
  • GNM / GNMX / GNM ++: Графический API для консолей Sony PlayStation 4 и PlayStation 5, GNMX - это высокоуровневый API, GNM - это низкоуровневый API версии на PS4 и GNM ++ на PS5.
  • NVN: Графический API Nintendo Switch, который используется исключительно в этой серии консолей.
  • OpenGL: API, с которого все началось, первоначально известный как IrisGL и предназначенный для рабочих станций Silicon Graphics, превратился в API для ПК, консолей и более поздних смартфонов. Я дохожу до версии 4, которая является Vulkan - это ребрендинг OpenGL 5.

Вычисления против графики

DX11 против DX12

Графические процессоры - это очень сложные процессоры, которые давно перестали быть просто игрушками для рендеринга видеоигр, сегодня они используются в таких областях, как искусственный интеллект или высокопроизводительные вычисления, что привело к эволюции графических API-интерфейсов и вышло за рамки графики.

В настоящее время приложения отправляют не один список, а несколько списков, один из которых является графикой, а остальные вычисления, где графический процессор используется для решения конкретных проблем, которые не имеют ничего общего с визуализацией графики, причем последние работают полностью асинхронно. и, следовательно, не зависит от списка экранов.

Например, может случиться так, что приложение графического дизайна использует мощность графического процессора для создания специального эффекта на фотографии только потому, что графический процессор лучше оборудован для решения этой проблемы, чем графический процессор. CPU / ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР. Благодаря спискам вычислений вы можете сделать это, используя бесплатные ресурсы графического процессора для решения этих небольших проблем.

Графические API высокого и низкого уровня: чем они отличаются?

Когда мы говорим о низкоуровневом API, мы имеем в виду API, который работает близко к графическому процессору, который находится внизу стека, в то время как драйвер находится наверху, поэтому высокоуровневый API - это тот, который требует, чтобы драйвер генерировал дисплей. список. Поскольку определенные задачи драйвера не выполняются в высокоуровневом API, теоретически достигается то, что время выполнения списка экранов ЦП короче, это означает завершение кадра за меньшее количество миллисекунд или предоставление большего времени для улучшения графики тот самый кадр.

На самом деле неверно, что низкоуровневым API-интерфейсам не хватает драйвера, поскольку его можно читать и прослушивать в некоторых местах, но это намного проще и усложняет работу при выполнении некоторых важных задач в приложении, это позволит разработчикам максимально оптимизируйте синхронизацию каждого кадра, контролируя процесс создания списка экранов.

Однако во многих случаях для разработчиков может быть намного удобнее использовать высокоуровневый API из-за того, что дополнительное время разработки не окупается с финансовой точки зрения или просто потому, что выгода, которую можно получить за счет адаптации игры к API низкий уровень незаметен.

Миф о консоли и ПК

Существует миф о том, что, поскольку консоль имеет уникальное оборудование, это означает, что API-интерфейсы гораздо более оптимизированы, чем на ПК, где существует множество различных конфигураций, но на самом деле это драйвер, который мы установили, создает список экранов. Разница в том, что в консолях этот драйвер статичен и не получает обновлений производительности или изменений в течение всего коммерческого срока службы консоли.

Читайте также: