Directx 12 что это
Интерфейс прикладного программирования (по-английски API — application programming interface) DirectX 12 создавался Microsoft, как «наш ответ» конкурентам – аналогичным интерфейсам низкого уровня Mantle и OpenGL. Первое появления нового API произошло 29 июля 2015 года в Windows 10. Эта система являлась (и является до сих пор) единственной операционкой, поддерживающей все функции данного API.
Однако, следует сказать, что рынок аппаратных решений был не просто готов к подобному повороту событий, он ждал официального выхода пакета DirectX12, поскольку совместимые с первым уровнем поддержки (DirectX 12_0) видеокарты появились ещё в 2013 году (серия Radeon HD 7730), примерно за полгода до официального анонса нового API.
Возможно, правильнее даже будет сказать, что разработкой нового API занялись специалисты AMD, а Microsoft просто развили данные идеи и сделали набор этих библиотек стандартом, но эти мелочи не важны конечному пользователю.
Для пользователя гораздо важнее другой вопрос – какие видеокарты поддерживают directx 12 и входит ли его видеокарта в этот список.
Рассмотрим вопросы аппаратной поддержки библиотек API DX12 в современных видеокартах NVidia.
Видеокарты, поддерживающие directx 12
Сразу же следует оговориться, что уровней поддержки у данного пакета целых три:
- DirectX 12 API;
- DirectX 12_0;
- DirectX 12_1.
Первый уровень базовый. Он не интересен пользователю, поскольку это повторение обычных стандартных точек входа предыдущей версии, 11-й. Перечень видеокарт, поддерживающих его, начинается с поколения Fermi (а это далёкий 2010 год) и заканчивается самыми современными чипами Turing.
А вот уже два последних уровня – это и есть поддержка Direct3D на уровне аппаратной части графического процессора. У фирмы NVidia их поддерживают следующие поколения графических процессоров:
- Maxwell-2 (Geforce-900);
- Pascal (Geforce -10);
- Volta;
- Turing (Geforce-20).
Видеокарты, которые созданы на базе данных чипсетов, поддерживают directx 12 на аппаратном уровне. Ниже приведен список данных видеокарт по чипсетам:
- Maxwell-2:
- GeForce GTX 950;
- eForce GTX 960;
- GeForce GTX 970;
- GeForce GTX 980;
- GeForce GTX 980 Ti;
- GeForce GTX Titan X.
- Pascal:
- GeForce GT 1030 (DDR4);
- GeForce GT 1030;
- GeForce GTX 1050 2 Gb;
- GeForce GTX 1050 3 Gb;
- GeForce GTX 1050 Ti;
- GeForce GTX 1060 3 Gb;
- GeForce GTX 1060 5 Gb;
- GeForce GTX 1060 6 Gb;
- GeForce GTX 1070;
- GeForce GTX 1070 Ti;
- GeForce GTX 1080;
- GeForce GTX 1080 Ti;
- NVIDIA TITAN X;
- NVIDIA TITAN Xp.
- Volta:
- NVIDIA TITAN V;
- NVIDIA Quadro GV100;
- NVIDIA TITAN V CEO Edition.
- Turing:
- GeForce RTX 2060;
- GeForce RTX 2070;
- GeForce RTX 2080;
- GeForce RTX 2080 Ti;
- TITAN RTX;
- GeForce GTX 1660 Ti.
Внимание! Кроме перечисленных видеокарт поддержку 12-й версии Direct3D имеют также и их мобильные версии. Отличить их можно по индексу «М» или «МХ» в их названии. Для GeForce 10-й серии также используется слово «Notebook».
Проверка видеокарты на совместимость с directx 12
Чтобы проверить, совместима ли видеокарта с DirectX 12, следует просто узнать, на каком чипсете она сделана. Если он присутствует в списке перечисленных, значит видеокарта поддерживает API на аппаратном уровне, если нет – соответственно, не поддерживает.
Узнать это можно с помощью любой программы диагностики компьютера, например, Speccy, HWInfo или AIDA.
Можно поступить и другим способом. Используя стандартное средство Windows «Сведения о системе» можно получить информацию о том, какой в системе установлен видеоадаптер. Далее при помощи сайта NVidia или AMD можно узнать, какую версию API поддерживает данный адаптер.
Запустить программу можно следующим образом: нажав Win+R, набрать в окне «msinfo32» и нажать «ОК». Тип адаптера будет указан в разделе Компоненты – Дисплей – Описание адаптера.
DirectX 12 - это особый компонент, обеспечивающий слаженную работу ОС и других приложений, в основном игр, с драйверами видеокарты.
Если вы регулярно следили за нашей серией материалов, связанных с новой Windows 10, вы, вероятно, заметили, что не редко в них упоминался DirectX 12. Это не случайно – с того момента, когда Microsoft заговорила о следующей версии операционной системы, компания не раз подчеркивала центральную роль, отведенную в ней последнему DirectX. Почему это так важно для вас, как пользователя, и какие улучшения принесет новая версия графического интерфейса с предстоящей Windows 10? Сегодня мы постараемся кратко ответить на эти вопросы.
Частые вопросы о DirectX
Новая жизнь для старых компьютеров
Другое очень интересное обещание, связанное с DirectX 12, звучит так: оптимизация. Microsoft говорит, что только с обновлением до Windows 10 (и DirectX соответственно) мультимедийная (т.е. игровая) производительность вашего компьютера может увеличиться почти в два раза. А предварительные тесты PCWord показали, что рост может быть даже больше.
За счет чего можно достичь аналогичного скачка в производительности без замены аппаратных средств? Все очень просто – за счет полноценного использования ресурсов, которым располагает компьютер.
Сегодня практически все актуальные компьютеры, будь то мобильные или настольные, рассчитывают на процессор с более чем одним вычислительным ядром. Более того – в современных графических процессорах количество ядер измеряется тысячами.
Возвращаясь в прошлое, когда Intel закончила «войну за мегагерцы» и приняла концепцию повышения производительности посредством параллелизма, т.е. путем разделения операций/расчетов между двумя и более процессорными ядрами, тогдашнее программное обеспечение было не готового к такому гигантскому скачку вперед.
Ни массовые операционные системы (читай Windows), ни приложения, работающие под их управлением, не были оптимизированы так, чтобы максимально использовать преимущества от наличия более одного процессорного ядра.
Поэтому замена одноядерного на двух- или четырехъядерный процессор, несомненно, приводила к росту производительности, но не так драматично, как ожидали пользователи.
Одна из основных задач нового DirectX 12 как раз таки и заключается в том, чтобы позволить играм по максимуму использовать все доступные ядра процессора и нагружать их на полную мощность. Эффект от такой оптимизации мягко говоря впечатляет – результаты в популярном тесте 3D Mark показывают 10-15-кратное увеличение производительности при переходе от DirectX 11 к DirectX 12!
Тем не менее, это еще не все. Софтверный гигант обещает рост производительности не только для мощных десктопных систем, но и для более слабых устройств, таких как портативные компьютеры и планшеты с Windows.
Разумеется, это не означает, что они чудесным образом превратятся в полноценную альтернативу настольному игровому PC, но благодаря Windows 10 и DirectX 12 они предложат более гладкую и качественную графику.
Новый интерфейс обеспечит и гораздо более эффективный алгоритм распределения задач между интегрированной и дискретной графикой – функция, подобная той, которую предлагает нашумевшая несколько лет назад технология Virtu от компании Lucid.
И наконец – DirectX 12 подготовит Windows для нового мира разрешения 4К, которое мы надеемся, закрепится в мире ПК в ближайшие несколько лет.
Компания Microsoft несколько часов назад представила DirectX 12 Ultimate. Повторяя слова пресс-релиза, это кульминация лучшей графической технологии, которую Microsoft когда-либо представляла.
Когда геймеры приобретают графическое оборудование для ПК с логотипом DX12 Ultimate или Xbox Series X, они могут быть уверенными, что их оборудование гарантированно поддержит все функции графического оборудования всего поколения, включая DirectX Raytracing, затенение с переменной частотой, Mesh Shaders и Sampler Feedback.
Проще говоря, DirectX 12 Ultimate включает в себя все актуальные наработки в области компьютерных графических систем. Видеокарты GeForce RTX уже полностью поддерживают DirectX 12 Ultimate. Грядущие адаптеры AMD на архитектуре RDNA2 также будут поддерживать этот API и, конечно, его поддерживает и Xbox Series X. При этом владельцам всех остальных 3D-карт переживать не стоит, так как появление DirectX 12 Ultimate никак не повлияет на совместимость этих устройств с будущими играми.
Из особенностей DX12 Ultimate можно отметить API DirectX Raytracing (DXR) 1.1 — обновлённую версию DXR 1.0. Nvidia утверждает, что с приходом DX12 Ultimate игр с трассировкой лучей станет ещё больше.
Что касается остального, кратко напомним, о чём идёт речь. Технология переменной частоты затенения (VRS — variable rate shading) дает возможность динамически изменять разрешение при затенении пикселей на разных участках кадра для увеличения производительности.
Mesh Shaders — это целая новая шейдерная модель, которая ответственна сразу за всю работу над геометрией, вершинами, тесселяцией и так далее.
Sampler Feedback, как говорит Microsoft, обеспечивает лучшее визуальное качество, более короткое время загрузки, предоставляя подробную информацию, позволяющую разработчикам загружать текстуры только при необходимости.
Предлагаем в этой статье разобраться, что нужно знать обычному пользователю ПК о приложении DirectX.
Для обычного игрока разработка компьютерных программ может показаться сложным и длительным процессом. И это действительно так. Например, каждая модель консолей (Xbox, PlayStation, Nintendo) содержит в себе один конкретный процессор, видеокарту, встроенную память, слоты ввода и другие аппаратные компоненты. Поэтому для них не требуется дополнительное ПО.
В то же время разработчики компьютерных игр сталкиваются с большим изобилием аппаратных конфигураций. Как следствие, возникает необходимость в приложении, способном заставить весь этот “зоопарк” работать слаженно и без ошибок.
Преимущества DirectX 12
Вплоть до выхода DirectX 12, недостатком программы было отсутствие низкоуровневого доступа к аппаратным компонентам компьютера. Для решения этой проблемы AMD выпустили свой собственный пакет, под названием Mantle API. Это помогло оптимизировать работу старых версий DirectX с аппаратурой AMD. Тем не менее, данный софт никак не повлиял на владельцев видеокарт NVIDIA.
Исторически сложилось так, что драйверы и программное обеспечение ОС управляли памятью и другими ресурсами ПК отдельно от имени их разработчиков. Однако это было неэффективно. Низкая производительность связана в первую очередь с тем, что данный алгоритм не мог проанализировать потребности активной программы. DirectX 12 в свою очередь помогает приложениям напрямую управлять ресурсами компьютера и выполнять синхронизацией аппаратуры. В результате разработчики игр могут наладить эффективную работу GPU относительно других компонентов.
Дополнительной особенностью DirectX 12 является функция распределения нагрузки между ядрами центрального процессора. Если раньше, в DirectX 11, “отдуваться за всех” могло лишь одно ядро, то теперь задействованы все элементы ЦП.
Немного предыстории
Хотя он часто воспринимается как неотъемлемая часть каждой Windows, на самом деле впервые DirectX появился во втором пакете обновления для Windows 95. Он представляет собой комплексный набор различных модулей, объединенных под общим названием «интерфейс прикладного программирования» (application programming interface или API). Каждый из них выполняет многочисленные и разнообразные функции, но их главная цель заключается в обеспечении прямого доступа для различных мультимедийных и видеопрограмм (в основном игры, конечно) к аппаратной части компьютерной системы, работающей под управлением Windows.
До появления первой версии DirectX (которая носила серийный номер 2.0а) с Windows 95 Service Release 2, запуск и выполнение подобных приложений (игр) был громоздким и сложным процессом. Чтобы получить прямой доступ к аппаратному обеспечению, программа обращалась к DOS – предшественник Windows без графического интерфейса. Это был, мягко говоря, неэффективный механизм использования компонентов, таких как оперативная память, видео и звуковая карта и т.д.
С появлением Windows 95 Microsoft решила, что пора открыть новую страницу в своей истории. Компания осознала, что для того чтобы сделать новую операционную систему популярной среди обычных пользователей и особенно среди геймеров, одна должна предложить более эффективную рабочую среду для работы игровых тайтлов.
Так родился DirectX – программный интерфейс нового поколения, благодаря которому все мультимедийные приложения, способные его использовать, получили более быстрый доступ к необходимому им оборудованию.
В начале принятие нового API пошло сравнительно медленно, особенно на фоне достаточно сильной конкуренции со стороны появившегося несколькими годами ранее OpenGL. Постепенно, однако, DirectX становился все лучше и лучше, и сегодня практически в одиночку доминирует в мире компьютерных видеоигр – по крайней мере, на платформе Windows.
Что такое DirectX в Windows 10
Простыми словами, DirectX это программное обеспечение, взаимодействующее с аппаратными компонентами ПК. Оно участвует в вычислительных процессах, связанных с рендерингом 2D и 3D графики, рендеринге видео и воспроизведении звука на платформе Windows.
Комментарий NVIDIA: Основное внимание DirectX 12 направлено на значительное увеличение качества графики за счет снижения нагрузки на центральный процессор.
Приложение яростно соперничает с OpenGL, другим графически ориентированным софтом, представленным в 1992 году. Он представляется с открытым исходным кодом и находится в непрерывной разработке технологического консорциума Khronos Group. И хотя OpenGL является кросс-платформенным API, он вряд ли когда-либо станет конкурентом для DirectX в Windows.
Счастливый номер 12
Не сложно догадаться, что цифры в названии интерфейса указывают номер его версии. В данном случае мы говорим о двенадцатой версии DirectX, которая заслуживает особого внимание из всех одиннадцати других, которые предшествуют ей.
Правда в том, что все последнее десятилетие – с момента появления версии 10, Microsoft в основном «лежала на старых лаврах», если говорить о DirectX. Доминирующее положение интерфейса (и Windows в частности) в сегменте PC сделало компанию немного ленивой, и в результате большинство улучшений в версиях 10 и 11 были скорее эволюционными, чем революционными. Каждая из этих версий получила промежуточные обновления, которые добавили относительно небольшие оптимизации и новые, но не особенно впечатляющие возможности.
В отличие от них версия 12 является большим, решительным шагом вперед не только для DirectX в частности, но и для Microsoft в целом.
Поскольку Windows 10 будет единой платформой, работающей на смартфонах, планшетах, ноутбуках, настольных компьютерах и игровых консолях (Xbox One), появление DirectX 12 отразится на гораздо более широком спектре аппаратных устройств.
Владельцам Xbox One, например, новый интерфейс обещает ускорение возможностей рендеринга и, следовательно, более красивые на вид игры. Более того, в Microsoft надеются, что переход к DirectX 12 уничтожит превосходство их главного конкурента – консоли Sony PlayStation 4, которая в настоящее время предлагает более высокую вычислительную мощность, чем Xbox One. Например, новый API позволит разработчикам игр получить более быстрый доступ к высокопроизводительному ESRAM буферу Xbox, а это в свою очередь приведет к росту количества кадров в секунду.
DirectX 12 обещает и ускорение приборной панели Xbox One, как и полноценную поддержку 4К видео.
Как определить версию DirectX
Часто на DirectX не обращают такого же внимания, как оно уделяется версии драйвера видеокарты или любого другого устройства. Это вполне естественно. И по этой причине многие пользователи не знают какая версия программного обеспечения у них установлена. К счастью, уточнить ее довольно легко.
1. Воспользуйтесь комбинацией клавиш Windows + R и откройте утилиту Выполнить .
DirectX 12 вышел еще 29 июля 2015 года вместе с Windows 10, при этом по заявлениям Microsoft данный API разрабатывался около 5 лет. Новый API сильно отличается от DirectX 11, и позволяет практически равномерно распределять нагрузку процессора по всем ядрам, а не держать почти все дроуколы на одном ядре. Сам по себе API — это программная прослойка между железом компьютера и операционной системой, на которой вы запускаете игры и различные программы. DirectX 12 имеет низкоуровневый доступ, что дает возможность получить полный доступ к аппаратным ресурсам. Что-то похожее уже давно имеется на консолях.
AMD делала похожий API под названием Mantle, но с его API вышло мало игр, и разработка загнулась. Еще есть кроссплатформенный Vulkan, но видно, что ему не хватает поддержки от разработчиков, в отличие от того же DirectX, и как 3 года существует уже его 12-я по-своему революционная версия. Многие игры, которые используют DX12 не показывают чудес в производительности, так как чтобы воспользоваться DX12 по максиму нужно изначально разрабатывать эту игру опираясь на API DirectX 12, а не докручивать его непонятным образом во время разработки или вообще после релиза.
Хотя и нужно отметить, что с каждым годом эти показатели все лучше и лучше. Тот же недавний Battlefield 5 показывает местами прирост производительности до 70 кадров, правда такие отличия вы найдете, если не будет упора в видеокарту. Видно, что спустя время допилили как саму поддержку DX12 так и сам движок Frostbite, и кто чтобы что про него не говорил и не снимал 50-минутные разоблачающие видео, но он показывает до сих пор выдающиеся результаты. Оптимизация идет процессорной нагрузки, что и обещала Microsoft. Похожая ситуация и с другими играми.
Когда только презентовали DX12, а это было в 2014 году, то нам рассказывали просто невероятные вещи, а именно то, что приложения, которые будут использовать DX12, смогут в 2-3 раза быстрее работать, нежели приложения с DX11. С выходом Windows 10 вышел и новый API DX12, который можно было протестировать в бенчмарке 3D Mark и производительность была двукратная, в два раза больше вызовов отрисовки по сравнению с DX11, даже на картах лишь с программной поддержкой. Многие начали думать, что теперь их старенькие 2-х ядерными монстры просто смогут вывозить новенькие игры, даже оптимизацию карты до 30% обещали завести, но что-то не срослось. Уже прошло больше 3-х лет, а игр с поддержкой DX12 довольно-таки мало, ну по сравнению с DX11 это уж точно. С каждым годом эта поддержка увеличивается, но не настолько сильно, как это бы хотелось. Сейчас мы коснемся этой темы, а также затронем и другие.
Если вы помните, то DX11 вышел в 2009 году, а активно данный API начали использовать примерно в 2015 году, когда практически все игры начали выходить с нативной поддержкой DirectX 11, а не с двумя API DX9 и DX11, как это было долгое время. А DirectX 9 до сих пор иногда используется, хотя данному API уже больше 17 лет, но не суть, мы говорим про новые крупные проекты. Чтобы выпускать все игры с поддержкой DX12 нужно, чтобы большинство пользователей перешли на видеокарты с DX12, а на это понадобиться минимум еще года 3, а в лучшем случае лет 5. Хотя и нужно отметить, что старые карты поддерживают DX12, но они его поддерживают лишь программно и лишь некоторые библиотеки, а значит для полноценной поддержки понадобиться видеокарта с полноценной аппаратной поддержкой DX12.
Во-вторых, полностью на DX12 мы перейдем, когда прекратиться поддержка также и оригинального Xbox One, который на рынке уже больше 5 лет и оборудование там мягко говоря устарело и также там имеется только программная, т.е. неполноценная поддержка DX12, а значит пока будут разрабатываться игры под оригинальный Xbox One, то ждать DX12 в массы не стоит, а его списывание произойдет примерно через года 2-3, тем более что на его замену уже вышел Xbox One X с аппаратной поддержкой DX12. Поэтому нужно минимум дождаться окончания поддержки оригинального Xbox One, а это наверно произойдет не скоро.
Еще стоит отметить, что API DirectX 12 обновляется каждый год. К примеру, вы знали, что данный API поддерживает унифицированную шейдерную модель 6-й версии? Не знали? Так вот, поддержка есть, но на уровне драйверов их до сих пор нет, хотя она появилось примерно 2 года назад в юбилейном обновлении Windows 10. Также в DirectX интегрирован физический движок Havok, да, Microsoft его довольно давно выкупила и при разработке игр на DX12 разработчики могут бесплатно его использовать. Данный компонент имеет название Direct Physics.
Разработчики жаловались, что очень сложно заставить карты разных производителей работать вместе. И тут же Microsoft выпустила упрощенный инструментарий для внедрения данной поддержки, из-за чего естественно будет теряться производительность, но это так никто и не реализовал, хотя и стоит отметить, что была и серьезная реализация с использованием разных карт, к примеру, в игре Ashes of the Singularity.
И вот совсем недавно вышло обновление для Windows 10 под названием October 2018 Update и помимо обновления системы произошло обновление API DirectX 12, в котором появилась поддержка на уровне API технологии трассировки лучей – DirectX Ray Tracing (DXR). Многие ошибочно полагают, что это технология NVIDIA, но нет. NVIDIA лишь дает аппаратное ускорение для трассировки, вот и все. Microsoft просто стандартизировала Рей Трэйсинг, так как по факту этой технологии уже не один десяток лет. По идее, уже должен был выйти API DirectX 13, но майки просто обновляют имеющийся DirectX, что также не очень хорошо, так как постоянно его стандарт меняется. Кстати, на консолях нового поколения AMD обещает также запилить аналогичные RT-ядра для аппаратного ускорения, но изменения от этой технологии будут не большие, как и сейчас при Рей Трейсинге, но они будут.
Если говорить про 2019 год, то DirectX 12 снова обновится, неожиданно, правда? Привыкайте, что каждый год будет обновляться данный API, при этом некоторые изменения требуются на аппаратном уровне железа. С весенним обновлением 19H1 ожидается, что Microsoft внедрит новый компонент в DirectX под названием DirectML. Данный компонент, думаю понятно из названия, будет отвечать за машинное обучение и искусственный интеллект. Для его работы потребуются тензорные RT-ядра, хотя скорее всего и обычные CUDA-ядра сгодятся, просто вычисления будут гораздо медленнее идти. Но, с другой стороны, в том же 5-й Battlefield если нет поддержки трассировки на аппаратном уровне, то и меню выбора DXR также нет, это нужно учитывать. Ну так вот, благодаря DirectML вы сможете выполнять различные профессиональные задачи, по сути, на дому, если вы занимаетесь изучением нейронных сетей, к примеру. Также немаловажным событием стоить отметить и гейминг.
На закрытой демонстрации показывали многократное повышение разрешения с FullHD до 4K при помощи машинного обучения, при этом от увеличения разрешения нагрузка на карту не росла, по крайней мере разработчики из Microsoft так говорят. Из той презентации единственное что есть, это демонстрация этого масштабирования при помощи того самого машинного обучения. Как видите, отличия есть, но при этом практически никакой дополнительной нагрузки на карту нет, кроме наверно вышеупомянутых тензорных ядер, вот до чего техника дошла.
Теперь про игры. Также не маловажным фактом послужит то, что если изначально игра будет разрабатываться под DX12, то только тогда можно говорить об отличном распараллеливании ресурсов и о хорошем FPS. Хотя во многом тут зависит и от лени программистов. Ну и также не стоит забывать, что с каждым годом уровень детализации в играх растет, даже если освободятся ресурсы, то разработчики найдут их применение, например увеличат дальность прорисовки или тот же FPS, если не будет все упираться в видеокарту, если мы говорим про консоль, хотя и ПК тут также можно привести в пример.
В общем, полноценно DX12 еще появится не скоро, но может быть я ошибаюсь. Уже даже есть неплохие примеры. К примеру, тот же Battlefield 5 при использовании DX12 имеет прирост в 30 кадров в секунду, а в некоторых моментах и 70 кадров, как я и отмечал ранее, правда, при этом настройки графики средне-низкие. Также не нужно забывать и про альтернативу, например API Vulkan, судьба которого еще не известна. У Microsoft есть ресурсы на поддержание DX12, есть игры и монополия в ПК-сегменте. Даже если игры разрабатываются параллельно, то упор идет на DX, если мы говорим платформы Microsoft – Xbox и PC. AMD очень активно занимается продвижением Вулкана, правда с их картами серии RX задача намного усложняется и скорее всего все закончится печально как и с Mantle, но кто знает, может я опять ошибаюсь. Vulkan – очень перспективный API, одна его кроссплатформенность чего стоит, но если посмотреть на игры с поддержкой Vulkan, то как-то все не очень радужно. Многие заявляют, что они будут поддерживать Вулкан, но по факту этого нет, но при этом скромная, но доминация DX12 присутствует, хотя многие разработчики говорят, что разрабатывать игры под DX12 довольно сложная затея.
3D-программист из Ubisoft Тьяго Родригез рассказывал на мероприятии GDC 2017, что пока добиться производительности уровня DX11 с применением API DX12 очень сложно, не говоря уже про увеличение этой самой производительности. Хотя, глядя на текущие игры Ubisoft не особо понимаешь, о какой производительности там идет речь. Но тем не менее, программист похвалил новый API за счет Async Compute, они же асинхронные шейдеры.
Nixxes Software, которые занимаются портированием ПК-игр Square Enix заявляет, что из-за DX12 требуется больше усилий, но оно того стоит.
Разработчики из The Coalition, которые занимаются игровой серией Gears of War заявляют, что благодаря переходу на DX12 в Xbox One удалось освободить некоторые ресурсы, а также появились ресурсы для поддержки HDR и масштабирования до 4K.
Кстати, если кому интересно, то первой игрой с поддержкой API DX12 считается игра Star Wars Battlefront 2015 года для Xbox One. Изменений там видно было не много, так как игра работала в 720p + в основном там была программная поддержка.
Насчет программной и аппаратной поддержки. Понимаете, на уровне железа должна быть поддержка нового API, чтобы игра банально работала. К примеру, если у вас нет видеокарты с аппаратной поддержкой DX12, то выбора данного API и не будет даже в самой игре.
В принципе, можно через эмулятор DirectX попробовать запустить игру на DX11-12 на карте с DX9-10, но многих текстур и эффектов вы не будете наблюдать. Кстати, интересная программа, надо бы как-то про нее написать статью. Поэтому те, кто говорят, что на старых картах нельзя запустить новые игры – в принципе можно, но многих шейдеров, текстур, теней и частиц вы просто не увидите, а может и вообще не запустится. Хоть Microsoft и говорила, что старые карты будут поддерживать DX12, но по факту только Microsoft в своих релизах делает такую поддержку, сторонние разработчики требуют нативную поддержку DX12. Не зря же Microsoft представила 3 варианта поддержки DX12 – с ума сойти.
Если коснуться конкретнее уровней поддержки DirectX 12, то DirectX 12 API – данный уровень поддерживается всеми видеокартами как с нативной поддержкой DX11, так и с DX12. Суть его заключается в основном в равномерном и более продуктивном использовании ядер процессора.
DirectX 12_0 – данную версию API поддерживают все современные видеокарты NVIDIA и AMD. Суть ее заключается в использовании тайловых текстур, которые позволяет хранить текстуру не целиком, а лишь ее часть, после чего, ее можно будет многократно продублировать на экране. Благодаря этому размер самой текстуры уменьшается в разы, но при этом скорость рендеринга очень сильно увеличивается.
DirectX 12_1 – данную версию поддерживает пока что только видеокарты NVIDIA начиная с Maxwell 2-го поколения. Здесь главное новшество – использование консервативной растеризации, которая используется в технологии динамического суперразрешения. Естественно, я здесь все сказал, обобщенно. Но идея заключается в том, что только GPU и их архитектуры, разработанные под DirectX 12 смогут использовать все его возможности по максимуму, думаю теперь это стало ясно.
Те игры, которые поддерживают DX12 они не сказать, что много добавляют FPS, в основном разницу можно увидеть только лишь при пониженном разрешении или при низких настройках. Да, идет оптимизация потоков, но из-за упора в видеокарту все сходит на нет, поэтому многие разработчики пока не видят сильного желания разрабатывать игры под новый API, хотя с каждым годом игр с поддержкой DX12 становится все больше и больше, и когда-то произойдет тоже самое, что и с DX11 – будут разрабатывать игры и приложения только под него, но из-за постоянно меняющихся спецификаций DX12 трудно сказать, когда это действительно произойдет.
Читайте также: