Vulkan или DirectX 11

Графические API облегчают труды разработчикам игр и мультимедийных приложений, использующих ресурсы видеокарты для проведения ресурсоёмких вычислений. Лидерами среды API являются Direct от Microsoft и Vulkan, созданный Khronos Group, трудившейся над стандартами семейства Open: CL, GL, VG. Директ Икс долго был фактически монополистом на рынке API, но конкуренты не дремлют. Если в AMD с Mantle толком ничего не получилось, у Khronos с Вулкан дела идут. Несмотря на стремительное развитие DirectX 12, Вулкан будем сравнивать с предыдущей версией DX – 11-й. Рассмотрим, чем они отличаются, что между ними общего с точки зрения пользователя, какой API лучше выбрать для игры.

Поддерживаемые платформы

DirectX 11 поддерживается только Windows, и входит в состав операционной системы, начиная с «Десятки».

Vulkan – кроссплатформенный API, работает на разных мобильных и встраиваемых ОС, Linux, Windows, консолях. Он совместим с десятком операционных систем, что позволяет разработчику расширить потенциальную аудиторию до нескольких раз, а значит – и доход.

Уровень абстракции

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

Хотя у ряда экспертов по поводу последней мысли мнение противоположное.

Вулкан обеспечивает более низкоуровневое взаимодействие с оборудованием: видеокарта, звуковая карта, устройства вывода/вывода. Это даёт больше возможностей для настройки проектов, но усложняет разработку.

Поддерживаемые устройства

Директ Икс обеспечивает лучшую совместимость, перенос кода между устройствами с минимумом изменений.

Вулкан предоставляет «более прямой» доступ к оборудованию – возможность отлично оптимизировать разработки под конкретные устройства или их серии, добиться на них отменной производительности проекта.

Производительность

Для геймера это ключевой момент, ведь иногда на счету каждый FPS. Здесь разница незначительная. Если лет 5 назад Vulkan выдавал на 10 – 25% меньше кадров, то после нескольких лет обкатки в 2023 году он перехватил инициативу.

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

На Nvidia эффективнее себя показывает Директ, на AMD – Вулкан.

Популярность

Количество игр, поддерживающих Вулкан, постоянно растёт, но первенство здесь за API от Майкрософт. Почти все выпущенные в 2010 – 2020-х годах видеоигры работают на DirectX 11, часть их них также поддерживает 12-ю версию графического программируемого интерфейса.

Что общего

Рассматриваемые API крайне разные, отыскать в них общее непросто, проще назвать отличия. Чем они похожи:

  • использованием различных инструментов для разработки: фреймворков, сред, библиотек;
  • поддержкой шейдеров, включая новейших mash;
  • вычислением взаимодействие света с поверхностями – трассировкой лучей;
  • улучшенной поддержкой многопоточной визуализации;
  • работой с популярными игровыми движками: CryEngine, Unreal, Unity.

В целом DirectX 11 предлагает больше возможностей. С оглядкой на время существования обоих API и темпов развития Vulkan через год-два будет впереди, но здесь есть 12-я версия DX. Плюс в сети встречаются предположения, что нас ожидает Директ Икс 13. Здесь гонка без финиша.

Распространение

Обе движка распространяются бесплатно: вы можете скачать их на любое поддерживаемое устройство с официального сайта. Если затронуть мелочи, Windows 10 и 11 поставляются с DirectX 12, Vulkan нужно устанавливать отдельно.

Работа с несколькими видеокартами

Вулкан работает с многоканальным GPU на устройствах с одинаковой архитектурой, но совместимого оборудования ещё немного. Microsoft здесь чуть впереди, ведь даёт прирост производительности при использовании связок SLI или Crossfire до 70 – 80%. Khronos Group нужно время на толковую реализацию и оптимизацию совместных вычислений.

Что лучше?

В сети идёт много споров, какой API лучше использовать для конкретной игры: Baldur’s Gate 3, Dota 2, RDR 2, стоит ли вместо DX запускать их на Vulkan. Выбор зависит от множества факторов, в первую очередь, оборудования, его стабильности при работе с тем или иным API.

У многих пользователей есть нарекание на проблемы (вылеты, подвисания) при переходе на Вулкан, особенно на новых видеокартах. Другие геймеры наоборот отмечают, что DX11 вылетает, а его конкурент работает отменно. Здесь всё зависит от конфигурации системы.

Если один из API работает нормально, переходить на другой смысла нет, разве для тестирования, сравнения.

Vulcan или DX11? AMD или Intel? AMD или Nvidia?

Усреднённые результаты тестов показывают, что производительность API определяется двумя факторами:

  • очередь, платформой: видеокарта, процессор, их поколение, архитектура;
  • игрой, приложением.

Свою лепту вносят графический драйвер, режим и даже разрешение видеоигры.

DirectX 11 Vulkan
Работает только на Windows Поддерживает Linux, Windows, Android, Tizen и ещё десяток ОС
Адаптация под большинство известных устройств Возможность тонкой настройки под конкретную платформу
Проще в освоении Сложен в изучении, но более гибок в плане настройки
Стабильность Порой наблюдаются проблемы со стабильностью, вылеты
Новые версии отчасти совместимы со старыми, лишь в свежих редакциях отсутствуют старые компоненты Устаревшие функции поддерживаются всеми версиями API и ОС, но нет обратной совместимости с OpenGL
Более высокоуровневый доступ к аппаратуре Низкоуровневые абстракции позволяют добиться более высокой производительности
Очень много учебников и обучающих материалов для разработчика Помимо официальной документации материалов для разработчиков в сети не так много, как для DX

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

Оцените статью
DirectX
Добавить комментарии

Нажимая на кнопку "Отправить комментарий", я и принимаю политику конфиденциальности.