Рекомендуем, 2024

Выбор редакции

Vulkan API: все, что вам нужно знать

Если вы любите следить за новейшими технологиями, вы наверняка слышали о Vulkan. Vulkan API - это последняя и самая лучшая из графических API, анонсированная Khronos Group, которая стоит за нынешним отраслевым стандартом OpenGL. Название проекта Vulkan было официально объявлено на конференции разработчиков игр в 2015 году, а первая версия API была запущена в феврале 2016 года. Новый API нацелен на вывод игровой графики на новый уровень, так что если вы заинтересованы в подробности, мы здесь, чтобы дать вам это.

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

Что такое Vulkan API?

Несколько лет назад AMD продемонстрировала Mantle, API для рендеринга, который был нацелен на 3D-игры, и, хотя она обещала быть более быстрым решением для рендеринга графики, AMD убила проект. Затем AMD передала Khantos Group компоненты API Mantle для разработки стандартного API для рендеринга. Что ж, результатом является новый API Vulcan.

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

Будучи заядлыми геймерами и любителями игр, мы решили заглянуть в будущее, как скоро будут разрабатываться игры и как (если вообще) это улучшит наш игровой опыт.

Характеристики

API Vulkan имеет довольно много функций, которые отличают его от предшественника OpenGL:

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

  • Это очень заметно изменит рендеринг графики, который требует много вызовов отрисовки.
  • При использовании устаревших API чаще всего узким местом является центральный процессор. Тем не менее, Vulkan использует многоядерные процессоры с таким хорошим использованием, что более вероятно, что узкое место будет найдено в GPU.

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

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

3. API также спроектирован полностью кроссплатформенным .

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

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

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

5. Vulkan использует промежуточный язык SPIR-V для параллельных вычислений и графики. SPIR-V, как и его предшественники, SPIR1.2 и SPIR2.0, были разработаны группой Khronos, с той разницей, что SPIR-V не использует LLVM. SPIR-V позволяет Vulkan иметь общий интерфейсный компилятор на каждой платформе. Разработчикам также не нужно поставлять ядро, шейдерный код, а реализация драйвера упрощена.

Как Vulkan может помочь нам как конечным пользователям

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

1. Поскольку большинство мобильных SoC в наши дни также являются многоядерными, Vulkan будет максимально использовать процессоры, делая игры более плавными (с более высоким FPS).

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

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

4. Игры также смогут обеспечить более плавную производительность, гарантируя, что графический процессор уделяет больше внимания (читай: выделяет больше памяти и отдает предпочтение) вещам, которые сразу видны пользователю, что делает игру более невосприимчивой к задержкам и пропаданию кадров.,

Варианты для разработчиков

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

1. Используйте Vulkan API напрямую

  • Это обеспечит низкоуровневый доступ к оборудованию и, очевидно, не будет выбором для всех. Однако этот уровень можно использовать для создания инструментов сравнения для других приложений, разработанных с использованием Vulkan.

2. Используйте библиотеки

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

3. Используйте игровые движки, оптимизированные с помощью Vulkan

  • Мы уверены, что именно сюда придет большинство разработчиков. Игровые движки спроектированы и разработаны хорошо зарекомендовавшими себя опытными промышленными тяжеловесами и могут легко использоваться разработчиками (как опытными, так и начинающими) для создания игр, использующих преимущества предлагается Vulkan API.
  • Такие разработчики, как Epic Games (Unreal Engine) и Unity (Unity Engine), уже объявили о поддержке Vulkan в своих будущих движках, и многие другие объявили о планах подписки.

СМОТРИ ТАКЖЕ: Понимание APFS: новая файловая система от Apple

Возбуждаться!

В случае, если статья не убедила вас ... волнуйтесь! Сейчас! Vulkan обещает стать революционной разработкой графических API, которая улучшит нашу игровую жизнь. Уже есть видео с сравнениями производительности Vulkan и OpenGL, и результаты - просто - потрясающие. Если эти видео являются какой-либо индикацией, будьте готовы испытать потрясающее качество графики везде, включая ваши мобильные телефоны, все благодаря появлению API Vulcan!

Итак, что вы думаете о Vulkan? Как вы думаете, это будет большим улучшением по сравнению с текущим стандартом OpenGL? Дайте нам знать в комментариях ниже.

Top