▷ 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

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

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

Компания утверждает, что RTX Broadcast Engine использует ядра Tensor, имеющиеся в ее графических процессорах RTX.
Red Dead Redemption 2 – DX12 vs. Vulkan
Сравнение графики в RDR2 для PC. В качестве API выступают DX12 и убийца OpenGL — Vulkan. Второй известен своим перегруженным API и очень усложненным кодированием.
Ты синьеришь графику в ААА-студии?
Господи, не понимаешь, так не пиши.
Под API всегда и везде подразумевается прослойка, которая предоставляется на сторону клиента. Я не знаю, что ты там себе насочинял. Может ты школьник с аниме на аве.
Комментарий удален модератором
Отлично, я сейчас кидаю фото даты в паспорте на фоне этого коммента, и если я по возрасту не школьник, ты мне покупаешь рдр2, идёт?
Вулкан не перегруженный, он мультиплатформенный + опенсорсный
Тогда давай свои коммиты в драйвер. Я подожду. Пока я видел только 1500 строк для минимального time to triangle.
А что ещё кроме этого ты видел?
Извини, я не понимаю чем тебе помогут "мои" коммиты к драйверу, когда ты говоришо о отрисовке геометрии для какой то рандомной игры в коде на плюсах.
Посмотрел видео: вулкан то отстаёт на 1 фпс, то опережает на 1 фпс. Что я должен был увидеть?
Ты должен был увидеть summary, итоги бенчмарков. По ним видно, что на низких настройках графена минимальный и максимальный фпс вулкана намного выше, чем на дх12. А вот на высоких настройках вулкан наоборот сдает, и там максимальный фпс намного ниже, чем у дх12. Очевидно, можно сделать вывод, что вулкан лучше для низких настроек и слабого железа, а дх12 — наоборот, выбор тех, кто побогаче и выкручивает графон на более боярском железе. Наверное. Может, это нихуя и не значит, я понятия не имею, просто видос посмотрел
Но ведь средний у вулкана на максималках всё равно выше.
Тут отличие на уровне погрешности, ни о чём не говорит.
Я согласен, но я просто обратил внимание на то что "Вулкан для минималок" и обратное ему — это ошибочное утверждение.
Эти API будут вести себя по разному на разном железе и на данном примере они ведут себя почти одинаково.
Графика на вырост и как получить стабильные 60 FPS — Главное из анализа ПК-версии Red Dead Redemption 2 от Digital Foundry

Выход Red Dead Redemption 2 на PC стал одним из самых главных событий осени, и коллектив Digital Foundry выпустил сразу два ролика с подробным разбором настроек и оптимизации игры. Вместе они идут 50 минут, но с нашим вы можете сэкономить время и сразу же узнать все самое важное.

- Эксперты не согласны с критикой пользователей по поводу того, что RDR2 плохо оптимизирована и тормозит даже на мощных компьютерах вне зависимости от настроек.
- Как и в случае с ПК-версией Grand Theft Auto 5, RDR2 для персональных компьютеров сделана «на вырост», то есть с учетом будущих поколений игровых комплектующих. В основном видеокарт.
- Главное преимущество PC-версии заключается в широких возможностях масштабирования под разное «железо». При этом высшая граница на текущий момент едва ли достижима даже при использовании самых лучших видеокарт.
- Вместо того, чтобы предоставить владельцам ПК графику, аналогичную консолям, Rockstar Games предпочли выпустить максимально красивую и гибкую версию игры. К сожалению, многие не поняли этой идеи.
- Тем не менее, эксперты Digital Foundry не отрицают, что релизная версия игры действительно страдала от вылетов и проблем с лаунчером от Rockstar. Однако первый патч устранил большую часть из них.
![]()
Даже i7-8700K и GTX 2080 Ti не позволяют играть в RDR2 на ультра-настройках в 60 FPS, и это в 1800p, то есть о 4K даже и речи не идет Даже i7-8700K и GTX 2080 Ti не позволяют играть в RDR2 на ультра-настройках в 60 FPS, и это в 1800p, то есть о 4K даже и речи не идет
- Многие вылеты связаны с нехваткой памяти — причем как видеопамяти, так и оперативной памяти. Увеличение файл подкачки позволяет избежать вылетов, но снижает производительность.
- Многие настройки на «высоких» не рассчитаны на бюджетный сегмент. «Ультра» кладут на лопатки даже видеокарты из премиум-сегмента.
- Графика на Xbox One X приблизительно эквивалентна «среднему» пресету ПК-версии.
- Для того, чтобы получить стабильные 60 кадров в секунду на протяжении 99% времени в игре, сгодится даже не самая новая видеокарта RX 580 от AMD, однако Red Dead Redemption 2 довольно требовательна к процессору.
- Игра эффективно использует 8 потоков процессора, и только при их наличии способна выдать картинку лучше, чем на консолях.
![]()
Если вы считаете, что RDR2 плохо оптимизирована, то взгляните, как GTX 970 выдает стабильные 30 кадров в секунду в самой ресурсоемкой локации игры Если вы считаете, что RDR2 плохо оптимизирована, то взгляните, как GTX 970 выдает стабильные 30 кадров в секунду в самой ресурсоемкой локации игры
- В игру встроен очень качественный тест производительности, который охватывает все основные локации в игре и позволяет довольно точно оценить производительность на тех или иных настройках.
- Одна из главных сложностей в настройке RDR 2 заключается в том, что в ней нет привычных геймерам базовых пресетов графики. Из-за этого многие люди сталкиваются с трудностями, так как в игре более двух десятков графических настроек.
- Игра поддерживает два графических API — Vulkan и DirectX, разница в работе которых составляет всего несколько процентов.
- Вне зависимости от производителя видеокарты (AMD или Nvidia), графическое API Vulkan показало лучший фреймрейт.
- При использовании DirectX 12 на некоторых видеокартах в игре наблюдаются частые фризы. Это еще одна причина использовать Vulkan.
![]()
Разницы между DirectX 12 и Vulkan почти нет, но вторая опция все же чуть-чуть производительней Разницы между DirectX 12 и Vulkan почти нет, но вторая опция все же чуть-чуть производительней
- Для того, чтобы комфортно играть в 30 FPS с графикой, которая эквивалентна картинке на Xbox One X, достаточно даже старенькой GTX 970. Однако процессор все равно понадобится довольно мощный.
- Из всех консольных версий Red Dead Redemption 2 самая лучшая и стабильная на Xbox One X, в то время как на PS4 Pro часто наблюдаются падения до 28 FPS.
- Некоторые эффекты в консольных версиях игры хуже, чем самые низкие настройки этих же эффектов в PC-версии.
- RX 580 от AMD на 8 Гб выдает на 10-20% больше кадров в секунду по сравнению с ценовым аналогом GTX 1060 на 6 Гб от Nvidia. Чтобы получить те же результаты на видеокарте от «зеленых», требуется как минимум GXT 1660.
Как оптимизировать Red Dead Redemption 2
Как уже было отмечено выше, из всех консольных версий игры наилучшую производительность показала та, что доступна на Xbox One X. И именно ее команда Digital Foundry взяла за основу при тестировании игры. Цель второго видео заключалась в том, чтобы протестировать каждую из графических опций ПК-версии и соотнести ее с тем, что можно увидеть на Xbox One X.
В ходе тестирования выяснилось, что многие опции, доступные в Red Dead Redemption 2 на PC, просто-напросто отключены на Xbox One X: сглаживание FXAA и MSAA, солнечные лучи высокого разрешения, полноэкранное SSAO, длинные тени и повышение четкости сглаживания TAA. При этом на «Ультра» работают лишь две — качество текстур и детализация геометрии.
А это полный перечень оптимизированных графических настроек от Digital Foundry, которые очень близки к картинке на Xbox One X:
- Режим экрана: Полноэкранный;
- Вертикальная синхронизация: Вкл.;
- Тройная буферизация: Вкл.
- Качество текстур: Ультра;
- Анизотропная фильтрация: X4;
- Качество освещения: Средне;
- Качество глобального освещения: Средне;
- Качество теней: Высоко;
- Качество далеких теней: Низко;
- Затенение SSAO: Средне;
- Качество отражений: Низко;
- Качество зеркал: Высоко;
- Качество частиц: Средне;
- Качество тесселяции: Средне;
- Сглаживание TAA: Средне;
- Сглаживание FXAA: Откл.;
- Сглаживание MSAA: Откл.
- Дополнительные настройки: Разблокированы;
- Графический API: Vulkan;
- Разрешение ближних объемных эффектов: Низко;
- Разрешение дальних объемных эффектов: Низко;
- Качество освещения объемных эффектов: Средне;
- Высокая детализация лучей света: Откл.;
- Качество освещения частиц: Средне;
- Мягкие тени: Высоко;
- Тени травы: Низко;
- Длинные тени: Откл.;
- Затенение SSAO (полноэкранный режим): Откл.;
- Качество преломления воды: Высоко;
- Качество отражения: Низко;
- Качество физики воды: 0;
- Масштабирование разрешения: Откл.;
- Резкость сглаживания TAA: 0;
- Размытие при движении: Вкл.;
- Сглаживание MSAA для отражений: Откл;
- Уровень детализации геометрии: 5 (максимум);
- Детализация травы: 1;
- Качество деревьев: Низко;
- Качество рельефных текстур: Средне;
- Качество декалей: Средне;
- Качество меха: Средне.
Для вашего удобства мы также сделали скриншоты меню настроек с этим пресетом:
Как улучшить графику RDR2 без потери FPS
- Анизотропная фильтрация: X16;
- Качество физики воды: 3.
![]()
И еще одна деталь: при игре в разрешении FullHD (1920×1080) или меньшего использование настроек из приведенного выше пресета заметно «мылит» картинку. Судя по всему, Rockstar затачивали рендер под 4K-разрешение. Однако про людей, которые до сих пор предпочитают разрешение 1920×1080, они тоже не забыли, добавив опцию «Резкость сглаживания TAA».
Сравнение быстродействия видеокарт в DirectX 11, DirectX 12 и Vulkan, часть 1
Интерфейсы прикладного программирования (API) долгое время оставались самым консервативным компонентом 3D-графики. Стандарт Direct3D 11 был представлен еще в 2008 году, и до сих пор основная масса новых игр на ПК использует его в качестве основного и в подавляющем большинстве случаев единственного API. Этот островок стабильности в чрезвычайно быстро развивающейся индустрии, какой являются компьютерные игры, образовался отнюдь не из-за традиционализма разработчиков ПО или производителей железа. Напротив, единый стандарт Microsoft, который вытеснил из большой игры некогда могущественного соперника (OpenGL), дал возможность всем участникам рынка сконцентрировать усилия на своих прямых задачах без необходимости оптимизировать драйверы, архитектуру GPU и игровые движки под несколько API одновременно (как в былинные времена под Glide и популярный OpenGL).
Недавние потрясения в этой сфере, связанные с названиями DirectX 12 и Vulkan, вызваны, по сути, усилиями единственной компании — AMD, которая в 2013 году выпустила собственный интерфейс программирования Mantle в сотрудничестве с DICE, автором игровой серии Battlefield. В данный момент работа над Mantle прекращена, но оба универсальных API нового поколения заимствовали идеи AMD и преследуют ту же цель — более эффективно использовать вычислительные ресурсы, которые имеются в распоряжении современных GPU.
Несмотря на столь привлекательную идею Direct3D 12 (здесь и далее мы будем говорить именно о графической библиотеке в составе DirectX) и Vulkan, темп внедрения новых API оставляет желать лучшего даже по сравнению с Direct3D 11, которому потребовался чрезвычайно долгий срок, чтобы целиком переманить разработчиков с Direct3D 9. И все же создатели значительного числа громких и высокобюджетных проектов последних двух лет внедрили поддержку Direct3D 12 или Vulkan по крайней мере в виде экспериментальной или побочной функции. В конце концов, методика тестирования GPU на 3DNews уже по большей части состоит из игр с поддержкой этих API. Подходящее время для того, чтобы провести исследование и сделать промежуточные выводы о том, насколько в действительности полезны DirectX 12 и Vulkan для производительности современного железа.
⇡#Новые функции Direct3D 12 и Vulkan
О принципах, лежащих в основе Direct3D 12, и его отличиях от предыдущей версии API Microsoft, мы писали в 2014 году, когда стандарт находился на ранней стадии разработки и многие из его особенностей еще не были финализированы. Главное, что изменилось в облике Direct3D 12 с тех пор, — это набор дополнительных функций рендеринга, открытых для графических процессоров с теми или иными аппаратными возможностями.
Оставим за кадром строение конвейера рендеринга и некоторые особенности программирования под Direct3D 12, которые описаны в нашей давнишней статье. Есть лишь несколько отличительных черт нового API, которые должны волновать широкую публику. Начнем обзор с универсально значимых пунктов и закончим той самой функцией Direct3D 12 (и Vulkan), которая породила много споров, непонимания и завышенных ожиданий на страницах публикаций и форумов, — асинхронными вычислениями.
Самой привлекательной чертой Direct3D 12 и Vulkan является быстрая подготовка т. н. draw call. В то время, когда AMD стремилась популяризировать Mantle, множество людей, ранее далеких от программирования компьютерной графики, были вынуждены познакомиться с этим термином. В 3D-рендеринге так называется команда, требующая создать единственную полигональную сетку (mesh). В играх каждая модель персонажа, юнита и практически любого независимого объекта представляет собой mesh. Следовательно, чем больше таких объектов присутствует на экране, тем больше draw calls должен отдать центральный процессор. Короткая подготовка draw call в Direct3D 12 при прочих равных условиях снижает нагрузку на CPU, сокращает время бездействия графического процессора и в результате дает возможность выводить больше объектов на экран. Помогает и распределение нагрузки в многоядерной системе, которое в Direct3D 12 происходит более эффективно.

Многоядерные CPU в Direct3D 12
В целом прослойка API в стеке ПО, управляющем графическим процессором, стала тоньше по сравнению с Direct3D 11 за счет того, что многие функции, которые в Direct3D 11 выполняются в той или иной степени автоматически (такие как управление памятью, синхронизация между очередями инструкций, поддержание параллелизма нагрузки на GPU и пр.), теперь полностью принадлежат игровому движку. С одной стороны, открываются широкие возможности для оптимизации быстродействия, но с другой — программист должен иметь в виду особенности архитектуры различных GPU, чтобы избежать падения производительности.
Direct3D 12 принес массу функций рендеринга, описанных в рамках feature levels 12_0 и 12_1. Но в отличие от предыдущих итераций Direct3D, 12-я версия предназначена не для того, чтобы явить миру нечто ранее невиданное (как это было с шейдерами в Direct3D 8 и тесселяцией полигонов в Direct3D 11). Действительно, некоторые возможности feature levels 12_0 и 12_1 повышают качество определенных эффектов (к примеру, связанных с прозрачными текстурами), а иные используются в перспективных алгоритмах рендеринга (см. описание VXGI в нашем обзоре GeForce GTX 980). И все же большинство пунктов feature levels 12_0 и 12_1 служит для того, чтобы графический процессор выполнял быстрее ряд уже известных задач, которые в противном случае создают большую нагрузку на пропускную способность блоков наложения текстур, шину памяти и пр.
В принципе, дополнительная вычислительная мощность, которую высвобождает новая версия API, сама по себе позволяет обогатить игровую графику более детализированными текстурами и объектами. Более того, в некоторых играх под Direct3D 12 и Vulkan геймплей тесно связан с выбором API (как в Ashes of the Singularity, которая за счет множества юнитов на экране создает огромное количество draw calls). Но если поставить вопрос в формулировке «Станет ли игра выглядеть лучше, если включить в ней Direct3D 12 или Vulkan?», то на данный момент ответ будет в подавляющем большинстве случаев отрицательным. Масштаб внедрения новых API все еще слишком мал, а железо на руках пользователей слишком разнообразно, чтобы разработчики игр открыли для видеокарт, хорошо работающих под Ditect3D 12 и Vulkan, эксклюзивный доступ к заметной части визуального контента.

Поддержка функций рендеринга Direct3D 12 в GPU различной архитектуры (Wikipedia)
По минимальным требованиям стандарта в категорию GPU, совместимых с feature level 12_1, проходят только архитектуры Vega, Maxwell и Pascal (а также интегрированная графика Intel, начиная с процессоров Skylake), а наиболее полной поддержкой обладает Vega и Intel HD Graphics. Но и другие архитектуры AMD или NVIDIA на том или ином уровне поддерживают ряд функций из feature level 12_0 и 12_1, в том числе одни из самых полезных: Conservative Rasterization, Volume Tiled Resources и Rasterizer Ordered Views.
При этом от графического процессора не требуется совместимость с feature level 12_0 и 12_1 для работы под Direct3D 12. В действительности GPU с возможностями на уровне feature level 11_0 и 11_1, созданные в ту пору, когда Direct3D 12 не было и в помине (архитектуры Femi и Kepler от NVIDIA и GCN первого поколения от AMD), могут воспользоваться всеми преимуществами runtime-библиотеки Direct3D 12 и, потенциально, получить выигрыш в быстродействии. У AMD и NVIDIA поддержка Direct3D 12 в драйвере начинается с серий Radeon HD 7000 и GeForce GTX 400 соответственно.
⇡#Асинхронные вычисления в 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 описывает одновременное исполнение нескольких очередей вычислительных инструкций безотносительно к структуре зависимостей между ними.

«Асинхронные вычисления» не всегда асинхронны
⇡#Multi-Engine на GPU различной архитектуры: AMD GCN
Рассмотрим животрепещущий вопрос практической реализации Multi-Engine. Популярное мнение гласит, что а) графические процессоры AMD выигрывают от применения Multi-Engine, в то время как чипы NVIDIA (включая Pascal) не могут столь же эффективно использовать его в силу архитектурных ограничений, б) среди архитектур NVIDIA только Pascal поддерживает Multi-Engine. Как нам предстоит убедиться, оба утверждения в целом верны, но полная картина далеко не столь однозначна.
Самый простой для анализа случай — это архитектура GCN (Graphics Core Next), на которой основаны все графические процессоры AMD последних лет, начиная с Tahiti (Radeon HD 7950/7970) и заканчивая Vega 10 (Radeon RX Vega 56/64). Как достоинства, так и недостатки чипов AMD в действительности располагают к применению Multi-Engine. GCN в своей основе ориентирована на вычисления GP-GPU в не меньшей степени, чем на рендеринг графики, и устроена таким образом, что добрая часть задачи насыщения GPU параллелизмом решается на уровне «железа», а не драйвера или приложения. Даже самые ранние чипы GCN обеспечивают одновременное исполнение нескольких очередей «вычислительных» команд одновременно с очередью рендеринга графики за счет командных процессоров двух типов — GCP (Graphics Command Processor) и ACE (Advanced Compute Engine). А начиная с третьего поколения архитектуры (чипы Tonga и Fiji), GCN также включает раздельные планировщики для шейдерных и «вычислительных» инструкций. В результате процессор может динамически передавать вычислительные ресурсы отдельных CU (Compute Unit — блок, содержащий 64 ALU) между несколькими очередями инструкций.
Кроме того, GCN допускает сравнительно безболезненную смену контекста CU. Смена контекста в данном случае означает, что CU, находящийся в ожидании данных от длительной операции, которой занимаются другие блоки GPU, получает от командного процессора другую работу, сохранив содержимое своих регистров в каком-либо внешнем хранилище. В GCN этим хранилищем является высокоскоростной интегрированный кеш, и процессор может пользоваться сменой контекста весьма свободно.

Таким образом, управляющая логика GCN способна эффективно загружать исполнительные блоки GPU за счет инструкций из отдельных очередей, заполняя даже сравнительно небольшие «пузыри» конвейера. Итоговый прирост быстродействия зависит от того, насколько часто «пузыри» возникают в режиме одной очереди. Но ведь правда, графические процессоры AMD существенно недогружены в большинстве игр по сравнению с чипами NVIDIA, и с каждым новым поколением ситуация усугубляется. Достаточно взглянуть на Radeon RX Vega 64, которая в задачах GP-GPU по меньшей мере не уступает GeForce GTX 1080 Ti, но в играх едва справляется с GeForce GTX 1080. GCN — «широкая» архитектура, требующая высокого параллелизма для полной нагрузки. Поэтому да, возможности Multi-Engine, которые открывают современные API, могут стать большим подспорьем для AMD — с большой оговоркой о том, что разработчики игр начнут их активно использовать.
Multi-Engine на GPU различной архитектуры: NVIDIA Kepler, Maxwell и Pascal
Ситуация с поддержкой Multi-Engine в графических процессорах NVIDIA далеко не столь прозрачна, как в случае с AMD. Материалы NVIDIA, находящиеся в широком доступе, не дают ясного ответа на все вопросы. С полной уверенностью можно говорить лишь о том, каким именно из GPU архитектур Kepler, Maxwell и Pascal вообще разрешено иметь дело со смешанной нагрузкой (графика/вычисления) под управлением Direct3D 12 и Vulkan. А наше представление о том, почему это так, а не иначе, основано по большей части на сторонних источниках и не претендует на истину в последней инстанции. Что поделать, такова политика этой компании, особенно когда речь идет о недостатках их продуктов.
В отличие от AMD, NVIDIA решила разделить свои GPU на преимущественно потребительские либо профессиональные модели, начиная с архитектуры Kepler. Первые изначально лишены массы вычислительных функций, бесполезных в игровых задачах (таких как быстрое исполнение расчетов двойной точности). Кроме того, на пути от архитектуры Fermi (GeForce 400/500) к Kepler, а затем Maxwell разработчики последовательно сокращали управляющую логику GPU, переложив часть функций на драйвер.
Тем не менее поддержка смешанной нагрузки даже в массовых чипах NVIDIA значительно расширилась со времен Kepler. «Мелкие» чипы архитектуры Kepler (GK10X, GeForce GTX 680 и ниже, а также GeForce GTX 770) способны работать с единственной очередью команд, будь то графика или чисто вычислительная задача (ни о каком Multi-Engine речи не идет). В «большом» Кеплере (GK110/210, GeForce GTX 780/780 Ti и GeForce GTX TITAN) и чипах Maxwell первого поколения (GK107, GeForce GTX 750/750 Ti) внедрили отдельный блок для приема «вычислительных» очередей Hyper-Q, но отдельная «вычислительная» нагрузка одновременно с графикой возможна только под проприетарным API CUDA. Кроме того, «вычислительная» очередь может задействовать один и только один из 32 слотов блока CWD (CUDA Work Distributor), распределяющего цепочки операций между отдельными SM.
Динамическое распределение мощностей между графической и «вычислительной» очередями появилось только в Maxwell второго поколения (серия GeForce 900), но существует критически важное ограничение: перераспределение происходит лишь на границе draw call, а значит, драйверу нужно выделить необходимую для той или иной задачи группу SM (Streaming Multiprocessor, блок, в который организованы CUDA-ядра) заранее. Отсюда возникают ошибки планирования, которые невозможно устранить на лету, и даже при идеальном предсказании эвристики драйвера Maxwell будет пропускать мелкие «пузыри» конвейера. Кроме того, Maxwell несет тяжелые потери от смены контекста, т. к. промежуточные результаты вычислений сохраняются в (обладающей сравнительно высокой латентностью) оперативной памяти, при этом происходит полная очистка кеша L1 и разделяемой памяти GPU. В таких условиях быстродействию не настолько сильно вредит достаточно короткий простой отдельных SM, как смена контекста.
Похоже, именно эти архитектурные ограничения побудили NVIDIA заблокировать Multi-Engine в драйвере для Kepler и Maxwell. Приложение может создать сколько угодно «вычислительных» очередей, но драйвер все равно объединит их с графической очередью. По-прежнему единственная лазейка для разработчиков — это использовать CUDA, хотя на ситуацию с распределением ресурсов и смену контекста API никак не влияет.

Среди «зеленых» GPU только семейство Pascal допущено к функции Multi-Engine в Direct3D 12 и Vulkan, ибо Pascal, в отличие от Maxwell, умеет передавать ресурсы SM между очередями графики и «вычислений» динамически, не дожидаясь завершения draw call. При этом цена смены контекста осталась высокой (вплоть до 0,1 мс или 170 тыс. циклов GPU в случае GeForce GTX 1070/1080!), а значит, Pascal по-прежнему ограничен в гибкости при работе с несколькими очередями команд по сравнению с GCN.
В итоге NVIDIA довольно сильно усложнила жизнь разработчикам приложений, желающим использовать Multi-Engine. GCN неприхотлива и предсказуема в плане смешанной нагрузки, но ускорители Radeon на рынке в меньшинстве. С другой стороны, видеокарты с графическими процессорами NVIDIA стоят во множестве игровых ПК и вдобавок принадлежат к нескольким поколениям с различным уровнем поддержки Multi-Engine и методами его использования. Но, к счастью для NVIDIA, ее продукты и без того не испытывают недостатка в быстродействии. Чипы Maxwell и Pascal в сравнении с процессорами GCN соответствующего класса имеют более «узкую» архитектуру с меньшим числом шейдерных ALU, а значит — не требуют столь же высокого параллелизма для полной загрузки.
| Графика + вычисления, макс. N очередей | Вычисления, макс. N очередей | Распределение CU/SM в смешанном режиме | |
| AMD GCN 1.4 (Vega) | 1 + | Динамическое | |
| AMD GCN 1.3 (Polaris) | 1 + | Динамическое | |
| AMD GCN 1.2 (Tonga, Fiji) | 1 + | Динамическое | |
| AMD GCN 1.1 (Hawaii) | 1 + 64 | 64 | Динамическое |
| AMD GCN 1.1 (Bonaire) | 1 + 16 | 16 | Динамическое |
| AMD GCN 1.0 (Cape Verde, Bonaire, Pitcair, Tahiti) | 1 + 8 | 2 | Динамическое |
| NVIDIA Pascal (GP10X) | 1 + 31 | 32 | Динамическое |
| NVIDIA Maxwell 2 (GM20X) | 1 + 31 (CUDA) | 32 | Статическое |
| NVIDIA Maxwell 1 (GM107) | 1 + 31 (CUDA) | 32 | Статическое |
| NVIDIA Kepler (GK110) | 1 + 31 (CUDA) | 32 | Статическое |
| NVIDIA Kepler (GK10X) | 1 | 1 | — |
⇡#От теории — к практике
Мы долго говорили об особенностях 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) соответственно.
⇡#AMD Radeon R9 390X

| 1920 × 1080 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon R9 390X (DirectX 11) | AMD Radeon R9 390X (DirectX 12) | AMD Radeon R9 390X (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 42 | 51 | 47 |
| Battlefield 1 | TAA | 89 | 91 | 0 |
| Deus Ex: Mankind Divided | Выкл. | 47 | 54 | 0 |
| DOOM | TSSAA 8TX | 88 | 0 | 136 |
| Rise of the Tomb Raider | Выкл. | 65 | 69 | 0 |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 46 | 49 | 0 |
| Total War: WARHAMMER II | Выкл. | 31 | 30 | 0 |
| Макс. | +21% | +55% | ||
| Средн. | +8% | +33% | ||
| Мин. | −3% | +12% | ||

| 2560 × 1440 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon R9 390X (DirectX 11) | AMD Radeon R9 390X (DirectX 12) | AMD Radeon R9 390X (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 35 | 42 | 39 |
| Battlefield 1 | TAA | 68 | 64 | |
| Deus Ex: Mankind Divided | Выкл. | 32 | 37 | |
| DOOM | TSSAA 8TX | 61 | 90 | |
| Rise of the Tomb Raider | Выкл. | 47 | 49 | |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 35 | 36 | |
| Total War: WARHAMMER II | Выкл. | 23 | 22 | |
| Макс. | +20% | +48% | ||
| Средн. | +5% | +29% | ||
| Мин. | −6% | +11% | ||

| 3840 × 2160 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon R9 390X (DirectX 11) | AMD Radeon R9 390X (DirectX 12) | AMD Radeon R9 390X (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 29 | 36 | 34 |
| Battlefield 1 | 42 | 40 | 0 | |
| Deus Ex: Mankind Divided | 17 | 19 | 0 | |
| DOOM | 34 | 0 | 49 | |
| Rise of the Tomb Raider | 30 | 27 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 21 | 22 | 0 |
| Total War: WARHAMMER II | Выкл. | 13 | 13 | 0 |
| Макс. | +24% | +44% | ||
| Средн. | +4% | +31% | ||
| Мин. | −10% | +17% | ||
⇡#AMD Radeon R9 Fury X

| 1920 × 1080 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon R9 Fury X (DirectX 11) | AMD Radeon R9 Fury X (DirectX 12) | AMD Radeon R9 Fury X (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 39 | 48 | 45 |
| Battlefield 1 | TAA | 100 | 86 | 0 |
| Deus Ex: Mankind Divided | Выкл. | 57 | 64 | 0 |
| DOOM | TSSAA 8TX | 92 | 0 | 168 |
| Rise of the Tomb Raider | Выкл. | 73 | 82 | 0 |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 60 | 61 | 0 |
| Total War: WARHAMMER II | Выкл. | 42 | 43 | 0 |
| Макс. | +23% | +83% | ||
| Средн. | +6% | +49% | ||
| Мин. | −14% | +15% | ||

| 2560 × 1440 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon R9 Fury X (DirectX 11) | AMD Radeon R9 Fury X (DirectX 12) | AMD Radeon R9 Fury X (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 33 | 42 | 39 |
| Battlefield 1 | TAA | 84 | 62 | |
| Deus Ex: Mankind Divided | Выкл. | 38 | 45 | |
| DOOM | TSSAA 8TX | 69 | 113 | |
| Rise of the Tomb Raider | Выкл. | 67 | 60 | |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 44 | 45 | |
| Total War: WARHAMMER II | Выкл. | 32 | 32 | |
| Макс. | +27% | +64% | ||
| Средн. | +2% | +41% | ||
| Мин. | −26% | +18% | ||

| 3840 × 2160 | ||||
| Полноэкранное сглаживание | AMD Radeon R9 Fury X (DirectX 11) | AMD Radeon R9 Fury X (DirectX 12) | AMD Radeon R9 Fury X (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 30 | 39 | 35 |
| Battlefield 1 | 50 | 38 | 0 | |
| Deus Ex: Mankind Divided | 20 | 16 | 0 | |
| DOOM | 40 | 0 | 61 | |
| Rise of the Tomb Raider | 34 | 32 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 27 | 2 | 0 |
| Total War: WARHAMMER II | Выкл. | 16 | 15 | 0 |
| Макс. | +30% | +53% | ||
| Средн. | −20% | +35% | ||
| Мин. | −93% | +17% | ||
⇡#AMD Radeon RX 560

| 1920 × 1080 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon RX 560 (DirectX 11) | AMD Radeon RX 560 (DirectX 12) | AMD Radeon RX 560 (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 33 | 35 | 33 |
| Battlefield 1 | 68 | 69 | 0 | |
| Deus Ex: Mankind Divided | 41 | 43 | 0 | |
| DOOM | 43 | 0 | 68 | |
| Rise of the Tomb Raider | 56 | 58 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 55 | 56 | 0 |
| Total War: WARHAMMER II | Выкл. | 45 | 43 | 0 |
| Макс. | +6% | +58% | ||
| Средн. | +2% | +29% | ||
| Мин. | −4% | +0% | ||

| 2560 × 1440 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon RX 560 (DirectX 11) | AMD Radeon RX 560 (DirectX 12) | AMD Radeon RX 560 (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 29 | 30 | 29 |
| Battlefield 1 | 47 | 48 | 0 | |
| Deus Ex: Mankind Divided | 26 | 27 | 0 | |
| DOOM | 28 | 0 | 42 | |
| Rise of the Tomb Raider | 37 | 37 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 36 | 35 | 0 |
| Total War: WARHAMMER II | Выкл. | 27 | 27 | 0 |
| Макс. | +4% | +50% | ||
| Средн. | +1% | +25% | ||
| Мин. | −3% | +0% | ||

| 3840 × 2160 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon RX 560 (DirectX 11) | AMD Radeon RX 560 (DirectX 12) | AMD Radeon RX 560 (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 21 | 23 | 21 |
| Battlefield 1 | 24 | 24 | 0 | |
| Deus Ex: Mankind Divided | 13 | 13 | 0 | |
| DOOM | 15 | 0 | 21 | |
| Rise of the Tomb Raider | 19 | 17 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 17 | 17 | 0 |
| Total War: WARHAMMER II | Выкл. | 13 | 13 | 0 |
| Макс. | +10% | +40% | ||
| Средн. | −0% | +20% | ||
| Мин. | −11% | +0% | ||
⇡#AMD Radeon RX 580

| 1920 × 1080 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon RX 580 (DirectX 11) | AMD Radeon RX 580 (DirectX 12) | AMD Radeon RX 580 (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 35 | 36 | 35 |
| Battlefield 1 | TAA | 85 | 77 | 0 |
| Deus Ex: Mankind Divided | Выкл. | 49 | 50 | 0 |
| DOOM | TSSAA 8TX | 85 | 0 | 138 |
| Rise of the Tomb Raider | Выкл. | 69 | 72 | 0 |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 48 | 49 | 0 |
| Total War: WARHAMMER II | Выкл. | 34 | 34 | 0 |
| Макс. | +4% | +62% | ||
| Средн. | +0% | +31% | ||
| Мин. | −9% | +0% | ||

| 2560 × 1440 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon RX 580 (DirectX 11) | AMD Radeon RX 580 (DirectX 12) | AMD Radeon RX 580 (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 29 | 31 | 30 |
| Battlefield 1 | TAA | 64 | 58 | |
| Deus Ex: Mankind Divided | Выкл. | 33 | 34 | |
| DOOM | TSSAA 8TX | 57 | 89 | |
| Rise of the Tomb Raider | Выкл. | 48 | 49 | |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 35 | 35 | |
| Total War: WARHAMMER II | Выкл. | 24 | 24 | |
| Макс. | +7% | +56% | ||
| Средн. | +0% | +30% | ||
| Мин. | −9% | +3% | ||

| 3840 × 2160 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon RX 580 (DirectX 11) | AMD Radeon RX 580 (DirectX 12) | AMD Radeon RX 580 (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 27 | 29 | 28 |
| Battlefield 1 | 38 | 36 | 0 | |
| Deus Ex: Mankind Divided | 17 | 17 | 0 | |
| DOOM | 31 | 0 | 45 | |
| Rise of the Tomb Raider | 26 | 27 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 21 | 21 | 0 |
| Total War: WARHAMMER II | Выкл. | 13 | 13 | 0 |
| Макс. | +7% | +45% | ||
| Средн. | +1% | +24% | ||
| Мин. | −5% | +4% | ||
⇡#AMD Radeon RX Vega 64

| 1920 × 1080 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon RX Vega 64 (DirectX 11) | AMD Radeon RX Vega 64 (DirectX 12) | AMD Radeon RX Vega 64 (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 46 | 59 | 60 |
| Battlefield 1 | TAA | 136 | 125 | 0 |
| Deus Ex: Mankind Divided | Выкл. | 77 | 79 | 0 |
| DOOM | TSSAA 8TX | 110 | 0 | 200 |
| Rise of the Tomb Raider | Выкл. | 106 | 114 | 0 |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 80 | 77 | 0 |
| Total War: WARHAMMER II | Выкл. | 62 | 54 | 0 |
| Макс. | +28% | +82% | ||
| Средн. | +2% | +56% | ||
| Мин. | −13% | +30% | ||

| 2560 × 1440 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon RX Vega 64 (DirectX 11) | AMD Radeon RX Vega 64 (DirectX 12) | AMD Radeon RX Vega 64 (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 41 | 51 | 50 |
| Battlefield 1 | TAA | 101 | 100 | |
| Deus Ex: Mankind Divided | Выкл. | 53 | 55 | |
| DOOM | TSSAA 8TX | 92 | 147 | |
| Rise of the Tomb Raider | Выкл. | 77 | 81 | |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 58 | 54 | |
| Total War: WARHAMMER II | Выкл. | 42 | 38 | |
| Макс. | +24% | +60% | ||
| Средн. | +3% | +41% | ||
| Мин. | −10% | +22% | ||

| 3840 × 2160 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | AMD Radeon RX Vega 64 (DirectX 11) | AMD Radeon RX Vega 64 (DirectX 12) | AMD Radeon RX Vega 64 (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 37 | 48 | 48 |
| Battlefield 1 | 61 | 59 | 0 | |
| Deus Ex: Mankind Divided | 29 | 29 | 0 | |
| DOOM | 54 | 0 | 72 | |
| Rise of the Tomb Raider | 42 | 43 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 34 | 32 | 0 |
| Total War: WARHAMMER II | Выкл. | 23 | 21 | 0 |
| Макс. | +30% | +33% | ||
| Средн. | +2% | +32% | ||
| Мин. | −9% | +30% | ||
⇡#NVIDIA GeForce GTX 780 Ti

| 1920 × 1080 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 780 Ti (DirectX 11) | NVIDIA GeForce GTX 780 Ti (DirectX 12) | NVIDIA GeForce GTX 780 Ti (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 33 | 29 | 0 |
| Battlefield 1 | TAA | 72 | 65 | 0 |
| Deus Ex: Mankind Divided | Выкл. | 35 | 34 | 0 |
| DOOM | TSSAA 8TX | 50 | 0 | 43 |
| Rise of the Tomb Raider | Выкл. | 63 | 59 | 0 |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 40 | 0 | 0 |
| Total War: WARHAMMER II | Выкл. | 37 | 0 | 0 |
| Макс. | −3% | −14% | ||
| Средн. | −8% | −57% | ||
| Мин. | −12% | −100% | ||

| 2560 × 1440 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 780 Ti (DirectX 11) | NVIDIA GeForce GTX 780 Ti (DirectX 12) | NVIDIA GeForce GTX 780 Ti (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 27 | 24 | 0 |
| Battlefield 1 | TAA | 52 | 49 | |
| Deus Ex: Mankind Divided | Выкл. | 24 | 17 | |
| DOOM | TSSAA 8TX | 36 | 10 | |
| Rise of the Tomb Raider | Выкл. | 43 | 32 | |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 28 | 0 | |
| Total War: WARHAMMER II | Выкл. | 26 | 0 | |
| Макс. | −6% | −72% | ||
| Средн. | −18% | −86% | ||
| Мин. | −29% | −100% | ||

| 3840 × 2160 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 780 Ti (DirectX 11) | NVIDIA GeForce GTX 780 Ti (DirectX 12) | NVIDIA GeForce GTX 780 Ti (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 25 | 22 | 0 |
| Battlefield 1 | 33 | 5 | 0 | |
| Deus Ex: Mankind Divided | 9 | 1 | 0 | |
| DOOM | 25 | 0 | 4 | |
| Rise of the Tomb Raider | 21 | 17 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 17 | 0 | 0 |
| Total War: WARHAMMER II | Выкл. | 7 | 0 | 0 |
| Макс. | −12% | −84% | ||
| Средн. | −51% | −92% | ||
| Мин. | −89% | −100% | ||
⇡#NVIDIA GeForce GTX 980 Ti

| 1920 × 1080 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 980 Ti (DirectX 11) | NVIDIA GeForce GTX 980 Ti (DirectX 12) | NVIDIA GeForce GTX 980 Ti (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 51 | 45 | 41 |
| Battlefield 1 | TAA | 104 | 82 | 0 |
| Deus Ex: Mankind Divided | Выкл. | 56 | 55 | 0 |
| DOOM | TSSAA 8TX | 135 | 0 | 165 |
| Rise of the Tomb Raider | Выкл. | 93 | 95 | 0 |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 51 | 0 | 0 |
| Total War: WARHAMMER II | Выкл. | 52 | 43 | 0 |
| Макс. | +2% | +22% | ||
| Средн. | −10% | +1% | ||
| Мин. | −21% | −20% | ||

| 2560 × 1440 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 980 Ti (DirectX 11) | NVIDIA GeForce GTX 980 Ti (DirectX 12) | NVIDIA GeForce GTX 980 Ti (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 42 | 38 | 34 |
| Battlefield 1 | TAA | 76 | 64 | |
| Deus Ex: Mankind Divided | Выкл. | 39 | 38 | |
| DOOM | TSSAA 8TX | 93 | 108 | |
| Rise of the Tomb Raider | Выкл. | 65 | 63 | |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 36 | 0 | |
| Total War: WARHAMMER II | Выкл. | 36 | 30 | |
| Макс. | −3% | +16% | ||
| Средн. | −10% | −1% | ||
| Мин. | −17% | −19% | ||

| 3840 × 2160 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 980 Ti (DirectX 11) | NVIDIA GeForce GTX 980 Ti (DirectX 12) | NVIDIA GeForce GTX 980 Ti (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 36 | 36 | 31 |
| Battlefield 1 | 46 | 38 | 0 | |
| Deus Ex: Mankind Divided | 21 | 20 | 0 | |
| DOOM | 48 | 0 | 58 | |
| Rise of the Tomb Raider | 34 | 30 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 19 | 0 | 0 |
| Total War: WARHAMMER II | Выкл. | 19 | 16 | 0 |
| Макс. | +0% | +21% | ||
| Средн. | −10% | +3% | ||
| Мин. | −17% | −14% | ||
⇡#NVIDIA GeForce GTX 1050 Ti

| 1920 × 1080 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 1050 Ti (DirectX 11) | NVIDIA GeForce GTX 1050 Ti (DirectX 12) | NVIDIA GeForce GTX 1050 Ti (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 45 | 43 | 40 |
| Battlefield 1 | 80 | 73 | 0 | |
| Deus Ex: Mankind Divided | 46 | 46 | 0 | |
| DOOM | 71 | 0 | 83 | |
| Rise of the Tomb Raider | 68 | 67 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 62 | 59 | 0 |
| Total War: WARHAMMER II | Выкл. | 60 | 52 | 0 |
| Макс. | +0% | +17% | ||
| Средн. | −5% | +3% | ||
| Мин. | −13% | −11% | ||

| 2560 × 1440 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 1050 Ti (DirectX 11) | NVIDIA GeForce GTX 1050 Ti (DirectX 12) | NVIDIA GeForce GTX 1050 Ti (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 38 | 38 | 34 |
| Battlefield 1 | 57 | 52 | 0 | |
| Deus Ex: Mankind Divided | 30 | 30 | 0 | |
| DOOM | 45 | 0 | 54 | |
| Rise of the Tomb Raider | 45 | 43 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 39 | 37 | 0 |
| Total War: WARHAMMER II | Выкл. | 39 | 33 | 0 |
| Макс. | +0% | +20% | ||
| Средн. | −6% | +5% | ||
| Мин. | −15% | −11% | ||

| 3840 × 2160 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 1050 Ti (DirectX 11) | NVIDIA GeForce GTX 1050 Ti (DirectX 12) | NVIDIA GeForce GTX 1050 Ti (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 27 | 28 | 24 |
| Battlefield 1 | 28 | 26 | 0 | |
| Deus Ex: Mankind Divided | 15 | 15 | 0 | |
| DOOM | 24 | 0 | 28 | |
| Rise of the Tomb Raider | 23 | 22 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 19 | 18 | 0 |
| Total War: WARHAMMER II | Выкл. | 19 | 16 | 0 |
| Макс. | +4% | +17% | ||
| Средн. | −5% | +3% | ||
| Мин. | −16% | −11% | ||
⇡#NVIDIA GeForce GTX 1060

| 1920 × 1080 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 1060 (DirectX 11) | NVIDIA GeForce GTX 1060 (DirectX 12) | NVIDIA GeForce GTX 1060 (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 40 | 37 | 34 |
| Battlefield 1 | TAA | 87 | 80 | 0 |
| Deus Ex: Mankind Divided | Выкл. | 45 | 45 | 0 |
| DOOM | TSSAA 8TX | 112 | 0 | 136 |
| Rise of the Tomb Raider | Выкл. | 75 | 75 | 0 |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 46 | 49 | 0 |
| Total War: WARHAMMER II | Выкл. | 38 | 32 | 0 |
| Макс. | +7% | +21% | ||
| Средн. | −4% | +3% | ||
| Мин. | −16% | −15% | ||

| 2560 × 1440 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 1060 (DirectX 11) | NVIDIA GeForce GTX 1060 (DirectX 12) | NVIDIA GeForce GTX 1060 (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 33 | 31 | 28 |
| Battlefield 1 | TAA | 64 | 59 | |
| Deus Ex: Mankind Divided | Выкл. | 30 | 30 | |
| DOOM | TSSAA 8TX | 73 | 89 | |
| Rise of the Tomb Raider | Выкл. | 51 | 50 | |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 32 | 33 | |
| Total War: WARHAMMER II | Выкл. | 26 | 23 | |
| Макс. | +3% | +22% | ||
| Средн. | −4% | +3% | ||
| Мин. | −12% | −15% | ||

| 3840 × 2160 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 1060 (DirectX 11) | NVIDIA GeForce GTX 1060 (DirectX 12) | NVIDIA GeForce GTX 1060 (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 30 | 29 | 26 |
| Battlefield 1 | 37 | 35 | 0 | |
| Deus Ex: Mankind Divided | 16 | 16 | 0 | |
| DOOM | 41 | 0 | 47 | |
| Rise of the Tomb Raider | 26 | 22 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 17 | 18 | 0 |
| Total War: WARHAMMER II | Выкл. | 14 | 12 | 0 |
| Макс. | +6% | +15% | ||
| Средн. | −5% | +1% | ||
| Мин. | −15% | −13% | ||
⇡#NVIDIA GeForce GTX 1080 Ti

| 1920 × 1080 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 1080 Ti (DirectX 11) | NVIDIA GeForce GTX 1080 Ti (DirectX 12) | NVIDIA GeForce GTX 1080 Ti (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 74 | 76 | 70 |
| Battlefield 1 | TAA | 151 | 141 | 0 |
| Deus Ex: Mankind Divided | Выкл. | 91 | 91 | 0 |
| DOOM | TSSAA 8TX | 159 | 0 | 200 |
| Rise of the Tomb Raider | Выкл. | 142 | 158 | 0 |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 109 | 113 | 0 |
| Total War: WARHAMMER II | Выкл. | 79 | 80 | 0 |
| Макс. | +11% | +26% | ||
| Средн. | +2% | +10% | ||
| Мин. | −7% | −5% | ||

| 2560 × 1440 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 1080 Ti (DirectX 11) | NVIDIA GeForce GTX 1080 Ti (DirectX 12) | NVIDIA GeForce GTX 1080 Ti (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 64 | 64 | 59 |
| Battlefield 1 | TAA | 109 | 102 | |
| Deus Ex: Mankind Divided | Выкл. | 63 | 63 | |
| DOOM | TSSAA 8TX | 155 | 178 | |
| Rise of the Tomb Raider | Выкл. | 101 | 104 | |
| Tom Clancy’s The Division | SMAA 1x Ultra + TAA: Supersampling | 76 | 80 | |
| Total War: WARHAMMER II | Выкл. | 58 | 58 | |
| Макс. | +5% | +15% | ||
| Средн. | +0% | +4% | ||
| Мин. | −6% | −8% | ||

| 3840 × 2160 | ||||
|---|---|---|---|---|
| Полноэкранное сглаживание | NVIDIA GeForce GTX 1080 Ti (DirectX 11) | NVIDIA GeForce GTX 1080 Ti (DirectX 12) | NVIDIA GeForce GTX 1080 Ti (Vulkan) | |
| Ashes of the Singularity: Escalation | Выкл. | 58 | 59 | 63 |
| Battlefield 1 | 76 | 67 | 0 | |
| Deus Ex: Mankind Divided | 35 | 35 | 0 | |
| DOOM | 85 | 0 | 97 | |
| Rise of the Tomb Raider | 56 | 62 | 0 | |
| Tom Clancy’s The Division | TAA: Stabilization | 43 | 46 | 0 |
| Total War: WARHAMMER II | Выкл. | 52 | 52 | 0 |
| Макс. | +11% | +14% | ||
| Средн. | +1% | +11% | ||
| Мин. | −12% | +9% | ||
⇡#Общие результаты
В таблицах ниже сведены данные об изменении производительности видеокарт при смене API с Direct3D 11 на Direct3D 12 или Vulkan.
| Direct3D 11 / OpenGL 4.5 —> Direct3D 12 (1920 × 1080) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| AMD Radeon R9 390X | AMD Radeon R9 Fury X | AMD Radeon RX 560 | AMD Radeon RX 580 | AMD Radeon RX Vega 64 | NVIDIA GeForce GTX 780 Ti | NVIDIA GeForce GTX 980 Ti | NVIDIA GeForce GTX 1050 Ti | NVIDIA GeForce GTX 1060 | NVIDIA GeForce GTX 1080 Ti | |
| Макс. | 21% | 23% | 6% | 4% | 28% | −3% | 2% | 0% | 7% | 11% |
| Средн. | 8% | 6% | 2% | 0% | 2% | −8% | −10% | −5% | −4% | 2% |
| Мин. | −3% | −14% | −4% | −9% | −13% | −12% | −21% | −13% | −16% | −7% |
| Direct3D 11 / OpenGL 4.5 —> Direct3D 12 (2560 × 1440) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| AMD Radeon R9 390X | AMD Radeon R9 Fury X | AMD Radeon RX 560 | AMD Radeon RX 580 | AMD Radeon RX Vega 64 | NVIDIA GeForce GTX 780 Ti | NVIDIA GeForce GTX 980 Ti | NVIDIA GeForce GTX 1050 Ti | NVIDIA GeForce GTX 1060 | NVIDIA GeForce GTX 1080 Ti | |
| Макс. | 20% | 27% | 4% | 7% | 24% | −6% | −3% | 0% | 3% | 5% |
| Средн. | 5% | 2% | 1% | 0% | 3% | −18% | −10% | −6% | −4% | 0% |
| Мин. | −6% | −26% | −3% | −9% | −10% | −29% | −17% | −15% | −12% | −6% |
| Direct3D 11 / OpenGL 4.5 —> Direct3D 12 (3840 × 2160) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| AMD Radeon R9 390X | AMD Radeon R9 Fury X | AMD Radeon RX 560 | AMD Radeon RX 580 | AMD Radeon RX Vega 64 | NVIDIA GeForce GTX 780 Ti | NVIDIA GeForce GTX 980 Ti | NVIDIA GeForce GTX 1050 Ti | NVIDIA GeForce GTX 1060 | NVIDIA GeForce GTX 1080 Ti | |
| Макс. | 24% | 30% | 10% | 7% | 30% | −12% | 0% | 4% | 6% | 11% |
| Средн. | 4% | −20% | −0% | 1% | 2% | −51% | −10% | −5% | −5% | 1% |
| Мин. | −10% | −93% | −11% | −5% | −9% | −89% | −17% | −16% | −15% | −12% |
| Direct3D 11 / OpenGL 4.5 —> Vulkan (1920 × 1080) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| AMD Radeon R9 390X | AMD Radeon R9 Fury X | AMD Radeon RX 560 | AMD Radeon RX 580 | AMD Radeon RX Vega 64 | NVIDIA GeForce GTX 780 Ti | NVIDIA GeForce GTX 980 Ti | NVIDIA GeForce GTX 1050 Ti | NVIDIA GeForce GTX 1060 | NVIDIA GeForce GTX 1080 Ti | |
| Макс. | 55% | 83% | 58% | 62% | 82% | −14% | 22% | 17% | 21% | 26% |
| Средн. | 33% | 49% | 29% | 31% | 56% | −57% | 1% | 3% | 3% | 10% |
| Мин. | 12% | 15% | 0% | 0% | 30% | −100% | −20% | −11% | −15% | −5% |
| Direct3D 11 / OpenGL 4.5 —> Vulkan (2560 × 1440) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| AMD Radeon R9 390X | AMD Radeon R9 Fury X | AMD Radeon RX 560 | AMD Radeon RX 580 | AMD Radeon RX Vega 64 | NVIDIA GeForce GTX 780 Ti | NVIDIA GeForce GTX 980 Ti | NVIDIA GeForce GTX 1050 Ti | NVIDIA GeForce GTX 1060 | NVIDIA GeForce GTX 1080 Ti | |
| Макс. | 48% | 64% | 50% | 56% | 60% | −72% | 16% | 20% | 22% | 15% |
| Средн. | 29% | 41% | 25% | 30% | 41% | −86% | −1% | 5% | 3% | 4% |
| Мин. | 11% | 18% | 0% | 3% | 22% | −100% | −19% | −11% | −15% | −8% |
| Direct3D 11 / OpenGL 4.5 —> Vulkan (3840 × 2160) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| AMD Radeon R9 390X | AMD Radeon R9 Fury X | AMD Radeon RX 560 | AMD Radeon RX 580 | AMD Radeon RX Vega 64 | NVIDIA GeForce GTX 780 Ti | NVIDIA GeForce GTX 980 Ti | NVIDIA GeForce GTX 1050 Ti | NVIDIA GeForce GTX 1060 | NVIDIA GeForce GTX 1080 Ti | |
| Макс. | 44% | 53% | 40% | 45% | 33% | −84% | 21% | 17% | 15% | 14% |
| Средн. | 31% | 35% | 20% | 24% | 32% | −92% | 3% | 3% | 1% | 11% |
| Мин. | 17% | 17% | 0% | 4% | 30% | −100% | −14% | −11% | −13% | 9% |
⇡#Выводы
Усредненные результаты сравнения API, приведенные в таблицах выше, пусть и позволяют уловить определенные тенденции, но в действительности несут мало полезной информации, потому что игры ведут себя по-разному на различных платформах. При этом в большинстве случаев средний «процент» видеокарты задает одна или две игры, а остальные бенчмарки оказались индифферентны к смене API в практическом масштабе. Вопрос «Как API нового поколения влияют на быстродействие» не имеет общего ответа, и это совершенно предсказуемо. Слишком велика разница в архитектуре современных графических процессоров, а вместе с ней — полнота и качество поддержки Direct3D 12 и Vulkan в игровых движках. Сочетание каждой игры и каждого GPU — это уникальный случай, в котором смена API может как значительно увеличить, так и, в худшем случае, просто уничтожить быстродействие.
И все-таки даже по имеющимся данным можно выделить, с одной стороны, несколько видеокарт, которые подают воодушевляющий пример в новых интерфейсах программирования, а с другой стороны — те GPU, которым Direct3D 12 и Vulkan не приносит никакой пользы или и вовсе вредит.
Начнем с «неудачников». Для GeForce GTX 780 Ti тесты в API нового поколения обернулись полной катастрофой. Мало того, что некоторые игры официально не поддерживают Direct3D 12 на архитектуре Kepler или просто не запускаются, нет ни единой игры, в которой эта видеокарта не теряет производительность (при высоких разрешениях — вплоть до уровня слайд-шоу). Отчасти виновато эксплицитное управление памятью в Direct3D 12: программисты поленились оптимизировать движок под видеокарты с 3 Гбайт RAM. Но и GeForce GTX 980 Ti, несмотря на 6 Гбайт памяти, выступил не сильно лучше. В большинстве тестов быстродействие флагманского Maxwell снижается в Direct3D 12 и Vulkan (особенно велики потери в Battlefield 1). Прирост, и весьма существенный, есть только в DOOM.
Ускорители Pascal бюджетного и среднего уровня (GeForce GTX 1050 Ti и GTX 1060) также выигрывают от API нового поколения в DOOM. Результаты остальных тестов по большей части умеренно отрицательные. На этом фоне достижение GeForce GTX 1080 Ti уже в том, что он перестал терять быстродействие в ряде тестов под Direct3D 12 и Vulkan, а кое-где приобрел дополнительные FPS.
Положение видеокарт AMD, как и предсказано теорией, в целом благоприятно. Главные выгодополучатели новых API — большие чипы Hawaii (Radeon R9 390X), Fiji (Radeon R9 Fury X) и Vega (Radeon RX Vega 64), а лучшие игры для них — Ashes of the Singularity и, конечно же, DOOM. Остальные тесты обернулись незначительным ростом или падением FPS. Кроме того, Radeon R9 Fury X страдает в высоких разрешениях (см. эксплицитное управление памятью) и при любых режимах — в Battlefield 1. Несколько обескураживают результаты чипов Polaris (Radeon RX 560 и RX 580), ведь к ним в новых API благосклонен только DOOM. Direct3D 12 в Battlefield 1 однозначно вредит, а в остальных тестах «состояние пациента стабильно».
Какие общие выводы можно сделать из такой сложной картины? Во-первых, придется забыть о комбинации Direct3D 12 и чипов NVIDIA поколений Kepler и Maxwell (и тем более Fermi), а также видеокарт с небольшим объемом памяти. Никто больше не будет оптимизировать ПО под такое железо. Что касается процессоров Pascal, то им Direct3D 12 и Vulkan в целом не помогают, зато и не вредят (что и требовалось доказать). Наилучшие перспективы — у больших GPU AMD с подходящим объемом видеоОЗУ. Однако рано подводить черту: впереди еще одно тестирование на платформе со слабым CPU.