Что лучше vulkan или directx 11 dota 2
Выигрыш в производительности от перехода игр с DirectX 11 на DirectX 12 или Vulkan совсем не гарантирован, а лучше сказать — гарантирован не всем. Проверим, что прогресс игрового ПО на данный момент принес видеокартам NVIDIA и AMD трех различных поколений
Мы долго говорили об особенностях API нового поколения и готовы перейти к бенчмаркам, но сначала придется признать: все сказанное в теоретической части не получится напрямую связать с цифрами. Поддержка Direct3D 12 или Vulkan в какой-либо игре еще не значит, что ее движок задействует ту или иную из новых функций, а главное, нам неизвестно, насколько широко и эффективно она используется. Также не будем забывать, что Direct3D 12 и Vulkan являются сравнительно низкоуровневыми API, и задача оптимизации быстродействия под GPU различной архитектуры лежит на плечах разработчиков движка (некоторые из которых прямо сообщают, что поддержка Direct3D — экспериментальная опция и ожидать чудес не стоит). Эти переменные останутся скрыты от глаз исследователя без полноценного профайлинга приложений — задачи, которая выходит далеко за рамки данного обзора. Как бы то ни было, результаты тестирования дают представление о быстродействии видеокарт в API нового поколения на данный момент — вне зависимости от того, как могла бы сложиться идеальная картина.
Конфигурация тестовых стендов | |
---|---|
CPU | Intel Core i7-5960X @ 4 ГГц (100 МГц × 40), постоянная частота |
Материнская плата | 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 |
В тестовую обойму вошли семь игр 2016–2017 годов выпуска, среди которых шесть поддерживают API Direct3D 12, а две — Vulkan. Доподлинно известно, что все они так или иначе задействуют функцию Multi-Engine («асинхронные вычисления»). И пара слов об отдельных играх.
- DOOM. Эта игра использует т. н. Shader Intrinsitc Functions — шейдеры, непосредственно исполняемые на GPU избранной архитектуры, минуя стадию компиляции из высокоуровневого кода. Только Vulkan, в отличие от OpenGL и Direct3D любой версии, дает такую возможность, и только AMD выпустила для Vulkan соответствующее расширение. Собственные Shader Intrinsics есть и у NVIDIA, но они задействуются через проприетарный интерфейс NVAPI или библиотеки GameWorks. Именно поэтому Vulkan в DOOM дает процессорам AMD такой мощный прирост быстродействия (хотя и чипы NVIDIA не обделяет).
- В Total War: WARHAMMER II не поддерживается Direct3D 12 на графических процессорах архитектуры Kepler.
- Tom Clancy’s The Division (по крайней мере с нашим железом и настройками) не запускается в режиме Direct3D 12 на ускорителях семейств Kepler и Maxwell.
Тесты выполнены при разрешениях 1080p, 1440p и 2160p. Настройки выбраны таким образом, чтобы обеспечить высокую частоту смены кадров (от 60 FPS и выше в режиме 1080p) на мощных GPU последнего поколения и приемлемую частоту (от 30 FPS в 1080p) на ускорителях среднего уровня, что соответствует реальным сценариями использования. Для слабых видеокарт (Radeon RX 560 и GeForce GTX 1050 Ti) выбраны иные, более щадящие параметры качества графики в ряде игр.
При таких настройках мы едва ли сможем в полной мере оценить экономию ресурсов CPU на подготовке draw call, которую обеспечивает Direct3D и Vulkan. Испытания API Mantle в свое время показали, что максимальный рост быстродействия возникает в несбалансированных конфигурациях (мощный GPU и двухъядерный центральный процессор) либо при кадровой частоте свыше 100 FPS. Тестирование на платформе со сниженным числом ядер и частотой CPU будет представлено во второй части статьи.
Бенчмарки: игры (высокое качество графики) | ||||
---|---|---|---|---|
Игра (в порядке даты выхода) | 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 / Vulkan | Макс. качество. Встроенный бенчмарк | Выкл. | |
Total War: WARHAMMER II, встроенный бенчмарк | DirectX 11/12 | Макс. качество. Встроенный бенчмарк (Battle Benchmark) | Выкл. |
Бенчмарки: игры (сниженное качество графики) | ||||
---|---|---|---|---|
Игра (в порядке даты выхода) | API | Настройки, метод тестирования | Полноэкранное сглаживание | |
1920 × 1080 / 2560 × 1440 | 3840 × 2160 | |||
Rise of the Tomb Raider | DirectX 11/12 | Среднее качество. Встроенный бенчмарк | Выкл. | Выкл. |
Tom Clancy's The Division | DirectX 11/12 | Среднее качество, HFTS выкл. Встроенный бенчмарк | TAA: Stabilization | 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 | ||
Ashes of the Singularity: Escalation | DirectX 11/12/ Vulkan | Среднее качество. Встроенный бенчмарк | ||
Total War: WARHAMMER II, встроенный бенчмарк | DirectX 11/12 | Низкое качество. Встроенный бенчмарк (Battle Benchmark) |
Участники тестирования
Для тестирования были избраны пять видеокарт на базе GPU каждого производителя в диапазоне архитектур от GCN 1.1 (Radeon R9 390X) до GCN 1.4 (Radeon RX Vega 64) и от Kepler (GeForce GTX 780 Ti) до Pascal (GeForce GTX 1080 Ti) соответственно.
Для рендеринга (или, проще говоря, визуализации итогового изображения) в Dota 2 можно выбрать один из четырех наборов API (Application Programming Interface): DirectX9, DirectX11, OpenGL и Vulkan (не путать с Vulcan, многие пишут его название неправильно). В этой статье мы разберем, в каких случаях какой набор компонентов окажется полезней именно для вашего компьютера и операционной системы, а также подробнее расскажем, что это такое.
Многих опытных пользователей Dota 2 пугает непонятная аббревиатура, и они обходят эту видеонастройку стороной. И очень зря! Чтобы подробнее понять, что это такое, — представьте себе большую стену (ваш компьютер, на котором «держится» Дота) и красивые обои (итоговое изображение, который видит гость в комнате). API в этом случае будет выступать в роли клея, связывающего стену и обои между собой.
В общем, это набор компонентов, которые помогает программному обеспечению решать определенный спектр задач, связанный, в основном, с мультимедийными вставками в играх. В случае с Dota 2, он отвечает за рендеринг графики, управление звуковыми потоками, а также считывание и обработку данных с устройств ввода — клавиатуры, мыши и так далее.
Далее мы подробно рассмотрим все API, доступные для использования в Dota 2. Стоит заметить, что использование альтернативного движка не даст вам ощутимого прироста FPS (максимум 5-10 кадров в секунду), значительно более красивой картинки или возможность самонаведения мышкой на противника при использовании Meat Hook. Взаимодействие API и Dota 2 основано на конфигурации вашей видеокарты и операционной системы, так что дополнительно советуем попробовать все четыре варианта в лобби с ботами и сравнить, какой
API подарит вам наибольший FPS и наилучшее изображение.
- 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.
Большинство из нас, геймеров, слышали о Microsoft DirectX. Однако, немногие из нас знакомы с его утилитами и как они влияют на видеоигры. В настоящее время, фактически, приобретя конкурента в форме Vulkan, вещи относящиеся к двум API, как правило, становятся еще более сложными. В этом руководстве мы увидим, что такое API, Vulkan и DirectX, и мы покажим метод, с помощью которого они влияют на наши игры.
Шейдеры
Шейдеры — это небольшие программы, которые запускаются на наших видеокартах. Они отвечают за определенные функции различных объектов в 3D-среде. Тени, туман и освещение в игре являются результатом шейдера.
Vulkan использует промежуточное представление для шейдеров под названием SPIR-V. Его двоичная форма похожа на байт-код DirectX DX.
SPIR-V версия 1.3 отличается SPIR-V opt, инструментом для уменьшения размера шейдеров. Максимальный размер достигает + 40% от байт-кода DX соответствующего представления для DirectX.
Кроме того, некоторые структуры в HLSL (высокоуровневый шейдерный язык), которые были разработаны Microsoft, не поддерживались непосредственно некоторыми видеокартами.
HLSL широко используется DirectX с версии 9. Он использовался в качестве дополнения к существующему языку ассемблера шейдеров. С новой версией SPIR-V Vulkan также поддерживает ее.
Таким образом, разработчики смогут использовать существующий код для своих шейдеров, и им не нужно будет изобретать колесо. Следовательно, игры будут легко перенесены с одной платформы на другую.
Вулкан AMD
В 2015 году Kronos Group разработала свой собственный API. Vulkan — это низкоуровневый API, используемый для разработки графически требующих приложений. Его первая стабильная версия дебютировала в августе 2016 года.
Следует четко указать, что «низкий уровень» не относится к качеству. Вместо этого этот термин описывает способность Вулкана работать на аппаратном уровне.
Хронос окружает себя одними из самых больших имен в ИТ-индустрии. Некоторые из них — Google, Intel, Sony, Nvidia и AMD. Последние два дали API, свести к минимуму время разработки Vulkan.
OpenGL — популярный API среди графических дизайнеров. Фактически он был разработан Хроносом, и он также включает в себя многие характеристики Вулкана. Однако его прием игровыми дизайнерами был непредвиденным.
Одним из самых сильных активов Vulkan является тот факт, что он с открытым исходным кодом. Кроме того, совместимость Vulkan с несколькими платформами вместе с общей производительностью — это два дополнительных актива, которые делают его более прибыльным, чем DirectX.
Здесь вы можете найти полный список с именами, которые содержат Khronos. Мантия обеспечила основную базу, на которой был разработан Вулкан. Наконец Vulkan в настоящее время находится в версии 1.1.
Предварительная информация о API
Прежде чем мы начнем говорить о DirectX и Vulkan, нам нужно сначала понять, что такое API. Аббревиатура означает «Интерфейс прикладного программирования».
Интерфейс предназначен для обеспечения связи между двумя объектами. Одним из примеров является графический интерфейс Windows, который играет роль посредника между операционной системой и пользователем.
Интерфейс обеспечивает удобную среду. С помощью этой среды мы используем операционную систему, не зная, как ее функции реализованы в фоновом режиме. Интерфейс прикладного программирования (API) заполняет роль посредника. Однако на этот раз пользователь может быть ПК или другой программой и не обязательно человеком. API-интерфейсы гораздо более распространены, чем можно было бы подумать, предлагая программистам необходимые инструменты для создания своего программного обеспечения.
Ориентировочный пример, в котором мы используем API, — это когда мы автоматически регистрируемся в новом социальном средстве или онлайн-сервисе, используя наши ранее существующие учетные записи из Facebook или Google (вместо создания новой учетной записи вручную).
В таких случаях веб-сайт использует API, через который он связывается с конкретной услугой (например, Facebook или Twitter), чтобы собирать нашу личную информацию (имя (имена), адрес электронной почты, контактные номера и т. д.) Для создания нашего нового аккаунта.
Тем не менее существует множество других применений API для всех видов взаимодействия между приложениями и компьютерами, такими как системы баз данных, операционные системы и библиотеки программного обеспечения.
В таких случаях использование API-интерфейсов применимо к нашему компьютерному оборудованию и в частности, к нашей графической карте (видеокартам).
DirectX и Vulkan фактически улучшают связь между приложением (игрой) и графическим процессором, чтобы повысить производительность графики.
Как они влияют на игры
До этого момента мы рассмотрели некоторые основы, касающиеся API, Microsoft и Khronos. Но как они влияют на игры?
Эти два API значительно улучшили производительность. До сих пор DirectX, по-видимому, обеспечивал лучшую производительность, чем Vulcan, что на самом деле он не так далеко позади.
Microsoft утверждает, что DirectX 12 снижает потребление на 50% при использовании DirectX 11. С другой стороны, Vulkan также демонстрирует лучшую гибкость, чем его предшественник. Говоря о предшественниках, DirectX 11 и OpenGL были созданы с учетом одноядерных процессоров; что означает, что они не были точно настроены с использованием новых, многоядерных процессоров.
В результате одно ядро управляет большинством различных процессов, в то время как остальные работают с низкой скоростью, а иногда и вовсе отключены. Оба API (DirectX 12 и Vulkan) поддерживают процессоры с несколькими ядрами и потоками, чтобы максимально эффективно использовать свои возможности. Более того, они передают большую часть требуемых задач от процессора к графической карте (видеокартам), предлагая более сбалансированный опыт.
Взаимодействие между этими двумя элементами может существенно повлиять на будущие сборки ПК. Графические карты в значительной степени важнее, чем процессоры, когда дело доходит до игр. С дальнейшим развитием игровых API маловероятно, что процессоры могут стать еще менее важными, когда дело доходит до него. Таким образом, даже с простым процессором мы можем получить хорошую производительность без каких-либо узких мест.
Как вы относитесь к двум API?
Вы уже узнали всю информацию, которую мы предоставили на Vulkan и DirectX? Со временем их соперничество усиливается, какой из двух API вы считаете более полезным для развития игры? Мы с нетерпением ждем ваших комментариев.
8 июн. 2016 в 15:23
Those GPU's are overkill for Dota 2, the intention of test is to see which GPU brand has better driver overhead performance for Dota 2 and give some guide to community make their choice.
Tests realized under Windows 10 pro 64-bit. CPU used was a i7 3.6ghz Haswell with only 2 cores and 4 threads enabled to simulate a i3.
Coming soon: DX9 test
8 сен. 2016 в 3:34
8 сен. 2016 в 3:46
AMD GPU + Vulkan is the more cost effective choice when playing low spec Source games like DOTA 2, compared to Nvidia GPU + DirectX
But entry-level gaming GPUs from both Nvidia or AMD will run Dota 2 fine.
8 сен. 2016 в 12:21
8 сен. 2016 в 12:26
9 сен. 2016 в 6:58
The test was not done to say you need these powerfull GPU's for the game. The point was to see which brand has better driver working at each API with this game. That's the point to downgrade CPU to 2 cores and resolution to 720p with overpowered GPU's, is the way to find which brand driver can do more FPS with less CPU resources(lower overhead).
AMD OpenGL driver is very slow. Vulkan only works fine for AMD because it were created for GCN architeture.
Only API which showed a big difference in performance there was OpenGL which probably dont matter for Windows users, other API's showed small differences.
That mean than with OpenGL for AMD you need to buy faster/expensive CPU's to get better FPS while with a NVIDIA GPU you can save money with CPU.
For the guy whining about GTX770 against AMD card, 390 is about 50% faster than GTX770 for triple AAA GPU-bound games which is not the case of Dota 2. Dota 2 cant even squeeze all power from GTX770 at 720p, if you pay attention for information of GPU and clock usage of GTX770 while playing you gonna see it was using 30% of the GPU. Yet R9 390 loose to GTX770 at 720p with a 2 core CPU in OpenGL API and in others it was almost same since CPU limited both cards.
17 июн. 2018 в 14:52
Dan Ginsburg from Valve said there is no reason to use DX12 because there is Vulkan and the true story is Dota2 works best on DX9.
Really I want to play Dota2 on Linux but it does not work as good as on DX9. Using Vulkan to run Dota2 on Linux did not stop to stutter and this time it is not any silly bug. This time it looks like problems while loading the amount of data without hiccups. You can use OpenGL on Linux but it is not as smooth as DX9.
So what I have done? I build the fastest rig that is possible and installed Windows 10 and I hate Windows!
Well lets see if Lord Gaben is able to reach the future of gaming in his own lifetime?!
It is hard to find actual information on this topic:
07 Jul 2016 -dx11 has been made the default launch option for Dota 2 on 64-bit systems. (DirectX 11 default have been reverted. Therefore, you must add the -dx11 command to run with Directx 11.)
Every source I found is DirectX 9 - Default for Dota 2 client
The -console did not display any information about that anymore.
Yeah I mean we had DX9 on Windows 98. I am sure nobody is proud on using grannies api to make stuff happening. ;-)
18 июн. 2018 в 5:13
Ok it look like Vulkan (RADV) situation getting better on Kernel 4.17.2 with Mesa 18.1.1 AMDGPU on RX480. Maybe 2018 is really the year when the future of gaming becomes true!
(Заблокирован) 18 июн. 2018 в 5:30
dx 11 works,(shaders enabled)dx9 is broken(T75. it should be T78 Flip.),vulkan is buggy on mac,open gl is flipping useless.
18 июн. 2018 в 6:03
dx 11 works,(shaders enabled)dx9 is broken(T75. it should be T78 Flip.),vulkan is buggy on mac,open gl is flipping useless.
And why is DX9 enabled by default even on Windows 10 .. and what should T75 and T78 flip mean. Prove your insides on this topic!
If Vulkan is buggy on Apple systems then MoltenVK need some tweaks.
(Заблокирован) 18 июн. 2018 в 6:43
t78 is a complicated equation,think of it as an elastic band and how far it can stretch before it breaks,currently that line will stop at button 75,when infact its final point is 78.therefore with the dx11 update,dx9 is now lagging behind which equates to gamelag.its fine if everyone is using one or the other but not both at the same time.this will not be fixed until jan 2019,they should have dropped xp machines from the code.take the lowest xp machine and sync it with the highest dx11 machine,when connected to dotas servers the difference is 32 fps.the server throttles the dx11 machine to allow the xp machine to catch up,so when your in team fights the drop off can be as bad as 32fps.
18 июн. 2018 в 8:26
I did not found any information on this elastic band calculation you are writing about but well I tested Dota2 Vulkan on Windows 10 with GTX 1080 TI OC and it also works very well.
18 июн. 2018 в 8:58
dx 11 works,(shaders enabled)dx9 is broken(T75. it should be T78 Flip.),vulkan is buggy on mac,open gl is flipping useless.
And why is DX9 enabled by default even on Windows 10 .. and what should T75 and T78 flip mean. Prove your insides on this topic!
If Vulkan is buggy on Apple systems then MoltenVK need some tweaks. Apple systems always want to use AMD cards - Nvidia made OPEN API _ Vulkan. it's best there :D
18 июн. 2018 в 8:59
t78 is a complicated equation,think of it as an elastic band and how far it can stretch before it breaks,currently that line will stop at button 75,when infact its final point is 78.therefore with the dx11 update,dx9 is now lagging behind which equates to gamelag.its fine if everyone is using one or the other but not both at the same time.this will not be fixed until jan 2019,they should have dropped xp machines from the code.take the lowest xp machine and sync it with the highest dx11 machine,when connected to dotas servers the difference is 32 fps.the server throttles the dx11 machine to allow the xp machine to catch up,so when your in team fights the drop off can be as bad as 32fps.
(Заблокирован) 18 июн. 2018 в 9:27
I did not found any information on this elastic band calculation you are writing about but well I tested Dota2 Vulkan on Windows 10 with GTX 1080 TI OC and it also works very well.
why would you use vulkan on a direct x 12 gpu.when there is dx11 support.vulkan is an amd offspring.
(Заблокирован) 18 июн. 2018 в 9:32
t78 is a complicated equation,think of it as an elastic band and how far it can stretch before it breaks,currently that line will stop at button 75,when infact its final point is 78.therefore with the dx11 update,dx9 is now lagging behind which equates to gamelag.its fine if everyone is using one or the other but not both at the same time.this will not be fixed until jan 2019,they should have dropped xp machines from the code.take the lowest xp machine and sync it with the highest dx11 machine,when connected to dotas servers the difference is 32 fps.the server throttles the dx11 machine to allow the xp machine to catch up,so when your in team fights the drop off can be as bad as 32fps.
XP doesn't have DX10 or 11 access.
i never said it did.i said dx9 machines need an update if there going to be playing alongside dx 11 machines after the lastest update.dx 11 machines can be 32fps ahead of xp users at all times,dota uses 30 tick servers.you do the maths.with compute shaders enabled dx 11 has a 70ms advantage over dx9,i can press 3 buttons in 70ms.
18 июн. 2018 в 16:40
I created some videos with overlay statistics from MSI Afterburner and my Vulkan observations on Linux with Polaris hardware is pretty assignable to what I can see on Windows 10 with NVidia hardware.
The default Api on Windows 10 is still D3D9E.
On Vulkan Dota 2 is able to create smoother movements when changes are minor but even with Vulkan 1.1 on GTX 1080 TI OC Dota2 will get problems to read the amount of data in some situations which results in visual hiccups.
I will do some compositing and present my Video results later on this thread.
18 июн. 2018 в 17:26
I created some videos with overlay statistics from MSI Afterburner and my Vulkan observations on Linux with Polaris hardware is pretty assignable to what I can see on Windows 10 with NVidia hardware.
The default Api on Windows 10 is still D3D9E.
On Vulkan Dota 2 is able to create smoother movements when changes are minor but even with Vulkan 1.1 on GTX 1080 TI OC Dota2 will get problems to read the amount of data in some situations which results in visual hiccups.
I will do some compositing and present my Video results later on this thread.
You need to watch a few games with the vulkan engine before playing your own games. Your dota client will bomb at least once when running vulkan for the first time as well. So, have fun :) Vulkan does look better.
19 июн. 2018 в 6:04
You need to watch a few games with the vulkan engine before playing your own games. Your dota client will bomb at least once when running vulkan for the first time as well. So, have fun :) Vulkan does look better.
Yep I already thought maybe Vulkan is smoother if the shader cache is filled up with every piece of this game. What you can clearly observe from the following video is that Vulkan is able to save energy while creating the same or even better results than DX9:
19 июн. 2018 в 7:48
You need to watch a few games with the vulkan engine before playing your own games. Your dota client will bomb at least once when running vulkan for the first time as well. So, have fun :) Vulkan does look better.
Yep I already thought maybe Vulkan is smoother if the shader cache is filled up with every piece of this game. What you can clearly observe from the following video is that Vulkan is able to save energy while creating the same or even better results than DX9:
Поддержка нескольких графических карт
Здесь Khronos Group столкнулась со значительным разрывом между двумя API-интерфейсами с поддержкой использования нескольких графических карт (использование явного многоканального GPU). Мы можем использовать разные карты, если их чипы имеют аналогичную архитектуру и используют один и тот же драйвер. Это позволит различным картам обрабатывать другую часть экрана.
Microsoft здесь еще на один шаг впереди, позволяя использовать несколько графических карт даже у другого производителя, что часто бывает, поскольку большинство систем имеют независимый и интегрированный графический процессор. Важно подчеркнуть тот факт, что эти реализации отличаются от возможностей SLI и Crossfire от Nvidia и AMD, которые реализованы с помощью драйверов, и в частности, в случае SLI требуют идентичные графические карты.
Совместимость с несколькими платформами
Что касается платформ, большое преимущество 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 поддерживает только последние две.
Развитие и будущее
Было бы упущением, не говоря уже о ходе разработки двух 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 несомненно будут играть важную роль.
С выпуском Windows 95 и модели защищенной памяти разработчики не имели такого же доступа к ресурсам, как в MS-DOS. DirectX впервые появился в виде набора конкретных API для разработки мультимедийных приложений, таких как игры.
Термин «DirectX» начинается со слова «Direct», ссылаясь на прямой доступ к ресурсам системы. Некоторые примеры включают Direct3D для графики и DirectSound для аудио. Часть «Х» относится к API в общей коллекции; таким образом объединив все API-интерфейсы под названием DirectX. Вышеупомянутое название также вдохновило название популярной видеоигр компании Xbox.
Вышеприведенное иллюстрирует тесную связь между DirectX и консолью Microsoft. Его последняя версия, DirectX 12, имеет большие улучшения. Тем не менее он поддерживается только Windows 10 и новейшей игровой консолью компании Xbox One.
Direct3D является жемчужиной DirectX и полезен для создания 3D-объектов на нашем экране. Он также позволяет просматривать игры в полноэкранном режиме, а также использовать аппаратные ускорители. Последний метод позволяет реализовать некоторые функции более эффективно, чем они работают в программном обеспечении. Это может быть достигнуто за счет более эффективного использования аппаратного обеспечения нашего компьютера. В этом случае это будет наша видеокарта.
Виртуальная реальность
Необходимо сказать, что Vulkan является примером больших улучшений в области виртуальной реальности. Приложение VR должно отображать определенную 3D-сцену с двух разных точек зрения — по одному для каждого глаза.
До этого момента вышесказанное было возможно, отправив все необходимые команды на нашу графическую карту, чтобы сформировать трехмерное изображение для одной перспективы. Подход такой же для перспективы нашего второго глаза.
Версия 1.1 Vulkan предлагает набор команд рендеринга для формирования нескольких, немного разных выходов (изображений), которые в конечном итоге дают лучшую производительность в приложениях VR.
Читайте также: