что значит dx9 и dx11

Сравниваем DirectX 9 и Direct 11 | Важные отличия

Даже покупаемые «для учёбы» компьютеры то и дело используются для игр. И разработчики операционной системы Windows прекрасно это понимают, интегрируя прямо в код ядра библиотеки и механизмы взаимодействия с видеокартой. И DirectX – как раз такой инструмент.

Вообще, DirectX – это набор интерфейсов прикладного программирования, которые предназначены для взаимодействия приложений с «железом». Например, входящий в него пакет алгоритмов Graphics нужен для работы с видеокартой, а DirectMusic – со звуковой картой. В целом, в него входят девять пакетов интерфейсов, направленных на воспроизведение и вывод различного мультимедийного контента.

DirectX развивается одновременно с операционной системой Windows. Каждые 1-3 года выходят новые его версии, направленные на улучшение работы периферийного оборудования. И поэтому многим начинающим геймерам может быть непонятно, чем отличается одна итерация от другой.

Разберёмся, чем отличается Direct 9 от DirectX 11 и других версий.

DirectX 9

Интерфейс DirectX 9 был представлен одновременно с операционной системой Windows Server 2003 и входит в неё в качество основного API взаимодействия с графическим и звуковым оборудованием.

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

Пока не особо понятно, почему компания Microsoft решила имплементировать DX9.0 в серверную операционную систему. Однако в 2004 году она же выпустила Windows XP SP2, и этот API входил в неё. Именно так и началось распространение DX9.0 среди домашних пользователей.

По сути, все игры, выпущены в период с 2004 года по 2009 год, ориентированы на использование DirectX 9. Это же справедливо и для видеокарт. Как настольные, так и мобильные (предназначенные для ноутбуков), они предназначены для работы именно с этим интерфейсом.

Достоинства

Повышенная производительность на очень старых компьютерах.

Недостатки

Сравнительно узкое распространение (нативно встроен только в Windows XP SP2);

Ограниченная производительность за счёт не самой правильной работы с многопоточностью.

Кстати! Казалось бы, куда делся DirectX 10? А он никуда и не девался, он есть. Десятая версия интерфейса вышла в 2006 году вместе с операционной системой Windows Vista. Но сама эта среда была настолько «тормознутой» и «глючной», что о ней предпочли побыстрее забыть и создатели, и разработчики игр.

DirectX 11

Интерфейс DirectX 11 был представлен в 2009 году вместе с операционной системой Windows 7 и тут же «принят на вооружение» как производителями видеокарт, так и разработчиками компьютерных игр. Причина такой популярности очень проста – многопоточность.

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

После реализации этого интерфейса многоядерные видеокарты стали производиться чаще и активнее. Например, у NVIDIA в последних моделях графических ускорителей вычислительный блок может состоять из 3-4 тысяч ядер CUDA! Благодаря этому скорость обработки визуальной информации увеличивается многократно.

В целом, главными преимуществами одиннадцатой версии интерфейса стали:

Поддержка многопоточности на многоядерных графических ускорителях;

Увеличение КПД одноядерных и старых видеокарт;

Снижение интенсивности нагрева графических ускорителей.

Кроме того, это API принесло нативную поддержку «вытянутых» мониторов формата 16:9. Благодаря этому внешний вид операционной системы в целом и рабочего стола в частности стал намного привлекательнее. Иконки перестали наезжать друг на друга!

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

Достоинства

Повышенная производительность при использовании многоядерных видеокарт;

Повышение КПД при работе со старыми и слабыми графическими ускорителями;

Поддержка новых визуальных эффектов.

Недостатки

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

Отсутствие обратной совместимости – предыдущие версии «винды» не поддерживают одиннадцатое поколение даже после установки распространяемого пакета.

Преемником DX11 стал DirectX 12. Этот интерфейс был представлен вместе с операционной системой Windows 10 в 2005 году и принёс поддержку шейдерной модели 5.1, которая обеспечивала ещё большую реалистичность при отображении текстур, теней и свечения.

Различия между DirectX 9 и DirectX 11 – и что выбрать

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

Основная поддерживающая операционная система

Источник

DirectX 11 в доте

26 Mar 2018 в 14:10

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

26 Mar 2018 в 14:10 #1

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

Так вот, в чем разница я не понял, типо фпс одинаковый что в dx 9, что в 11, в графическом плане вроде тоже самое, хотя особо не вглядывался в различия.
Может вы мне расскажете в чем разница и объясните преимущества какого то из API?

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

26 Mar 2018 в 14:16 #2

ну типа каждый апи под разное железо, чтобы на любом корыте игра работала

11 для современных относительно

вулкан кривой, на радиках возможно нормально работает

опен гл что то вроде директа только для линукса вроде(но это не точно)

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

26 Mar 2018 в 14:19 #3

ну типа каждый апи под разное железо, чтобы на любом корыте игра работала

11 для современных относительно

вулкан кривой, на радиках возможно нормально работает

опен гл что то вроде директа только для линукса вроде(но это не точно)

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

Участник команды сайта

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

26 Mar 2018 в 14:19 #4

Ведь моя карточка, это унылый, ноутбычный 7-ми летний мусор (гт540м)

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

26 Mar 2018 в 14:23 #5

ну ты же дрова обновляешь на видюху(нет), так и здесь, просто новый вариант с более оптимизированным кодом

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

26 Mar 2018 в 14:24 #6

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

Буквально несколько дней назад дх 11 поставил вместо дх 9 и началась вакханалия с расширением монитора, что не мог даже все назад поставить, пришлось через диспетчер закрывать и потом шаманить чтобы при запуске дх 11 не запускался, больше не лезу))

Источник

Вулкан,dx9 или же все-таки dx11 в Dota 2

13 Mar 2018 в 09:43

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 09:43 #1

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 09:44 #2

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

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 09:45 #3

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

Графика не меняется?

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 09:45 #4

В смысле? В какой именно игре есть выбор dx11 и вулкана? Dx9 cразу отлетает. А там смотри по фпсу

аа, дотка, надо было не в этом разделе создавать тему

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 09:46 #5

Вулкан тебе не нужен, он для слабых машин, для тебя будет 0 толку

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 09:46 #6

В смысле? В какой именно игре есть выбор dx11 и вулкана? Dx9 cразу отлетает. А там смотри по фпсу

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 09:47 #7

Ну вообще вулкан он больше к АМД товарам, но в играх где он есть я использую именно его

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 09:47 #8

Вулкан тебе не нужен, он для слабых машин, для тебя будет 0 толку

Понял,спасибо.Изменений в графике нет?То есть лучше поставить dx11 и не париться?

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 09:49 #9

Понял,спасибо.Изменений в графике нет?То есть лучше поставить dx11 и не париться?

Нет не будет никаких изменений в графике.

Оставляй всё по дефолту и играй

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 09:50 #10

Нет не будет никаких изменений в графике.

Оставляй всё по дефолту и играй

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

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 09:51 #11

Понял,спасибо.Изменений в графике нет?То есть лучше поставить dx11 и не париться?

Нормальный такой вопросец,учитывая то,что ты собираешься катать на gtx 1080 ti

А не вбросер ли ты часом?

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 09:53 #12

Нормальный такой вопросец,учитывая то,что ты собираешься катать на gtx 1080 ti

А не вбросер ли ты часом?

В чем вброс?Я имею в виду не разницу ФПС,а разницу по качеству графики (освещение другое,детализация получше)

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 10:03 #13

В чем вброс?Я имею в виду не разницу ФПС,а разницу по качеству графики (освещение другое,детализация получше)

Я давно делал видос со сравнением фпс и графики

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

13 Mar 2018 в 10:06 #14

Я давно делал видос со сравнением фпс и графики

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

14 Mar 2018 в 17:23 #15

Я давно делал видос

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

16 Mar 2018 в 08:31 #16

Спасибо,я так и сделал)

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

17 Jul 2018 в 14:39 #17

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

17 Jul 2018 в 14:40 #18

Ты хоть пробовал вулкан в дотке или сразу полез темку создавать? Он багнутый шо псц.

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

17 Jul 2018 в 23:36 #19

Говорю лишь что знаю.

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

18 Jul 2018 в 02:59 #20

Говорю лишь что знаю.

На dx11 комп сходил с ума после выхода из игры. И после пиков долгая загрузка, иногда вплоть до кика с сервера. Может у меня только. С вулканом та же история. Видимо нагрузка на систему все же у dx11 выше.

Проблема решилась на более чем 50 процентов после постановки dx9.

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

18 Jul 2018 в 03:21 #21

На dx11 комп сходил с ума после выхода из игры. И после пиков долгая загрузка, иногда вплоть до кика с сервера. Может у меня только. С вулканом та же история. Видимо нагрузка на систему все же у dx11 выше.

Проблема решилась на более чем 50 процентов после постановки dx9.

Источник

FAQ (DX11 шаг за шагом)

Содержание

Общие вопросы по вики [ ]

Зачем изучать DX11, если есть DX9? [ ]

Я заметил, что очень многие почему-то считают что начинать надо с DX9 и только потом переходить на DX11. Это неверно. DX9 устарел, и хотя до сих пор делают игры на нем, вы ведь завтра игру не сделаете, в лучшем случае через год или через два. То есть к тому времени когда вы будете способны делать игры, технологии могут сто раз поменяться, поэтому стоит всегда начинать с самых новых. Кроме того скорее всего консоли нового поколения также будут использовать современное GAPI (DX11/OGL 4 или выше).

А почему не OpenGL? [ ]

Подготовка [ ]

Что нужно знать [ ]

Нужно хоть как-то читать по английски, я конечно статьи пишу на русском, но ведь не одну же эту вики вы будете читать:) Как минимум придется читать хелп из DirectX SDK. Если с английским проблемы, советую тогда скачать программу-переводчик (я использую PROMT).

Что нужно скачать [ ]

Вам, нужна IDE, если вы достаточно опытны, то любая к которой можно подключить DirectX SDK. Если вы не опытны, то Visual Studio 2010. Не Visual studio 2008 (из-за того что я использую новый стандарт С++). И не Visual Studio 2012 (там возможно есть какие-то заморочки, хотя можете попробовать, вдруг не будет проблем). Постарайтесь понять как создается статическая библиотека, как библиотеки подключаются к проекту, что такое RELEASE и что такое DEBUG. А в случае проблем вам нужно понимать, как сделать пошаговое выполнение приложения, и вообще иметь общие представления об дебаге приложения.

Кроме того вам нужно скачать DirectX 11 SDK. Это дело лежит здесь

Документация лежит в Microsoft DirectX SDK (June 2010)\Documentation\DirectX9:

С нею вам придется часто работать. Все что я не описываю (например параметры методов), описано там простым английским языком. Хотя документация должна встроится в IDE (но почему-то это не всегда получается)

В папке Microsoft DirectX SDK (June 2010)\Samples\C++ лежат примеры (в том числе и скомпилированные). Вас должны интересовать папки Direct3D10 и Direct3D11 (в них есть папка Bin, в ней уже собранные примеры для запуска)

Вопросы по DirectX SDK [ ]

Какой самый новый и где взять? [ ]

Но я не рекомендую.

Не находит заголовок «d3dx9.h», «d3dx10.h» или «d3dx11.h» [ ]

Скорее всего у вас DX 11.1. В нем вроде как таких заголовков больше нет

Об этом написано здесь:

Wherever «d3dx9.h», «d3dx10.h», or «d3dx11.h» are included in your project, be sure to explicitly include «d3d9.h», «d3d10.h» and «dxgi.h», or «d3d11.h» and «dxgi.h» first to ensure you are picking up the newer version. You can disable warning C4005 if needed; however, this warning indicates you are using the older version of these headers.
Remove all references to DXGIType.h in your project. This header doesn’t exist in the Windows SDK, and the DirectX SDK version conflicts with the new winerror.h.
All D3DX DLLs are installed onto your development computer by the DirectX SDK installation. Ensure that the necessary D3DX dependencies are redistributed with any sample or with your application if it is moved to another machine.
Be aware that replacement technologies for current uses of D3DX11 include DirectXTex and DirectXTK. D3DXMath is replaced by DirectXMath.

Удалите данные строчки.

Вопросы по урокам [ ]

Как изучать [ ]

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

Самый идеальный способ изучения примерно следующий:

Возникли проблемы, что делать? [ ]

Если код не компилируется:

Если ваше приложение компилируется, но не работает:

Приложение работало, вы внесли изменения, и теперь пустой экран (или сразу пустой экран):

Источник

DX11 и DX12: а есть ли между ними разница?

Сменяются видеокарты, игры, процессоры, а смена DX11 на DX12 тянется еще с 2015 года, поэтому многие и забыли, чем эти версии отличаются друг от друга, и что же принесет новая API. В большей части на этом лежит вина и самого Microsoft, так как они сделали DX12 достоянием исключительно Win10, заявив что на более старых системах DX12 невозможно реализовать, но не так давно появилась информация, что поддержка DX12 все же появится на win7, и первой игрой будет World of Warcraft. В результате долгое время компьютеров с поддержкой DX12 было крайне мало, чтобы разработчикам игр вообще стоило обращать на этот сегмент свое внимание. Пожалуй, только сама Microsoft и ее дочерние игровые компании перешли на полноценный выпуск игр на DX12, но среди них не было значимых шедевров, и, пожалуй, самая узнаваемая серия — это Forza Horizon.

Однако, на начало 2019 года ситуация стала меняться, и, прежде всего, мы уже видим в статистике STEAM, что большинство компьютеров (64.53%) уже имеют как видеокарту так и операционную систему, совместимую с DX12, и стоит напомнить, что последнее поколение приставок Microsoft и Sony тоже поддерживают DX12, что в итоге дает нам абсолютное большинство игровых устройств DX12 ready.

В итоге мы видим, что на конец 18 и начало 19 года все больше и больше игр отказываются от DX11 как основного API в пользу как DX12, так и Vulkan. Вот их список:

Готовятся к выходу и, скорее всего, будут иметь поддержку Vulkan или DX12

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

Таким образом выглядит пример работы игры с DX11: один поток отвечает за обработку видео, на остальных работают другие части движка, например звуковой движок, сетевая часть, расчет NPC и так далее, главное, что за самую емкую и сложную часть отвечает только 1 ядро процессора. Теоретически DX11 может работать максимум с двумя потоками, но, к сожалению, как показывает практика, это остается только теорией. DX12 уже способен работать с восемью потоками, и выглядит это так:

DX12 распределяет по потокам/ядрам самую объемную задачу по подготовке данных и последующей обработке их на GPU, что влияет положительно на производительность. Производительность, разумеется, не вырастает в 8 раз, так как этот процесс не идеально масштабируемый, и есть и другие узкие места. Забавно отметить, что результаты работы в случае всего одного потока или восьми отправляются на GPU о обрабатываются тысячами ядер CUDA или CU в зависимости от вендора GPU.

Что же происходит с данными попавшими в GPU?

Вверху видна последовательность обработки данных DX11, которая происходит в строго установленном порядке, и без выполнения предыдущих задач следующие не могут быть реализованы, тогда как DX12 имеет возможность разделения и исполнения этих задач на разных ядрах нашего GPU, что обеспечивает большую загрузку самого GPU и приводит к уменьшению задержек и росту FPS. Важно отметить, что скорость исполнения самих элементов, из которых состоит вся задача, не увеличивается. Весь выигрыш в производительности достигается только за счет оптимизации очереди — это и называется асинхронные вычисления.

Давайте теперь взглянем на то, что же конкретно подготавливает CPU для последующей обработки на GPU, если конечную картинку мы видим в таком виде:

То процессор передает каркас изображения в виде сетки полигонов для последующей закраски — аналогия с деткой книжкой-раскраской более чем уместна.

Каждый из полигонов обрабатываются на CPU и называется вызовом отрисовки или draw call. Соответственно, чем больше полигонов в кадре мы видим, тем больше нагрузка на CPU, такие ситуации наиболее характерны для игр с открытым миром и появления большого количества объектов в кадре, особенно если это очень детализированные объекты как NPC. В других случаях — когда мы смотрим в небо или видим незначительное кол-во полигонов в каком-нибудь ограниченном пространстве, например, коридоре, где вызовов отрисовки не так много, преимущества DX12 тают. Давайте перейдем к выводам из теоретической части знакомства с DX12.

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

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

DX12 не снижает нагрузку на процессор, а, наоборот, увеличивает, только при этом нагрузка распределяется до 8ми ядер/потоков процессора а не ложится на 1 ядро.

Выигрыш от перехода на DX12 будет у процессоров с небольшой производительностью на ядро, но большим их количеством, например, как серия FX от AMD.

Синтетический тест 3D mark Api Overhead Test https://3dnews.ru/911658

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

Игровые тесты

Lara Croft Shadow of the Tomb Raider

Для рассмотрения возьмем последнюю сцену из 3х тестовых отрезков — она наиболее характерна большим количеством вызовов отрисовок.

Обратите внимание на загрузку процессора: слева DX11 74%, справа DX12 100%.

Первые 3 значения относятся к последней сцене теста, четвертое же значение — это результат по всем трем сценам. Примечательно что максимальный кадр, который был отмечен, был в момент показа именно куска неба, и разницы между API нету, в то время как наибольшая разница отмечена именно в минимальных кадрах, и достигает она внушительных 43%. То есть, в самых графически нагруженных сложных сценах мы видим наибольшую пользу от перехода на DX12.

Resident Evil 2 remake

что значит dx9 и dx11. Смотреть фото что значит dx9 и dx11. Смотреть картинку что значит dx9 и dx11. Картинка про что значит dx9 и dx11. Фото что значит dx9 и dx11

В этом тесте мы видим куда менее тривиальные результаты: падение максимального и среднего кадра, но и подъем минимальных значений аж на целых 33%. То есть, в моментах, где производительности 1 потока вполне хватает, DX11 даже быстрее, но как только сцена усложняется и производительности 1 потока недостаточно, DX12 раскрывается, что переносит весь игровой процесс до 60+ кадров, а DX11 опускается до условно неиграбельных 45. Боюсь именно с такими результатами и связана такая нелюбовь тестеров к DX12, так как в нем может быть меньше максимальных кадров, и даже, что может показаться совсем неприемлемым, и средние кадры, однако, как ни парадоксально, DX12 при этом более комфортен для игры.

Давайте перейдем к связкам с другим видеокартами и процессорами и понаблюдаем за результатами. Для этого выберем 4 игры:

Все эти игры работают как в режиме DX11, так и DX12. Давайте сравним, каковы будут изменения от смены API. Во всех тестах в качестве CPU применялся 9900K в разгоне до 5.0. Другими словами, мы увидим ситуацию, когда процессор не ограничивал нашу производительность.

Данные в таблице — это изменения в % между API. Интересно, что видеокарты семейства Pascal по-разному реагируют на DX12, несмотря на одинаковую архитектуру в их основе, прироста на младших моделях нет, связано ли это с работой драйвера или аппаратной части, находится за рамками этого блога. Нужно констатировать только одно: на видеокартах, формально имеющих поддержку DX12_1, прироста от перехода на новый API может не быть. С другой стороны, видеокарта RX 580, формально имеющая поддержку только DX12_0, дает прирост в 9% как топовая GTX 2080, прирост у видеокарт Vega доходит до 17%, что является просто потрясающим результатом. В любом случае мы замечаем прирост на последних сериях видеокарт от 5% до почти 20% производительности, и это очень значительное изменение. Что можно сказать — даже в связке с мощным процессором на современных видеокартах переход на DX12 оправдан и увеличивает производительность, если провести подобные тесты с менее производительным процессором, то отличия будут еще более существенны.

Справедливо будет заметить, что у компании Nvidia традиционно была хорошая производительность под DX11, и можно было бы предположить, что DX12 просто мог не давать таких преимуществ как у конкурентов. Давайте немного отвлечемся от темы сравнения API и взглянем более пристально на сами видеокарты.

Что ж, в DX11 видим тотальное доминирование продуктов Nvidia, и только Vega 56 немного опережает своего визави в виде GTX1070.

Однако при переходе на DX12 ситуация кардинально меняется, и Vega 56 опережает GTX 1070 уже на 13% и отстает на 7,6% от GTX1080, Vega 64 же опережает GTX 1080 5.4% и не дотягивает до RTX 2070 всего 2%! Да, похоже, AMD не зря в своих презентациях много внимание уделяла DX12 — действительно, их продукция намного лучше чувствует себя под новым API.

В качестве вывода можно сказать, что для владельцев старых процессоров, которые приобрели одни из последних серий видеокарт, переход на DX12 в любимой игре даст ощутимую прибавку производительности вплоть до 50%, при использовании DX12 на топовых видеокартах и процессорах выигрыш DX12 может составлять 10-20%, что тоже крайне не мало, поэтому все больше и больше разработчиков обращают внимание на новый API, и если в 19 году как минимум 50% из крупных, так называемых AAA, игр вышло с поддержкой DX12, то с выходом консолей нового поколения как от Microsoft, так и от Sony игровая индустрия окончательно перейдет на новый стандарт, поэтому при покупке видеокарты уже сейчас стоит обращать внимание преимущественно на тесты именно в этом API. Поэтому, скажем, новые серии Turing в виде 1660 1660ti 1650 1650ti могут быть намного привлекательнее, чем это могло бы казаться на первый взгляд т.к. по сравнению с 1050ti,1060, 1070 они действительно быстрее работают под новым API.

Результаты последних тестов взяты со страниц сайта gamegpu.com

Больше моих тестов и обзоров вы найдете на моем youtube канале.

Источник

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

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