Главная страница » Что лучше directx 11 или vulcan

Что лучше directx 11 или vulcan

  • автор:

Сравнительный тест DirectX 11, OpenGL и Vulkan

На минувшей неделе был представлен API Vulkan, о широкой поддержке которого заявили AMD и NVIDIA. Новый графический интерфейс разрабатывал Khronos Group, консорциум, основанный в 2000 году. Khronos Group отвечает за разработку и поддержку открытых стандартов в сфере мультимедийных приложений на разных платформах и устройствах. Консорциум поддерживают AMD и NVIDIA, а также многие другие компании.

На минувшей неделе была ратифицирована финальная версия 1.0 API Vulkan. AMD и NVIDIA представили соответствующие бета-драйверы. AMD заранее выпустила бета-версию Radeon Software еще 14 февраля. NVIDIA представила драйвер GeForce 356.39, который тоже ориентирован на поддержку API Vulkan.

Подход API Vulkan очень похож на API Mantle. Суть заключается в том, чтобы разработчики получили более глубокий доступ к «железу», чтобы выжать из него максимум. Такой подход позволяет максимально избежать существующих «узких мест». С другой стороны, разработчики должны точно знать, что они делают – например, при работе с памятью. Интерфейс OpenGL не так популярен, как DirectX, но позволяет выжать больше.

Интерфейс API Vulkan в версии 1.0 поддерживается под Windows 7, Windows 8.1, Windows 10, Android и Linux. Разработчики игр пока что не объявили о поддержки в конкретных играх, но здесь стоит дождаться Games Developer Conference, которая будет проводиться с 14 по 18 марта в Сан-Франциско. Из игровых движков пока есть информация о Source 2, который уже поддерживает API Vulkan. Процесс отладки облегчается поддержкой Valve, LunarG и Codeplay.

The Talos Principle

Хорошо, но какая игра или движок поддерживают API Vulkan? Игра The Talos Principle разрабатывалась компанией Croteam, которая и в прошлом была известна поддержкой многих графических API. И в последней итерации игра The Talos Principle не стала исключением – она поддерживает DirectX 9, DirectX 11, OpenGL и теперь Vulkan. Для студии разработчиков Vulkan является пробным шаром, хотя API Vulkan доступен в версии 1.0, поддержка пока находится в бета-стадии. На добавление поддержки разработчики Croteam затратили порядка трех месяцев. Но универсальный характер API позволяет вскоре представить вариант Linux.

API Vulkan теоретически совместим с несколькими платформами – но пока что тесты и сравнения можно провести только под Windows, причем здесь имеются свои ограничения. Реализация пока остается на очень раннем этапе. Путь рендеринга DirectX 11 совершенствовался многие годы, поэтому потенциала для оптимизации здесь уже нет. Здесь ситуация больше зависит от разработчиков драйверов, а именно AMD и NVIDIA. Игра The Talos Principle стала первой с поддержкой Vulkan. Поэтому пока нет возможности сделать сравнительный тест для оценки хорошей или плохой реализации поддержки.

the-talos-principle-1

Новые технологии первое время реализуются в примерах, подготовленных производителями. В случае DirectX 12 акцент был выставлен на Draw Calls, тот же тест 3DMark DirectX 12 опирается только на измерение производительности Draw Calls, игры DirectX 12, подобные Star Wars, тоже пытаются задействовать подобную нагрузку. Но The Talos Principle не так сильно зависит от высокой скорости Draw Call, чтобы низкоуровневый API дал большую разницу.

Поддержка API Vulkan версии 1.0 находится на ранней стадии, то же самое касается драйверов AMD и NVIDIA. Оба драйвера, по сути, относятся к бета-версиям, именно так их рассматривают производители GPU. Здесь обычно нет новых улучшений производительности или поддержки новых технологий, так что мы получаем шаг назад. Но как только определенный уровень разработки будет достигнут, драйверы обоих разработчиков GPU получат поддержку Vulkan в финальной версии. Когда это произойдет – не совсем понятно. Но пока ключевые приложения не используют Vulkan и игры с поддержкой API находятся в состоянии бета-версии, так что разработчики GPU могут спокойно дорабатывать свои драйверы.

Для тестов мы взяли нашу тестовую систему для видеокарт. Драйверы видеокарт AMD и NVIDIA мы уже описали выше. В настройках мы выставили максимальный уровень графики, но при этом протестировали и низкие разрешения вплоть до 1.280 x 720 пикселей, чтобы увеличить производительность Draw Call.

Benchmarks zu The Talos Principle - 1.280 x 720 Pixel Тест The Talos Principle — 1.280 x 720 пикселей
Benchmarks zu The Talos Principle - 2.560 x 1.440 Pixel Тест The Talos Principle — 2.560 x 1.440 пикселей
Benchmarks zu The Talos Principle - 3.840 x 2.160 Pixel Тест The Talos Principle — 3.840 x 2.160 пикселей

Как можно видеть по результатам, API Vulkan дает существенный прирост по сравнению с OpenGL. Но до производительности DirectX 11 новый API не дотягивает. Тому есть несколько причин. С одной стороны, разработка под Vulkan находится в ранней стадии. Это касается и самого API, и драйвера, и игры The Talos Principle. По сравнению с OpenGL новый интерфейс позволяет освободить часть ресурсов и избежать «узких мест». Но DirectX много лет совершенствовался до текущего уровня. В любом случае, потенциал у API Vulkan очень хороший.

Если погрузиться в детали, то визуальных отличий между API Vulkan и DirectX 11 мы не обнаружили. Так что путь рендеринга очень хорошо адаптирован. У текущей реализации The Talos Principle видеокарты с 2 Гбайт памяти получают падение производительности, вероятно, из-за не самой эффективной работы с памятью. Как и Mantle и DirectX 12, API Vulkan может обращаться к ресурсам памяти на более глубоком уровне – сей факт можно рассматривать как преимущество, но он может стать и недостатком, если разработчики не смогут эффективно использовать память.

Несколько разочаровала ошибка в текущем драйвере NVIDIA, из-за которой после каждого теста приходилось перезагружать систему. Без перезагрузки игра «вылетала». Хотя с драйвером AMD мы не обнаруживали подобной ошибки.

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

Что такое Vulkan и DirectX и как они влияют на видеоигры

vulkan-dx12

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

Предварительная информация о API

Прежде чем мы начнем говорить о DirectX и Vulkan, нам нужно сначала понять, что такое API. Аббревиатура означает «Интерфейс прикладного программирования».

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

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

DirectX-11-windows-7-1

Ориентировочный пример, в котором мы используем API, — это когда мы автоматически регистрируемся в новом социальном средстве или онлайн-сервисе, используя наши ранее существующие учетные записи из Facebook или Google (вместо создания новой учетной записи вручную).

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

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

В таких случаях использование API-интерфейсов применимо к нашему компьютерному оборудованию и в частности, к нашей графической карте (видеокартам).

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

1-23-1024×589Microsoft DirectX

С выпуском Windows 95 и модели защищенной памяти разработчики не имели такого же доступа к ресурсам, как в MS-DOS. DirectX впервые появился в виде набора конкретных API для разработки мультимедийных приложений, таких как игры.

Термин «DirectX» начинается со слова «Direct», ссылаясь на прямой доступ к ресурсам системы. Некоторые примеры включают Direct3D для графики и DirectSound для аудио. Часть «Х» относится к API в общей коллекции; таким образом объединив все API-интерфейсы под названием DirectX. Вышеупомянутое название также вдохновило название популярной видеоигр компании Xbox.

Вышеприведенное иллюстрирует тесную связь между DirectX и консолью Microsoft. Его последняя версия, DirectX 12, имеет большие улучшения. Тем не менее он поддерживается только Windows 10 и новейшей игровой консолью компании Xbox One.

Vulkan_AMD-1024×514

Direct3D является жемчужиной DirectX и полезен для создания 3D-объектов на нашем экране. Он также позволяет просматривать игры в полноэкранном режиме, а также использовать аппаратные ускорители. Последний метод позволяет реализовать некоторые функции более эффективно, чем они работают в программном обеспечении. Это может быть достигнуто за счет более эффективного использования аппаратного обеспечения нашего компьютера. В этом случае это будет наша видеокарта.

Вулкан AMD

В 2015 году Kronos Group разработала свой собственный API. Vulkan — это низкоуровневый API, используемый для разработки графически требующих приложений. Его первая стабильная версия дебютировала в августе 2016 года.

Следует четко указать, что «низкий уровень» не относится к качеству. Вместо этого этот термин описывает способность Вулкана работать на аппаратном уровне.

Хронос окружает себя одними из самых больших имен в ИТ-индустрии. Некоторые из них — Google, Intel, Sony, Nvidia и AMD. Последние два дали API, свести к минимуму время разработки Vulkan.

OpenGL — популярный API среди графических дизайнеров. Фактически он был разработан Хроносом, и он также включает в себя многие характеристики Вулкана. Однако его прием игровыми дизайнерами был непредвиденным.

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

1651062620X310

Здесь вы можете найти полный список с именами, которые содержат Khronos. Мантия обеспечила основную базу, на которой был разработан Вулкан. Наконец Vulkan в настоящее время находится в версии 1.1.

Как они влияют на игры

До этого момента мы рассмотрели некоторые основы, касающиеся API, Microsoft и Khronos. Но как они влияют на игры?

Эти два API значительно улучшили производительность. До сих пор DirectX, по-видимому, обеспечивал лучшую производительность, чем Vulcan, что на самом деле он не так далеко позади.

Microsoft утверждает, что DirectX 12 снижает потребление на 50% при использовании DirectX 11. С другой стороны, Vulkan также демонстрирует лучшую гибкость, чем его предшественник. Говоря о предшественниках, DirectX 11 и OpenGL были созданы с учетом одноядерных процессоров; что означает, что они не были точно настроены с использованием новых, многоядерных процессоров.

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

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

Поддержка нескольких графических карт

Здесь Khronos Group столкнулась со значительным разрывом между двумя API-интерфейсами с поддержкой использования нескольких графических карт (использование явного многоканального GPU). Мы можем использовать разные карты, если их чипы имеют аналогичную архитектуру и используют один и тот же драйвер. Это позволит различным картам обрабатывать другую часть экрана.

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

Шейдеры

Шейдеры — это небольшие программы, которые запускаются на наших видеокартах. Они отвечают за определенные функции различных объектов в 3D-среде. Тени, туман и освещение в игре являются результатом шейдера.

Vulkan использует промежуточное представление для шейдеров под названием SPIR-V. Его двоичная форма похожа на байт-код DirectX DX.

SPIR-V версия 1.3 отличается SPIR-V opt, инструментом для уменьшения размера шейдеров. Максимальный размер достигает + 40% от байт-кода DX соответствующего представления для DirectX.

Кроме того, некоторые структуры в HLSL (высокоуровневый шейдерный язык), которые были разработаны Microsoft, не поддерживались непосредственно некоторыми видеокартами.

HLSL широко используется DirectX с версии 9. Он использовался в качестве дополнения к существующему языку ассемблера шейдеров. С новой версией SPIR-V Vulkan также поддерживает ее.

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

Совместимость с несколькими платформами

Что касается платформ, большое преимущество Vulkan заключается в том, что он поддерживает Windows, Linux, Mac OS, Android и iOS. DirectX 12 с другой стороны, поддерживается только в Windows 10 и Xbox One. Чтобы использовать усовершенствования, предлагаемые DirectX 12, нам нужно либо обновить нашу операционную систему до Windows 10, либо получить новую консоль компании.

Если вы хотите попробовать DirectX 12, и вам не удалось получить Windows 10 во время бесплатного обновления, ознакомьтесь с нашим пошаговым руководством по свободным методам модернизации, которые доступны:

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

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

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

Также подумайте: компания думает о создании программного обеспечения для разработки игр и хочет поддерживать API. Кто бы вы выбрали?

Оба имеют схожие мощности оба лучшие, чем их предшественники, и оба обеспечивают явное использование видеокарт. Vulkan поддерживает все платформы, включая Windows 10 и Xbox One, в то время как DirectX поддерживает только последние две.

vulkan-performanceВиртуальная реальность

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

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

Версия 1.1 Vulkan предлагает набор команд рендеринга для формирования нескольких, немного разных выходов (изображений), которые в конечном итоге дают лучшую производительность в приложениях VR.

Развитие и будущее

Было бы упущением, не говоря уже о ходе разработки двух API. С одной стороны, у нас есть ветеран DirectX с более чем 20-летним развитием. С другой стороны, Вулкану едва будет 3 года с 2015 года. Тот факт, что Vulkan является открытым исходным кодом, может немного повлиять на его темпы роста. Конечно игроки Khronos, похоже серьезно относятся к разработке API, так как уровни улучшения впечатляют.

Все мы можем создавать новые инструменты и модификации и предоставлять их сообществу, помогая API расти быстрее. Наконец следует упомянуть, что DirectX не имеет вышеуказанной функции. Несмотря на свои годы развития, около 40 игр в настоящее время используют Vulkan, занимая большую часть рынка. Некоторые из них — Quake, Roblox, Talos и Dota 2. Что касается производительности, Vulkan приближается к DirectX, и в некоторых случаях он превосходит его. Самые захватывающие примеры работы Вулкана — игра Doom.

Vulkan-comparison

Vulkan расширил свою поддержку названий AAA, таких как Wolfenstein II, не пренебрегая названиями VR, такими как Doom VFR и Serious Sam VR. Здесь вы можете увидеть подробный список поддерживаемых игр. Хотя здесь вы найдете игры с поддержкой DirectX 12.

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

Как вы относитесь к двум API?

Вы уже узнали всю информацию, которую мы предоставили на Vulkan и DirectX? Со временем их соперничество усиливается, какой из двух API вы считаете более полезным для развития игры? Мы с нетерпением ждем ваших комментариев.

DX12 vs DX11 vs Vulkan

Vvvvd

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

Кароче проверял на своей gtx 1060 6 gb (ультра настройки) и кароче так:dx11 — 51-33 fps dx12- идеотизм 30-10 ФПС. Вулкан: 45-26 ФПС с фризами.

  • пожаловаться
  • скопировать ссылку

У кого мылит, попробуйте постобработку снизить до минимума

  • пожаловаться
  • скопировать ссылку

На dx12 эта настройка доступна, на вулкане нет

  • пожаловаться
  • скопировать ссылку

игра работает одинаково на всех апи, только при дх11 есть немного статтеры, вулкан и дх12 работают без отличий
Хлыст
Трассировка в этой игре работает только на дх12

Палыч Роков
вообще-то карты у всех разные и фпс будет разный.

Ток на 11 идёт плавно, 12 лагать начинает и жутко нагружает процессор, проверю вулкан

  • пожаловаться
  • скопировать ссылку

LOL01110111
Что у тебя за процессор? что его так сильно загружает, потому что я тоже на dx12 играю с ультра настройками и включенной трассировкой тоже на ультра, и процессор вообще не нагружается, а работает на 20-30% максимум а в основном на 15-20%! не то что в marvels spidermen, который с аналогичными настройками загружает проц на 80+-%.

Kartonkratos
оптимизация). как трассировка и загрузка процессора связана? ведь все на карту ложится, это у нее тензорные ядра. вроде как, если не прав — то и спорить не буду

Павел Волокин
Трассировка тоже влияет на загрузку процессора! но суть не в этом, я просто спросил что за проц у него такой? что сильно загружается, если игра ресурсы процессора потребляет очень мало.

Kartonkratos
Вот хз, вроде нормально все, но почему-то лагает. Проц всего на 80% загружен, видяха на 30-40%, но подлагивает. Особенно когда взрывы идут пипец. Попробовал одно решение с реддита, так вообще перестала запускаться, а когда откатил игра превратилась в слайд шоу. Вулкан не запускается в полноэкранном режиме, думаю тоже задело когда пытался починить ДХ12

На dx 11 игра выглядит очень чётко, на dx 12 и Vulkan мыло мыльное, но на dx 11 какие то жуткие фризы, как будто что то постоянно подгружает.
Также глюк или баг, но когда включаешь двойную буферизацию, то в игре начинается дичь с фпс, прыгает с 60 до 25 взаимозависимости от места, но когда включаешь тройную буферизацию, то всё становиться в порядке и выдаёт стабильные 60 кадров, настройки средне высокие.
В общем у кого вдруг проблема с тем что игра идёт в 30 фпс попробуйте по переключать Vsync.

  • пожаловаться
  • скопировать ссылку

у меня на 12 на 5 фпс больше

  • пожаловаться
  • скопировать ссылку

PREDATOR7706
главное чтоб эти 5 фпс стабильные были.

i5 9300h gtx 1050ti 16gb на dx12 плавный фрейм, загрузка гпу 84-100%, на вулкане — дропы загрузки гпу ужасные 22-56% иногда 95%, фрейм рваный, на dx11 — 65-95% в среднем со статтерами. Игра стоит на m2.

  • пожаловаться
  • скопировать ссылку

Ничего не знаю но расскажу о наблюдении. Устанол на убунте через стим лару Крофт и там вулкан и показывало картинку намного лучше тени объекты. Потом на Винде пробовал всё темно и объекты плохо видны. Почему так?

  • пожаловаться
  • скопировать ссылку

жаль еще taa нет остальное мылит ну а fxaa сами понимаете- но вариант не плохой.

  • пожаловаться
  • скопировать ссылку

А все, перестало лагать на 12, практически ничего не сделал. Само как-то перестало. А, не, сделал: выставил подкачку на авто, лаги пропали. Забавный сюжет кстати, особенно понравилась игра в этих "пустынников", в которых все понарошку.

  • пожаловаться
  • скопировать ссылку

у меня хрень какая то, игра работает стабильно только в dx 12. При запуске в vulkan фризы и оконный режим который никак не хочет изменяться на полноэкранный. в dx 11 вообще странно процессор загружен на 100%. i5 10500/gtx 1650s

  • пожаловаться
  • скопировать ссылку

Анатолий Рудковский
вот у меня на оборот на dx12 работать нормально вообще не хочет.

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

▷ 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.

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

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