Что лучше vulkan или directx 12
Перейти к содержимому

Что лучше vulkan или directx 12

  • автор:

DirectX 12 или Vulkan — что лучше в играх?

Vulkan или DirectX 12 в играх — что лучше?

Многие современные игры при запуске в Windows предлагают выбор между двумя графическими API — DirectX 12 или Vulkan, что может вызвать у пользователей вопрос: что лучше выбрать.

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

Что такое DirectX и Vulkan

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

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

В то время как DirectX — разработка Microsoft и используется лишь в операционных системах этой компании, начиная с Windows 10, Vulkan может быть использован в Windows, MacOS, Linux, Android и других операционных системах.

Что выбрать — Vulkan или DirectX 12

Vulkan и DirectX 12 в RDR2

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

  1. Большинство тестов показывают более высокую частоту кадров (FPS) в играх при выборе Vulkan, за счет того, что для работы этого API требуется меньше ресурсов компьютера, а также лучше реализована работа на многоядерных процессорах. Однако это может зависеть от конкретной игры и оборудования компьютера пользователя.
  2. Есть мнение, что выбор DirectX 12 в Windows позволяет добиться более стабильной работы игры, в некоторых случаях — избежать сбоев.
  3. Выбор Vulkan часто позволяет снизить нагрузку на процессор, то есть в этом плане может оказаться более эффективным.
  4. Визуальных отличий в картинке при одинаковых настройках графики в игре при использовании Vulkan и DirectX обычно нет.
  5. Работа игры при выборе того или иного API может зависеть от конкретной игры и от того, насколько успешно разработчики реализовали работу с Vulkan и/или DirectX.

Единственно верного ответа на вопрос «Что выбрать — Vulkan или DirectX 12» нет. Многочисленные тесты в сети и опыт пользователей показывают, что производительность в каждом из вариантов выбора будет зависеть:

  • От самой игры.
  • От настроек графики в игре.
  • От графического оборудования и поколения видеокарты: например, большинство тестов показывают, что для современных видеокарт NVIDIA предпочтителен Vulkan, а для AMD обычно более быстрым оказывается DirectX 12
  • В некоторых случаях — от других характеристик компьютера, таких как производительность процессора.

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

DirectX 12 или Vulkan

В данном материале поговорим о наиболее популярных графических API (Application programming interface). На сегодняшний день самыми известными являются DirectX и Vulkan. Что такое API? Если сказать просто, то это интерфейс, который выступает посредником между программами и нужен для того, чтобы эти программы максимально эффективно взаимодействовали друг с другом. Графические API, коими являются DirectX и Vulkan, созданы для наиболее продуктивного взаимодействия между играми и графическими адаптерами. Работают они за счёт встроенных библиотек, которые подходят для всех моделей видеокарт. Сделано это в первую очередь для удобства, так как не нужно писать каждый раз код для определенного GPU.

DirectX 12 или Vulkan

Ну а теперь главный вопрос, на чем остановиться? Тем более, что все больше игр предоставляют возможность сделать выбор. Рассмотрим чем они отличаются.

Первое отличие в том, что DirectX в себя включает множество разных API, в то время как Vulkan — это графический API. В качестве графического у DirectX выступает Direct3D. Они оба облегчают жизнь разработчикам тем, что им не приходится делать игру под определенное железо. API делают все за них, при этом с максимально возможной производительностью.

Второе важное отличие состоит в том, что Vulkan может работать на множестве операционных систем, начиная с Windows и заканчивая Android. DirectX полностью принадлежит компании Microsoft и работает, соответственно, только на системе Windows.

На данный момент конкурентом Vulkan является DirectX 12 версии. Хочется обратить внимание, что при одинаковых настройках графики в играх оба API будут показывать идентичное качество картинки. Если не брать в расчёт это, то отличия между ними все-таки есть.

Считается, что DirectX 12 при использовании более стабилен. Имеет меньше скачков частоты кадров. При его использовании меньше вылетов и сбоев. В то время как Vulkan лучше справляется с многоядерными процессорами. Также было замечено, что второй выдаёт более высокий FPS, обычно процентов на пять выше. Однако, конечно, все сильно зависит от железа, на котором запущена игра и качества работы разраба. Пользователи заметили также, что Vulkan меньше нагружает CPU, тем самым считается более энергоэффективным. Есть мнение, что игры на DirectX 12 идут более плавно, преимущественно на видеоадаптерах AMD. Для Vulkan предпочтительнее карточки Nvidia.

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

▷ Directx 12 против вулкана: борьба за лучший графический движок?

▷ Directx 12 против вулкана: борьба за лучший графический движок?

В настоящее время для мира ПК существует два первоклассных графических API, которые авторитетно управляют рынком. По этой причине мы предлагаем вам сравнение DirectX 12 Vs Vulkan.

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

Низкоуровневый графический API и «накладные расходы на драйвер»

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

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

И DirectX 12, и Vulkan 1.1 — это API-интерфейсы, ориентированные на разработку игр и приложений, которые требуют помощи современных графических движков. В то же время они являются API-интерфейсами, поддерживаемыми драйверами наиболее важных разработчиков графических чипсетов, и, следовательно, быстрым и экономичным способом доступа к их функциям без необходимости знать их дизайн на очень низком уровне.

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

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

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

Microsoft DirectX

DirectX возникает как необходимость стандартизации различных мультимедийных подсистем Windows и заменяет WinG для Windows 3.1. Он принят в Windows 95 как дополнительный пакет, и его вторая версия, DirectX 2.0, становится фундаментальным компонентом Windows 95 OSR2.

В DirectX мы находим несколько независимых API, таких как Direct3D, который действительно является рассматриваемым, DirectDraw, DirectMusic, DirectPlay и DirectSound. DirectX был способом назвать общие достижения во всех этих суб-API. Это API для Windows, но он также используется для разработки игр на консолях Xbox, поэтому мы можем считать его многоплатформенным API, но не бесплатным, как в случае с Vulkan.

DirectX 12, его последняя версия, работает с нами с 2014 года и не стоит на месте, а несколько месяцев назад она получила важные улучшения, такие как подпрограмма Direct RayTracing (DXR), которая была включена в обновленную версию Windows 10, выпущенную в октябре 1809 года.

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

Они могут выполнять различные типы операций, обычно «целочисленные» или «с плавающей запятой», используя возможности совместимой графики, а также разделяя сложные операции на более простые, обрабатывая их параллельно на этих больших шинах. Хорошим примером является то, как AMD или Nvidia теперь могут обрабатывать 16-битные операции на своих 32-битных шинах, что значительно повышает эффективность их графики.

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

В настоящее время DirectX 12 неожиданно доступен для Windows 7 и Windows 10, и хотя он не является напрямую совместимым с Xbox One, правда состоит в том, что практически 90% его функциональных возможностей используется для ПК, различия минимальны и это позволило Разработчики быстро адаптируют свои компьютерные игры для Xbox One и наоборот.

Вулкан из Хроноса

Vulkan является развитием низкоуровневого API OpenGL и поддерживается корпорацией Khronos. В мире ПК они играют второстепенную роль по сравнению с DirectX 12, но его различные адаптации к различным платформам, таким как Android, сделали его эталоном графики для мобильности. Он также совместим с Linux, являющимся отличной альтернативой игре в бесплатных системах.

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

История Vulkan восходит к году после DirectX 12, и Khronos, которая является некоммерческой компанией, поддерживает ее так же часто или чаще, как Microsoft со своим собственным API. Он основан на API Mantle, который AMD разработала для своей архитектуры GCN, и это был еще один низкоуровневый API для сокращенного «драйвера служебных данных». AMD пожертвовала свои разработки Khronos, и это является основой одного из лучших графических API на рынке.

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

Vulkan также представляет низкоуровневые улучшения API для Android и других платформ.

Его последняя версия, Vulkan 1.1, представленная в конце 2018 года, добавляет важные улучшения, такие как поддержка HLSL, которая является альтернативой DirectX 12 для управления шейдерными операциями без предварительной компиляции, лучшей совместимостью с DirectX 12 (для многих подпрограмм). кроме графики), явная поддержка систем с несколькими GPU независимо от производителя и, конечно же, поддержка RayTracing.

Сильные и слабые стороны DirectX 12 против Vulkan

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

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

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

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

Мы ограничили частоту кадров до 120 кадров в секунду для демонстрации Driver Overhead. В Dota 2 потребление CPU существенно снижается при том же FPS.

Единственное более очевидное отличие состоит в том, что Vulkan несколько меньше зависит от процессора, с более низким средним потреблением, и что он также гораздо более открыт для различных платформ, включая Windows и Linux и его гомогенизацию с OpenGL ES, которая является его мобильной версией, он продвигается дальше, объединяя платформы, на которых он движется.

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

Разница в производительности в играх с двойным API

Поскольку движение демонстрируется при ходьбе, мы провели несколько тестов производительности в различных играх и тестах производительности, которые могут использовать эти два API для выполнения.

Тест драйвера 3DMark. Результатов в миллионах запросов, чем больше, тем лучше.

Пепел одиночества. Результаты в FPS, чем больше, тем лучше.

Странная бригада. Результаты в FPS, чем больше, тем лучше.

Мы суммируем лучшие аппаратные руководства, которые должны вас заинтересовать:

  • Лучшие процессоры на рынке Лучшие материнские платы на рынке Лучшие оперативные памяти на рынке Лучшие графические карты на рынке Лучшие SSD на рынке Лучшие корпуса или корпуса для ПК Лучшие источники питания Лучшие радиаторы и жидкостные кулеры

Как видите, результаты ровные, и мы видим различия между программами за и против одной и другой. Это оставляет нас с вопросом о том, что лучше, и ответ ясен, это зависит от программы и от того, как ее разработчик знает или хочет воспользоваться ее преимуществами. Осталось подумать, что в каждой игре разработчики будут использовать именно тот API, который наилучшим образом использует преимущества нашей графики, хотя очевидно, что оба варианта кажутся более чем компетентными. Что вы думаете о нашей статье о Directx 12 против Vulkan ? Мы хотим знать ваше мнение!

Lumberyard — графический движок Amazon

Lumberyard - графический движок Amazon

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

Графический движок Crytek v Crytek включает поддержку Vulkan и DirectX Raytracing.

Графический движок Crytek v Crytek включает поддержку Vulkan и DirectX Raytracing.

Crytek продемонстрировал возможности своего нового графического движка CryEngine V с демонстрацией впечатляющей видеоигры Hunt: Shodown.

Rtx вещательный движок nvidia представляет новый движок для стримеров

Rtx вещательный движок nvidia представляет новый движок для стримеров

Компания утверждает, что RTX Broadcast Engine использует ядра Tensor, имеющиеся в ее графических процессорах RTX.

Red Dead Redemption 2 – DX12 vs. Vulkan

Сравнение графики в RDR2 для PC. В качестве API выступают DX12 и убийца OpenGL — Vulkan. Второй известен своим перегруженным API и очень усложненным кодированием.

Ты синьеришь графику в ААА-студии?

Господи, не понимаешь, так не пиши.

Под API всегда и везде подразумевается прослойка, которая предоставляется на сторону клиента. Я не знаю, что ты там себе насочинял. Может ты школьник с аниме на аве.

Комментарий удален модератором

Отлично, я сейчас кидаю фото даты в паспорте на фоне этого коммента, и если я по возрасту не школьник, ты мне покупаешь рдр2, идёт?

Вулкан не перегруженный, он мультиплатформенный + опенсорсный

Тогда давай свои коммиты в драйвер. Я подожду. Пока я видел только 1500 строк для минимального time to triangle.

А что ещё кроме этого ты видел?

Извини, я не понимаю чем тебе помогут "мои" коммиты к драйверу, когда ты говоришо о отрисовке геометрии для какой то рандомной игры в коде на плюсах.

Посмотрел видео: вулкан то отстаёт на 1 фпс, то опережает на 1 фпс. Что я должен был увидеть?

Ты должен был увидеть summary, итоги бенчмарков. По ним видно, что на низких настройках графена минимальный и максимальный фпс вулкана намного выше, чем на дх12. А вот на высоких настройках вулкан наоборот сдает, и там максимальный фпс намного ниже, чем у дх12. Очевидно, можно сделать вывод, что вулкан лучше для низких настроек и слабого железа, а дх12 — наоборот, выбор тех, кто побогаче и выкручивает графон на более боярском железе. Наверное. Может, это нихуя и не значит, я понятия не имею, просто видос посмотрел

Но ведь средний у вулкана на максималках всё равно выше.

Тут отличие на уровне погрешности, ни о чём не говорит.

Я согласен, но я просто обратил внимание на то что "Вулкан для минималок" и обратное ему — это ошибочное утверждение.
Эти API будут вести себя по разному на разном железе и на данном примере они ведут себя почти одинаково.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *