Статья: сравнение быстродействия видеокарт в directx 11, directx 12 и vulkan, часть 1

Шейдеры

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

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

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

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

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

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

ВАЖНАЯ ИНФОРМАЦИЯ

Графические драйверы:ОБНОВИТЕ ГРАФИЧЕСКИЕ ДРАЙВЕРЫ. (Nvidia — версия 441.87; AMD — версия 20.1.4; Intel — версия 26.20.100.7372).__ Последние пару месяцев мы совместно с Nvidia, AMD и Intel занимались оптимизацией работы драйверов в «Осаде». Чтобы добиться максимальной производительности, обязательно установите их последние версии (если используются старые, вы получите предупреждение).

Аппаратная поддержка: К сожалению, некоторые старые модели видеокарт не поддерживают API Vulkan.

  • Nvidia: Vulkan поддерживают видеокарты с микроархитектурой Kepler (серия GTX 6) и новее. То есть, подойдут ГП на базе Kepler, Maxwell, Pascal и Turing. Любые модели Nvidia, выпущенные после 2012 года, должны отвечать требованиям. (List of Nvidia GPUs)
  • AMD: Vulkan поддерживают видеокарты с микроархитектурой GCN1 (серия Radeon HD 77XX) или новее. Любые модели AMD, выпущенные после 2012 года, должны отвечать требованиям. (List of AMD GPUs)
  • Intel: Vulkan поддерживают видеокарты с микроархитектурой Gen9 (в основном серии Core IX-6XXX и Intel HD Graphic 5XX) и новее. Любые модели Intel, выпущенные после 2015 года, должны отвечать требованиям. (List of Intel GPUs)

Превышение лимита видеопамяти: Одно из преимуществ драйверов на базе DirectX 11 — отличный контроль превышения лимита видеопамяти. В случае с Vulkan оно может вызвать зависания и даже прекращение работы игры. В связи с этим для обеспечения стабильности игрокам потребуется внимательно следить за расчетными объемами потребления памяти в меню настроек графики. При превышении будет отображаться соответствующее предупреждение. Чтобы избежать такой ситуации, стоит снизить качество текстур и/или разрешение игры — параметры, оказывающие самое сильное влияние на производительность.

Мы предлагаем РС-игрокам запустить игру с поддержкой Vulkan, чтобы результаты тестов могли быть максимально обширными.

_______________________________________________________
_______________________________________________________

Какой графический рендеринг лучше

Для игр под Windows поддержка OpenGL реализована слабо — список приложений, где можно активировать этот инструмент вместо DirectX, ограничивается парой десятков.

Самая известная и популярная из них — MOBA Dota 2. OpenGL любят инди-разработчики и добавляют его поддержку в свои проекты, часто криво и не доведя до ума.

DirectX — совсем другое дело. 9, 10 или 11 его версии скачивались отдельно, а вот 12 уже включена в базовый пакет Windows 10. На подавляющем количестве персональных компьютеров именно Виндовс и установлена в качестве операционной системы, а PC сегодня остается самой популярной игровой платформой.

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

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

Что касается эмуляторов Андроид на Виндовс, например BlueStacks, Nox или LD Player, то тут ситуация немного другая. Так как напрямую Android не поддерживает DirectX и рассчитан на работу с OpenGL, взаимодействие РСМ и графических библиотек реализовано с помощью «костылей» и не всегда вменяемо. Тут, в первую очередь, нужно тестировать сам эмулятор.

Однако, имея некоторый опыт их использования, могу утверждать, что на OpenGL производительность почти всегда лучше.

Относительно холивара DirectX Vs OpenGL, а конкретнее, какой из инструментов победит, моё мнение следующее. Microsoft, который разрабатывает DirectX, будет позволять поддержку в играх сторонних библиотек ровно до тех пор, пока это будет выгодно и пока они не станут для него угрозой финансовых потерь.

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

Также советую почитать «Как решить проблему, если видеокартой не поддерживается DirectX 11 или 12». Буду признателен всем, кто расшарит этот пост в любой социальной сети. До скорой встречи!

Графический api vulkan или opengl pubg mobile что лучше

В марте этого года консорциум Khronos Group представил перспективный API Vulkan (раннее кодовое название — Next Generation OpenGL), который должен прийти на смену морально устаревшему OpenGL. Новый API благодаря низкоуровнему доступу к «железу» и более эффективному использованию ЦП должен существенно повысить производительность в использующих его играх. Сегодня у нас появилась возможность посмотреть, как сильно меняется ситуация с производительностью при использовании Vulkan. Соответствующее видео разместила на своём YouTube-канале компания Imagination Technologies.

В проигрываемой «демке» Gnome Horde был задействован прототип Vulkan, а также OpenGL ES 3.0. Как видим, когда на экране мало объектов, разница в производительности едва заметна, но стоит только «демке» начать отрисовывать колоссальное количество объектов, как производительность «Вулкана» начинает говорить сама за себя. Связана она в том числе и с более равномерной нагрузкой на все четыре доступных процессорных ядра, в то время как OpenGL-версия «демки» с трудом задействует два

Обратите внимание на общую разницу в использовании ресурсов процессора

Vulkan

Я не придумал ничего умнее чем некоторую информацию представить скриншотом:

Vulkan Instance extensions:

Vulkan extensions:

Vulkan device features:

Vulkan device limits:

OpenGL

Общая информация:

Расширенная информация:

SPIR-V расширения:

OpenGL расширения:

Расширения присутствующие в обоих драйверах (272 расширения):

Расширения присутствующие только в драйвере AMD (55 расширений):

Расширения присутствующие только в драйвере nVidia (149 расширений):

OpenGL core capabilities:

OpenGL extension capabilities:

Для чего используются эти технологии

Естественно, очень часто можно встретить и вопросы по поводу того, какая графика лучше — OpenGL или DirectX? Такая постановка тоже частично является некорректной, поскольку речь может идти не только о задействовании ресурсов видеокарт, но и звуковых или любых других «железных» и виртуальных устройств мультимедиа. Но чаще всего речь действительно идет именно о графических ускорителях. При этом нужно четко понимать, что выбор в пользу того или иного «моста», обеспечивающего взаимодействие видеокарты с установленной игрой или любой другой программой, где это необходимо, может зависеть и от того, насколько обязательной является такая поддержка.

В современных играх со сложными текстурами и досконально пририсованными динамическими сценами такая поддержка крайне необходима. Но проблема в том, что далеко не все графические ускорители могут корректно использовать такую поддержку. В этом случае все зависит уже от драйверов. Будь карта какой угодно ультрамодной, но с устаревшим управляющим ПО (драйверами) она не сможет использовать все те возможности, которые изначально были заявлены производителем. Тем не менее в большинстве игр или в программах для работы с мультимедиа (например, для обработки видео) очень часто и приходится выбирать, какую именно поддержку устанавливать в настройках противопоставляя одну платформу другой (в английском варианте это обычно выглядит как «OpenGL vs DirectX»).

Directx vs OpenGL (Vulkan) API Which is Better Overall?

With the same hardware, Windows 7 OpenGL gives 303.4 fps — compared to Windows 7 DirectX gives 270.6 fps only. In short: OpenGL is faster than DirectX.

Clearly, OpenGL is a faster API, why is DirectX still the predominant API? It isn’t because of image quality or features: OpenGL 4.0 has all of the shaders and tessellation and widgets that DX has. It isn’t because of hardware support: All Nvidia and AMD graphics cards support the latest version of OpenGL along with DirectX.

DirectX is a cleaner API and better documentation is easier to learn. More developers using DirectX = more DirectX games = better driver support. This is a vicious loop that again leads to more DX devs, more DX games, and better DX drivers/tools/documentation.

But Vulkan is there to tackle Directx and in 2-3 years, we are going to see the difference as new programmers are joining the line of development.

⇡#Графические API и процессорозависимость

Сама структура конвейера этих API позволяет снизить нагрузку на центральный процессор за счет сокращения времени подготовки draw call, что особенно важно, когда на экране присутствует множество отдельных моделей (прим.: Draw call — команда, требующая создать единственную полигональную сетку (mesh)). Однако часть функций Direct3D 12 и Vulkan не требует от разработчиков игр особенных усилий

Первым тайтлом с поддержкой Mantle стала Battlefield 4, но тогда, в 2014 году, игровая графика не была настолько богата геометрией, чтобы центральный процессор ограничивал частоту смены кадров в сбалансированной системе

Впервые на эту проблему обратили внимание AMD и DICE, создатели проприетарного низкоуровневого интерфейса Mantle. наше тестирование процессорозависимости), что любой худо-бедно современный процессор Intel с четырьмя ядрами раскрывает потенциал топовых GPU того времени

Даже год спустя мы пришли к выводу (см.

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

Ее движок именно за счет быстрой отдачи draw call сильно наращивает быстродействие под Direct3D 12 и Vulkan даже при мощном центральном процессоре. Самый яркий, хотя и довольно экзотический пример — стратегия Ashes of the Singularity. В этот раз мы проведем тестирование на платформе с четырьмя ядрами и сниженной частотой CPU, а потом сравним полученные результаты с тем, что было получено ранее при помощи высокопроизводительного процессора. Но в нашей методике есть и другие игры с богатой геометрией.

Для имитации более слабого CPU мы отключили половину ядер и установили тактовую частоту на отметке 2,5 ГГц. В предыдущей части тестирования процессор нашего тестового стенда, Core i7-5960X, работал на постоянной частоте 4 ГГц при восьми активных ядрах.

1,5 ГГц — подходящая разница, чтобы наглядно показать связь версии графического API и процессорозависимости, а измерение кадровой частоты на всем спектре моделей современных CPU пусть останется задачей для следующей части нашей серии «Процессорозависимость». Честно говоря, это не очень реалистичная конфигурация для современных CPU Intel (даже младшие модели Core i5 поколений Caby Lake и Coffee Lake берут более высокие частоты при полной загрузке четырех ядер), но она вполне соответствует некоторым моделям предыдущих поколений.

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

Кроме того, были исключены бюджетные игровые видеокарты Radeon RX 560 и GeForce GTX 1050 Ti — у них попросту недостаточно мощные GPU, чтобы оптимизация API сыграла большую роль даже на слабой платформе. По итогам первого тестирования мы дисквалифицировали из участников несколько видеокарт, в первую очередь GeForce GTX 970 и GTX 980 Ti, которые не годятся для игр под Direct3D 12 и Vulkan в силу архитектурных особенностей.

Для того чтобы обеспечить корректное сравнение, новые результаты получены на тех же версиях драйверов (Radeon Software Crimson Adrenalin Edition 18. Наконец, мы нашли несколько ошибок в тестовых результатах первой части стати и приведем все данные (как при сильном, так и при слабом CPU) в обобщающих графиках и таблицах. 1 и GeForce Game Ready Driver 390. 1. Драйверы довольно старые, но если бы мы повторили тесты на актуальных версиях, это бы не повлияло сколь-либо существенно на результаты. 65), которые мы использовали в прошлый раз. За прошедшее время каких-либо глобальных изменений в ПО, которые поднимают общее быстродействие, производители GPU не внесли. В конце концов, самая свежая из выбранных игр вышла еще в сентябре прошлого года, и драйверы уже содержат оптимизации для всех из них.

What is Graphics API?

Graphics API is an application programming interface that helps the programmer to use graphics hardware most efficiently.

Graphics API is used to create stunning visuals and animations in games or virtual reality. They are also used for other purposes such as creating digital art, designing and rendering 3D models, and so on.

Graphics API can be broadly classified into two types: low-level Graphics API and high-level Graphics API. Low-level Graphics APIs require more coding but they provide more control over the graphics hardware. High-level Graphics APIs are easier to use but they don’t allow as much control as low-level Graphics APIs do.

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

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

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

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

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

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

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

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

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

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

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

Асинхронные вычисления в Direct3D 11 и Direct3D 12

Современные GPU лишь в силу привычки называются графическими процессорами. Архитектура, состоящая из большого количества исполнительных блоков (ALU, потоковых процессоров или CUDA-ядер, в терминологии различных производителей), подходит для исполнения любых программ, легко разделяющихся на независимые друг от друга цепочки операций (GP-GPU, General Purpose GPU) — будь то промышленные задачи, майнинг криптовалюты, машинное обучение и т. д.

Методы GP-GPU применяются и в играх (по меньшей мере с того времени, когда NVIDIA купила компанию — создателя «физического ускорителя» Ageia и адаптировала ее API PhysX для работы на графических процессорах), но ни одна из коммерческих игр еще не может похвастаться тем, что раскрыла потенциал неграфических расчетов в такой степени, как «демки» PhysX, которые периодически демонстрирует NVIDIA. Причина лежит на поверхности: даже лучшие GPU не обладают избытком ресурсов для того, чтобы действительно масштабные вычисления игровой физики не уничтожили частоту смены кадров. Тем более в то время, как перед разработчиками ПО и железа открылись более заманчивые перспективы — разрешение сверхвысокой четкости и VR.

Однако актуальные и потенциальные функции вычислений общего назначения в современных играх не ограничиваются физикой. SSAO (Screen-Space Ambient Occlusion), локальные отражения в экранном пространстве (Screen-Space Reflections), генерация карт теней, различные модели глобального освещения и пр. могут быть реализованы в качестве методов GP-GPU. Нетрудно заметить, что в данном случае отсутствует принципиальная граница между задачами двух типов. Она существует лишь на уровне архитектуры приложения и API, когда графика и вычисления представляют собой отдельные очереди инструкций. Именно одновременное исполнение множественных очередей инструкций лежит в основе того, что называют (не вполне корректно, но об этом позже) асинхронными вычислениями.

В рамках Direct3D 11 существует единственная очередь инструкций для рендеринга графики. И как бы тщательно ни была оптимизирована архитектура GPU, в процессе рендеринга неизбежно возникают «пузыри», когда шейдерные ALU простаивают, в то время как свою работу выполняют другие компоненты процессора — блоки наложения текстур, ROP, шина памяти и т. д.

В свою очередь, Direct3D 12 и Vulkan позволяют создать две отдельные очереди — для графики и вычислений соответственно (не считая очереди для передачи данных по шине PCI Express), а задача распределения ресурсов GPU между ними ложится на сам процессор и его драйвер, которые следят за возникновением «пузырей» в той или иной очереди и эффективно их закрывают за счет инструкций из соседней очереди. В общих чертах подход аналогичен функции Hyper-Threading центральных процессоров.

Прим.: на самом деле в Direct3D 12 и Vulkan можно создавать множественные очереди всех трех типов — в зависимости от того, сколько поддерживает GPU.

Осталось пояснить, почему термин «асинхронность» не лучшим образом описывает то, что происходит в процессе рендеринга с двумя очередями инструкций, которые мы осторожно назвали отдельными, но не независимыми. Корректный (и официальный для Direct3D 12) термин — Multi-Engine

Дело в том, что те процедуры, которые исполняются в «графической» и «вычислительных» очередях Direct3D 12 или Vulkan, как правило, содержат взаимные зависимости данных: исполнение инструкций в одной очереди должно быть остановлено, пока не будет получен результат определенной инструкции из другой очереди.

В таком случае можно говорить лишь об одновременном (concurrent), но не асинхронном (независимом по времени завершения) исполнении. Примером истинной асинхронности является фоновый процесс с низким приоритетом, протекающий одновременно с рендерингом кадра, — такой, как декомпрессия ресурсов, обновление карт теней в моделях глобального освещения и пр. (см. слайд AMD выше). Таким образом, термин «асинхронные вычисления» применим к узкому кругу задач, в то время как понятие Multi-Engine описывает одновременное исполнение нескольких очередей вычислительных инструкций безотносительно к структуре зависимостей между ними.

Рендеринг Dota 2

Для рендеринга (или, проще говоря, визуализации итогового изображения) в Dota 2 можно выбрать один из четырех наборов API (Application Programming Interface): DirectX9, DirectX11, OpenGL и Vulkan (не путать с Vulcan, многие пишут его название неправильно). В этой статье мы разберем, в каких случаях какой набор компонентов окажется полезней именно для вашего компьютера и операционной системы, а также подробнее расскажем, что это такое.

Многих опытных пользователей Dota 2 пугает непонятная аббревиатура, и они обходят эту видеонастройку стороной. И очень зря! Чтобы подробнее понять, что это такое, — представьте себе большую стену (ваш компьютер, на котором «держится» Дота) и красивые обои (итоговое изображение, который видит гость в комнате). API в этом случае будет выступать в роли клея, связывающего стену и обои между собой.

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

Далее мы подробно рассмотрим все API, доступные для использования в Dota 2. Стоит заметить, что использование альтернативного движка не даст вам ощутимого прироста FPS (максимум 5-10 кадров в секунду), значительно более красивой картинки или возможность самонаведения мышкой на противника при использовании

  • Direct3D9 (-dx9) от Microsoft заточен под Windows и подходит для более старых видеокарт. Если у вас старый компьютер и вы испытываете проблемы с производительностью — смело выбирайте -dx9;
  • OpenGL (-gl) является аналогом DirectX, но, в отличие от него, поддерживает кроссплатформенность, то есть позволяет Доте запуститься на Mac OS и Linux. Как и dx9, поддерживает 32-битные системы. Для его работы нужно загрузить дополнительное DLC;

  • Direct3D11 (-dx11) — обновленная версия dx9 для современных видеокарт. Работает только на 64-разрядных системах, лучше использовать на компьютерах средней конфигурации и выше — на таких dx9 может не полностью раскрыть «потенциал» рендеринга вашего ПК;
  • Vulkan (-vulkan) — обновленная версия gl, которая появилась в игре относительно недавно — в 2016 году. Также требует загрузки дополнительного контента для работы. Использует низкоуровневый доступ к программному обеспечению и рендеринг изображения через несколько ядер и потоков. Если у вас мощный ПК, советуем сравнить производительность -dx11 и -vulkan, а затем выбрать наиболее подходящий набор компонентов для вашей конфигурации.

Сменить API можно или в настройках графики в самой игре, или в параметрах запуска Доты, прописав одну из четырех команд (при этом другие команды вписывать в параметры запуска запрещено!): -dx9 -dx11 -gl -vulkan.

⇡#Тестовый стенд, методика тестирования

Конфигурация тестовых стендов

CPU

Intel Core i7-5960X (4 ядра @ 2,5 ГГц, постоянная частота)

Intel Core i7-5960X (8 ядер @ 4,0 ГГц, постоянная частота)

Материнская плата

ASUS RAMPAGE V EXTREME

Оперативная память

Corsair Vengeance LPX, 2133 МГц, 4 × 4 Гбайт

ПЗУ

Intel SSD 520 240 Гбайт + Crucial M550 512 Гбайт

Блок питания

Corsair AX1200i, 1200 Вт

Система охлаждения CPU

Thermalright Archon

Корпус

CoolerMaster Test Bench V1.0

Монитор

NEC EA244UHD

Операционная система

Windows 10 Pro x64

ПО для GPU AMD

Все видеокарты

Radeon Software Crimson Adrenalin Edition 18.1.1

ПО для GPU NVIDIA

Все видеокарты

GeForce Game Ready Driver 390.65

Бенчмарки: игры

Игра (в порядке даты выхода)

API

Настройки, метод тестирования

Полноэкранное сглаживание

1920 × 1080 / 2560 × 1440

3840 × 2160

Rise of the Tomb Raider

DirectX 11/12

Макс. качество, VXAO выкл. Встроенный бенчмарк

Выкл.

Tom Clancy’s The Division

DirectX 11/12

Макс. качество, HFTS выкл. Встроенный бенчмарк

SMAA 1x Ultra + TAA: Supersampling

TAA: Stabilization

DOOM

OpenGL 4.5 / Vulkan

Макс. качество. Миссия Foundry

TSSAA 8TX

Выкл.

Deus Ex: Mankind Divided

DirectX 11/12

Макс. качество. Встроенный бенчмарк

Выкл.

Battlefield 1

DirectX 11/12

Макс. качество. OCAT, начало миссии Over the Top

TAA

Ashes of the Singularity: Escalation

DirectX 11/12/ Vulkan

Выкл.

Total War: WARHAMMER II, встроенный бенчмарк

DirectX 11/12

Макс. качество. Встроенный бенчмарк (Battle Benchmark)

Выкл.

Доподлинно известно, что все они так или иначе задействуют функцию Multi-Engine («асинхронные вычисления»). В тестовую обойму вошли семь игр 2016–2017 годов выпуска, среди которых шесть поддерживают API Direct3D 12 и две — Vulkan. Эта игра использует так называемые Shader Intrinsitc Functions — шейдеры, непосредственно исполняемые на GPU избранной архитектуры, в обход стадии компиляции из высокоуровневого кода. И пара слов о DOOM. Собственные Shader Intrinsics есть и у NVIDIA, но они доступны только через проприетарый интерфейс NVAPI или библиотеки GameWorks. Только Vulkan, в отличие от OpenGL и Direct3D любой версии, дает такую возможность, и только AMD выпустила для Vulkan соответствующее расширение. Именно поэтому Vulkan в DOOM принес GPU AMD такой мощный прирост быстродействия, хотя не обижены и чипы NVIDIA.

Настройки подобраны таким образом, чтобы обеспечить высокую частоту смены кадров (от 60 FPS и выше в режиме 1080p) на мощных GPU последнего поколения. Тесты выполнены при разрешениях 1080p, 1440p и 2160p.

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

Что касается платформ, большое преимущество 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 поддерживает только последние две.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
RozBlog
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: