Directx 12, когда он вышел
Обновлено: 21.11.2024
Интернет уже несколько месяцев гудит из-за обещания игровой технологии DirectX 12, лежащей в основе Windows 10. Значительно более высокая частота кадров! Значительно сниженное энергопотребление! Значительно улучшена производительность аппаратного обеспечения AMD! A—вздох—целая новая эра компьютерных игр.
И все это правда! Э, может быть.
Поскольку Windows 10 скоро появится на ПК по всему миру в рамках поэтапного развертывания Microsoft, давайте найдем время, чтобы разобраться в DirectX 12: что он на самом деле делает, где его можно найти и, самое главное, когда можно начните пользоваться его сладким, сладким «близким к металлу» совершенством.
Что такое DirectX 12?
Начнем с высокого уровня. DirectX 12 — это новейшая версия интерфейса прикладного программирования Microsoft DirectX, который обрабатывает визуальные и другие мультимедийные задачи в системах на базе Windows. Большинство конечных пользователей знают об этом, потому что очень большое количество компьютерных игр так или иначе опираются на DirectX для улучшения графики.
DirectX в основном ассоциируется с Windows, но поскольку недавняя инициатива Microsoft «Windows везде» распространит основные элементы Windows 10 практически на все платформы Microsoft, DirectX 12 появится на компьютерах и планшетах с Windows 10, мобильных телефонах с Windows 10 и даже на мобильных устройствах с Windows 10. Xbox One в свое время. Если ваше устройство работает под управлением Windows 10, в основном оно работает с DirectX 12.
Изображение: Microsoft
Если ваше устройство работает под управлением Windows 10, оно работает с DirectX 12.
Забавный факт: название «Xbox» происходит от «DirectX Box». Не очень забавный факт: Microsoft не объявляла о планах по внедрению DirectX 12 в предыдущие версии Windows, поэтому, похоже, вам нужно будет обновиться до Windows 10, чтобы получить его. Хорошо, что Windows 10 бесплатна для большинства людей.
Что особенного в DirectX 12?
Короткий ответ: это может ускорить ваши компьютерные игры, если разработчики решат задействовать DirectX 12 в полной мере.
Подробный ответ. Причина, по которой DirectX одержал победу над проприетарными графическими API прошлых лет, заключается в высоком уровне аппаратной абстракции. Огромный объем доступных компонентов в экосистеме ПК ошеломляет, и это до того, как вы даже не вникнете в тонкости возможных комбинаций системы со всеми этими частями. DirectX 12 позволяет разработчикам ориентироваться на высокоуровневые API, которые затем в фоновом режиме обрабатывают все мельчайшие детали совместимости оборудования.
DirectX 12 продолжает это, но также предоставляет разработчикам дополнительный низкоуровневый доступ к оборудованию, если они хотят дополнительно оптимизировать свое программное обеспечение. Функция выделения API, по сути, позволит играм более эффективно использовать ЦП, лучше балансировать нагрузки между несколькими ядрами, а не сбрасывать основную часть работы на одно ядро. В играх также будет снижена нагрузка на GPU, а чем меньше нагрузка, тем выше скорость.
DirectX 12 ослабит ограничения на установку нескольких GPU.
Новая функция «Явный мультиадаптер» звучит не менее интересно. Explicit Multiadapter позволяет программному обеспечению использовать несколько графических процессоров внутри ПК, даже если они не от одного и того же поставщика, что позволяет вам, скажем, использовать графику, встроенную в ваш процессор Intel, для определенных графических задач, в то время как ваш графический процессор GeForce выполняет основные задачи, или использовать видеокарту AMD Radeon и видеокарту Nvidia GeForce в одной системе.
Перенос части задач рендеринга каждого кадра на дополнительный графический процессор может не только повысить частоту кадров, но и сделать игровой процесс более плавным в целом, о чем свидетельствует игра Civilization: Beyond Earth. использование «рендеринга с разделением кадров» в настройках CrossFire с API-интерфейсом AMD Mantle. (В традиционном «альтернативном рендеринге кадров» для конфигураций с несколькими картами каждый графический процессор поочередно рендерит полный кадр — отсюда и название.)
Explicit Multiadapter звучит как Святой Грааль компьютерных игр, но еще неизвестно, насколько широко будет поддерживаться эта фантастическая функция, поскольку разработчикам придется проделать много тяжелой работы, чтобы заставить ее работать. В PC Perspective есть отличный анализ этой сложной темы.
Если вы разбираетесь в технических вопросах, ознакомьтесь с блогом разработчиков DirectX 12, чтобы получить более подробную информацию о DirectX 12 в целом, начиная с анонса DirectX 12.
Звучит довольно знакомо
Вы правы: DirectX 12 очень похож на ныне несуществующий API Mantle от AMD для графических процессоров Radeon. Все это Mantle сделал задолго до анонса Windows 10. После его выпуска руководители AMD размышляли, что Microsoft, скорее всего, никогда не выпустит DirectX 12, а затем бац!Microsoft объявила о выпуске DirectX 12, который в основном повторяет все ключевые функции Mantle на гораздо более широком спектре оборудования.
Действительно ли DirectX 12 сильно повлияет на производительность моих игр?
Все указывает на то, что да. По данным Intel и Microsoft, DirectX 12 может привести к экономии энергии или повышению производительности на 50 и более процентов.
Посмотрите на снижение энергопотребления ЦП после того, как этот тест Intel переключился с DX11 на DX12.
«Это все равно, что получить бесплатное оборудование», — сказал Брайан Лэнгли, главный менеджер программы по графике в Microsoft, в марте PCWorld. «Поэтому, если вы геймер, обновляетесь до Windows 10 и у вас есть Iris Pro, это похоже на дополнительный удар. Из-за этого ваша игра может превратиться из не совсем играбельной в играбельную, из посредственной в потрясающую, из потрясающей в просто невероятную».
Раджа Коджури из AMD также сказал, что DirectX 12 — это своего рода «продвижение вперед на четыре поколения аппаратного обеспечения» во время презентации технологии в 2014 году. С включенным аналогом DX12 Mantle производительность Battlefield 4 резко возросла. целых 58 процентов по сравнению с результатами DirectX 11, хотя точное значение сильно различается в зависимости от настройки оборудования.
Вы можете в некотором роде протестировать возможности DirectX 12 прямо сейчас с помощью «Теста API-накладных расходов» 3DMark. Пошаговое руководство Гордона Унга объясняет, как это сделать, но если вы просто хотите добраться до сути вопроса, потенциальный скачок производительности DirectX 12 выглядит безумным.
Как показывают наши тесты, производительность Mantle и DirectX 12 хорошо сочетается с более старой версией DX11 в функциональном тесте 3DMark API Overhead.
При всем при этом самым конкретным доказательством производительности DirectX 12, которое у нас есть сейчас, являются обещания отраслевых поставщиков и результаты одного синтетического теоретического теста, ориентированного исключительно на вызовы отрисовки. Есть много причин для оптимизма — черт возьми, может быть, даже просто взволнованного — в отношении потенциала DX12, но относитесь ко всему этому с щепоткой соли, пока не начнут появляться первые тесты игр DirectX 12. р>
Понадобится ли мне новая видеокарта для игр DirectX 12?
DirectX 12 будет работать с большинством современных видеокарт. Любая видеокарта Radeon или APU, созданная на базе архитектуры AMD Graphics Core Next, например серии Radeon 7000, Radeon 8000, Radeon R200, Radeon R300, а также Fury и Fury X, будут хорошо работать с DX12. Это практически все графические решения AMD, выпущенные с 2012 года.
Все современные видеокарты (например, представленные на фото Asus Strix Fury и EVGA GTX 980 FTW) совместимы с DX12.
Nvidia поддерживает DirectX 12 еще раньше. Все видеокарты на базе графических процессоров Nvidia Maxwell, Kepler или Fermi — например, серии GeForce GTX 900, 700, 600, 500 и 400 — будут работать с DirectX 12. На самом деле, карты Nvidia Maxwell второго поколения (например, GTX 980 Ti) — единственные графические карты, объявленные на данный момент, поддерживающие уровень функций DirectX 12 12.1, который включает в себя такие функции, как объемные мозаичные ресурсы и консервативную растеризацию.
Означает ли это, что все другие видеокарты не поддерживают «полный DirectX 12», как вы можете видеть на форумах и в социальных сетях? Не совсем. Все сложно. Если вы хотите углубиться в мельчайшие детали, обязательно ознакомьтесь с превосходной статьей Джоэла Хруски «Демистификация поддержки DirectX 12» на сайте ExtremeTech.
Что касается Intel, все процессоры Core четвертого поколения (Haswell) или более новые будут поддерживать DX12.
Консервативная растеризация и ряд других инструментов будут работать только на видеокартах, поддерживающих DX12 уровня функций 12.1.
Подождите, а что, если я запущу Linux или Mac?
Вы не сможете запустить DirectX 12, и точка. Конечно, в этом нет ничего нового, так как ожидается, что DirectX 11 шестилетней давности появится в Linux только в конце этого года с помощью обходного решения CodeWeavers.
Однако это не означает, что вы останетесь в технологической пыли. Khronos Group, мощный отраслевой консорциум, стоящий за OpenGL, трудится над Vulkan, графическим API с открытым исходным кодом, не зависящим от платформы, «более близким к металлу», созданным из пепла AMD Mantle. А с запуском Steam Machine от Valve на базе Linux в ноябре, Vulkan и OpenGL готовы произвести на компьютерных геймеров еще больший фурор, чем когда-либо прежде. Популярность игр для Linux растет, как и альтернатив DirectX.
Вышла Windows 10! DirectX 12 должен сделать мои игры быстрее, верно?
Не так быстро. Да, Windows 10 выйдет на следующей неделе, и да, DirectX 12 встроен в самое его ядро, и да, вы даже можете увидеть некоторое увеличение производительности в своих играх, но это произойдет не из-за DirectX 12. По крайней мере, пока !
Программное обеспечение должно быть написано специально для DirectX 12, чтобы использовать его возможности. В то время как в вышеупомянутом пакете тестов Futuremark 3DMark уже есть инструмент для тестирования производительности вызовов отрисовки DX12, ожидается, что первые игры DirectX 12 не появятся на улицах до конца 2015 года. Помните, как потребовалось время, чтобы DirectX 11 стал широко применяться после Дебют Windows 7? Создание игр занимает много времени, особенно когда вы думаете о новом API с новыми функциями.
В 2018 году были выпущены видеокарты GeForce RTX с многочисленными «первыми в мире» графическими технологиями: трассировкой лучей с аппаратным ускорением, затенением с переменной скоростью, затенением сетки и другими. Эти технологии представляют собой самый большой скачок в графике с момента изобретения программируемых шейдеров в 2002 году, благодаря чему в играх появились отражения, тени и освещение кинематографического качества.
Теперь Microsoft анонсировала DirectX 12 Ultimate, свой новый графический API, который кодифицирует инновационные технологии GeForce RTX как стандарт для многоплатформенных игр следующего поколения.
DirectX 12 Ultimate предоставляет разработчикам обширную многоплатформенную базу аппаратных средств для установки, а также готовые инструменты и примеры для работы — и все это в сочетании с промежуточным программным обеспечением, которое экономит время. Это делает разработку игр быстрее и проще, а также позволяет большему количеству разработчиков добавлять эти инновационные технологии в свои игры. Многие разработчики уже создали приложения нового поколения с использованием этих технологий — уже выпущено или анонсировано более 30 игр с DirectX Ray Tracing — и теперь, с запуском DirectX 12 Ultimate, их внедрение будет быстро расти.
С GeForce RTX, первой и единственной платформой для ПК с поддержкой этих революционных функций, геймеры будут готовы к самым продвинутым и графически интенсивным играм, которые выйдут сегодня и в ближайшие годы.
DirectX 12 Ultimate открывает доступ к новейшим технологиям графического оборудования с поддержкой трассировки лучей, шейдеров сетки и шейдинга с переменной скоростью. Это новый золотой стандарт для игр следующего поколения.
– Маркус Вассмер, директор по разработке, графике, Epic Games
Совершенные технологии DirectX 12
Трассировка лучей
В основе DirectX 12 Ultimate лежит трассировка лучей, которая реалистично имитирует путь света в сцене, обеспечивая эффекты освещения, тени и отражения, которые ранее были возможны только в блокбастерах. DirectX 12 Ultimate содержит новое обновление DirectX Raytracing (DXR) версии 1.1, которое делает трассировку лучей еще более эффективной для разработчиков.
С включением трассировки лучей в DirectX 12 Ultimate, во все основные игровые движки и на консоли следующего поколения трассировка лучей должна стать популярной в следующем году. И он будет лучше всего выглядеть и работать на графических процессорах GeForce RTX благодаря специальному оборудованию для трассировки лучей, называемому ядрами RT, и нашей технологии DLSS, повышающей производительность.
Затенение с переменной скоростью
Затенение с переменной скоростью (VRS) повышает производительность, позволяя разработчикам визуализировать разные части сцены с разным уровнем качества. В Wolfenstein: Youngblood на базе Vulkan наша реализация NVIDIA Adaptive Shading VRS повысила производительность на 15 % без заметной потери качества изображения. Добавив Variable Rate Shading в DirectX 12 Ultimate, многие разработчики смогут легко добавить эту беспроигрышную технологию в свои игры.
DirectX 12 Ultimate ускорит внедрение передовых графических функций в играх, поскольку платформы разработки не фрагментированы. С DirectX 12 Ultimate я знаю, что могу сразу же использовать новые графические функции, и что они будут работать в играх для ПК и Xbox. Мы уже экспериментируем с DirectX 12 Ultimate для Rogue Company, запуск которого состоится в 2020 году.
– Крис Ларсон – главный операционный директор, Hi-Rez Studios и генеральный/генеральный директор Rogue Company
Под капотом разработанные разработчиками алгоритмы определяют пиксели, которые игрок не может легко увидеть, а также пиксели, которые редко изменяются или обновляются, и используют VRS для снижения скорости их рендеринга (закрашивания). Например, черные пиксели в тени выглядят так же, как и при уменьшении коэффициента затенения. Таким образом, за счет уменьшения скорости затенения множества пикселей в кадре снижается нагрузка на графический процессор и повышается производительность.
На изображении ниже показано, как VRS может применять различные коэффициенты затенения в сцене. Цветное наложение справа показывает возможное применение к кадру — автомобиль, небо и листва были затенены с полной скоростью (т. е. синяя область), чтобы сохранить мелкие детали. Область рядом с автомобилем была затенена один раз на четыре пикселя (зеленый цвет), а дорога к крайней левой и правой периферии была затенена один раз на восемь пикселей (желтый цвет).
Эти области размыты движением, чтобы усилить ощущение скорости, и поэтому игроку трудно их воспринимать во время игры. Таким образом, используя VRS, их скорость затенения можно уменьшить, не влияя на качество изображения в какой-либо заметной степени, что дает игре мгновенный прирост производительности.
Чтобы узнать больше об этой захватывающей, повышающей производительность технологии, ознакомьтесь с нашей статьей с пояснениями к шейдингу с переменной скоростью и адаптивному шейдингу NVIDIA.
Затенение сетки
Если вы играли в игры с открытым миром и экспериментировали с настройками графики, вы знаете, что повышение уровня геометрической детализации может значительно снизить производительность, обычно из-за переполнения ЦП вызовами отрисовки, что ограничивает производительность ЦП. , что, в свою очередь, ограничивает работу графического процессора. Mesh Shading позволяет разработчикам исправить это и еще больше повысить точность и производительность с помощью новых методов рендеринга, которые могут создавать миры, наполненные деталями, простирающимися настолько далеко, насколько может видеть глаз.
DirectX 12 Ultimate ускорит внедрение передовых графических функций в играх, поскольку платформы разработки менее фрагментированы. Благодаря DirectX 12 Ultimate мы можем внедрять новые графические функции на различных платформах быстрее, чем раньше.
– Мика Вехкала, технический директор Remedy Entertainment
Для демонстрации мы создали техническую демонстрацию Asteroids, в которой Mesh Shaders визуализирует и динамически регулирует детализацию до 350 000 отдельных астероидов с уровнем субпиксельной геометрической детализации и производительностью, которые в противном случае невозможно достичь.
Благодаря DirectX 12 Ultimate разработчики смогут быстрее и проще реализовывать шейдеры сетки. Так что обратите внимание на миры с реалистичными лесами, заполненными растительностью, мегаполисы с высоким уровнем детализации по всему экрану и, конечно же, космические сцены с огромными космическими станциями и потрясающими полями астероидов.
Для более глубокого понимания внутренней работы Mesh Shading ознакомьтесь со статьей о графике и технологиях архитектуры Тьюринга.
Отзыв о пробнике
Sampler Feedback придерживается той же философии, что и Variable Rate Shading: работайте эффективнее, чтобы снизить нагрузку на GPU и повысить производительность. Это возможно благодаря аппаратной возможности нашей архитектуры GeForce RTX под названием Texture Space Shading.
Я как разработчик считаю, что единый API для ПК и Xbox — это благо для моего бизнеса. Если мои программисты знают DirectX 12 Ultimate, они могут программировать как для ПК, так и для консоли.
– Коэн Дитман, генеральный директор и игровой директор KeokeN Interactive
Практически все современные игры рендерят новые кадры «с нуля». Это означает, что в них, как правило, не используются вычисления, сделанные до этого кадра (за исключением временного сглаживания, NVIDIA DLSS и некоторых методов постобработки). Но в большинстве игр, как и в реальном мире, от кадра к кадру меняется относительно мало. Если вы посмотрите за окно, вы можете увидеть деревья, качающиеся на ветру, проходящих мимо пешеходов или птиц, летящих вдалеке. Но большая часть сцены неизменна. Главное, что меняется, — это ваша точка зрения.
Некоторые объекты действительно меняют внешний вид, когда вы меняете точку зрения, особенно глянцевые или блестящие. Но большинство объектов на самом деле очень мало меняются, когда вы двигаете головой, и, таким образом, это пустая трата драгоценных циклов графического процессора, чтобы постоянно пересчитывать те же точные цвета, которые составляют эти объекты в каждом кадре. Представьте, например, деревянный телефонный столб — независимо от положения головы и глаз он выглядит практически одинаково.
Используя Sampler Feedback, мы можем более эффективно затенять эти объекты с более низкой частотой (скажем, каждый третий кадр или, возможно, даже ниже) и повторно использовать цвета объекта (или «тексели», как их называют). как рассчитано в предыдущих кадрах. Это понятие повторного использования работы можно использовать для трассировки лучей, особенно в случае глобального освещения, которое является распространенным примером медленно изменяющегося и очень дорогого вычисления затенения.
Ян Пол
Иэн Пол
Писатель
Ян Пол — независимый писатель, который более десяти лет пишет о технологиях. Помимо написания статей для How-To Geek, он регулярно участвует в PCWorld в качестве критика, автора статей, репортера, охотника за сделками и обозревателя. Его работы также публиковались в Интернете в The Washington Post, ABC News, MSNBC, Reuters, Macworld, Yahoo Tech, Tech.co, TechHive, The Huffington Post и Lifewire. Его статьи регулярно публикуются на многочисленных сайтах IDG, включая CIO, Computerworld, GameStar, Macworld UK, Tech Advisor и TechConnect. Подробнее.
Майкрософт
В 2018 году компания Nvidia выпустила свои видеокарты RTX, в которых были реализованы потрясающие функции для игр, в том числе трассировка лучей и сетчатые шейдеры. Однако Microsoft нужен был стандарт, поддерживающий эти функции не только на оборудовании NVIDIA, и он здесь! Названный DirectX 12 Ultimate, он появился на ПК с Windows 10 с обновлением от мая 2020 года.
Обновление: хотя DirectX 12 Ultimate дебютировал в Windows 10 в обновлении, выпущенном в 2020 году, он был частью Windows 11 со дня его выпуска.
Что такое DirectX 12 Ultimate?
Новая версия DirectX в основном объединяет существующие технологии под одним знаменем и стандартизирует их для игр на ПК и Xbox, что является хорошей новостью для геймеров. Некоторые из самых крутых новых графических технологий, такие как трассировка лучей в реальном времени, в основном используются на видеокартах NVIDIA. Когда эта функция включена в играх, она значительно улучшает визуальное качество, приближая свет к реальному.
Будущие видеокарты AMD на базе RDNA2, а также Xbox Series X также будут поддерживать DX12 Ultimate. Давайте взглянем на основные моменты нового API и посмотрим, что нового и почему это важно.
Трассировка лучей DirectX 1.1
Трассировка лучей — это захватывающая новинка в графике видеоигр. Microsoft называет свою версию DirectX Raytracing (DXR). Это поэтапное обновление существующей технологии значительно улучшает общий вид игр. Секрет в том, чтобы свет в игре вел себя так же, как в реальном мире.
Это означает более реалистичные отражения и преломление в воде, солнечные лучи, которые выглядят более фотореалистично, и тени с большей визуальной глубиной. Обязательно посмотрите видео выше от NVIDIA. Он показывает трассировку лучей в Minecraft, и разница просто безумная.
В DX12 Ultimate эффекты трассировки лучей должны быть более эффективными. Также будет опция, которая даст разработчикам игр больший контроль над трассировкой лучей, вместо того, чтобы оставлять это на усмотрение системы.
Затенение с переменной скоростью
Затенение с переменной скоростью — еще одна функция, которая уже была в DX12. Шейдеры сообщают системе, какими должны быть цвет, яркость и контрастность каждого пикселя. Однако этот процесс может потребовать значительных вычислительных ресурсов, и именно здесь вступает в действие затенение с переменной скоростью. Оно затеняет важные части игровой сцены с полным разрешением, в то время как менее важные объекты используют меньше ресурсов графического процессора для затенения.
Представьте, например, что вы ведете машину по дороге в Forza Horizon или другой гоночной игре. Важно, чтобы вы видели машину перед вами во всех деталях, но это дерево или забор не нуждаются в таком же лечении.
«Алгоритмы, созданные разработчиками, идентифицируют пиксели, которые игрок не может легко увидеть, и пиксели, которые редко изменяются или обновляются, и используют VRS для снижения скорости их рендеринга (затенения). Например, черные пиксели в тени выглядят так же, как и при уменьшении коэффициента затенения. Таким образом, за счет снижения скорости затенения множества пикселей на кадр снижается нагрузка на графический процессор и повышается производительность».
Общий эффект не должен быть заметен для игрока, но он делает работу компьютера намного эффективнее. Повышенная эффективность обещает еще более качественные визуальные эффекты и более быструю игровую производительность в целом.
Сетчатые шейдеры
Как и шейдеры с переменной скоростью, шейдеры сетки также помогают системе работать более эффективно. Эта функция позволяет разработчикам игр создавать детализированные миры без перегрузки ЦП, как объясняет NVIDIA в этом видео.
Он определяет, что должно быть в сцене и сколько ей нужно деталей (уровень детализации, или LOD). Первичные объекты будут иметь более мелкие детали, что в основном означает, что в их составе будет больше треугольников. (Для тех, кто не знает, треугольники — это базовая единица 3D-графики.)
Объекты, которые находятся дальше, рисуются с меньшим количеством треугольников, так как они требуют меньше деталей. Почти все, что вы видите на экране, представляет собой набор крошечных треугольников, сгруппированных вместе, чтобы создать узнаваемую фигуру или объект.
Посмотрите приведенное выше демонстрационное видео Asteroids Mesh Shaders от Nvidia, чтобы понять, как это выглядит. В этом видео используются объекты с 10 различными уровнями детализации, от объектов, которые находятся прямо перед вами, до низкоуровневых астероидов на расстоянии. Это идеальная техника для сцены с кучей случайных объектов, таких как пояс астероидов на видео выше.
Общий результат должен заключаться в том, что видеокарты могут поддерживать более высокую частоту кадров без ущерба для заметной детализации, поскольку в любой момент времени отрисовывается меньше треугольников.
Отзывы о семплере
Наконец мы добрались до отзыва о семплере. Опять же, речь идет о более эффективном рендеринге игровых сцен.
«Мы можем более эффективно затенять объекты, которые не меняются от кадра к кадру», — пояснила NVIDIA. «И повторно использовать цвета объектов, рассчитанные в предыдущих кадрах».
Sampler Feedback также помогает улучшить загрузку текстур игры (детали поверхности на объектах видеоигры). Идея состоит в том, что компьютер может принимать более разумные решения о текстурировании, чтобы «рендерить более крупные и подробные текстуры, используя меньше видеопамяти». Это также помогает избежать таких проблем, как заикание.
Опять же, мы говорим о более эффективном использовании графического процессора, что может помочь повысить общую частоту кадров.
DirectX 12 Ultimate в реальном мире
Функции DX12 Ultimate обещают сделать игры более привлекательными визуально и более эффективно использовать ресурсы компьютера. Однако, как и все функции, их реализация зависит от разработчиков игр. Например, затенение сетки поддерживается Nvidia с конца 2018 года, но на самом деле не используется. Возможно, теперь, когда он является частью DX12 Ultimate, он станет более распространенным.
Оборудование также должно поддерживать эти функции. Microsoft заявила, что пометит свое новое оборудование как совместимое с DX12 Ultimate. Это может означать очередную наклейку на коробку или корпус ПК, а также вообще рекламу на полках магазинов.
На консолях логотип Xbox Series X заменяет символ DX12 Ultimate. Если вы видите логотип DX12 Ultimate или Xbox Series X, это оборудование поддерживает новый графический API.
Когда игры воспользуются преимуществами DirectX 12 Ultimate?
DirectX 12 Ultimate распространяется на ПК с Windows 10 в рамках функции версии 2004, выпущенной в конце мая 2020 г. (также известной как майское обновление 2020 г.). Конечно, чтобы воспользоваться этими функциями, вам понадобится современная видеокарта, которая их поддерживает.
Если у вас видеокарта, отличная от DX12 Ultimate, любая игра, поддерживающая DX12 Ultimate, по-прежнему будет работать на вашем оборудовании. Ваш компьютер просто не увидит визуальных улучшений, которые увидят другие. По заявлению Microsoft, «не будет никаких неблагоприятных последствий для оборудования, которое не поддерживает DX12 Ultimate».
Это хорошая новость для геймеров с ограниченным бюджетом, которые остаются немного позади, чтобы снизить расходы на оборудование.
- › Intel выпускает собственные видеокарты в следующем году
- › Windows 11: что нового в новой ОС Microsoft
- › Что такое DirectStorage в Windows 11, Windows 10 и Xbox?
- › Почему Windows 11 лучше подходит для игр на ПК, чем Windows 10
- ›5 шрифтов, которые следует прекратить использовать (и лучшие альтернативы)
- › Почему СМС должен умереть
- › Что означает XD и как вы его используете?
- › Почему прозрачные чехлы для телефонов желтеют?
Хотя Конференция разработчиков игр 2020 года была отложена, это, к счастью, не означает, что все, что связано с играми этой весной, также было отложено. Как говорится, шоу должно продолжаться, и на этой неделе мы видели, как Microsoft, Sony и другие компании сделали несколько громких объявлений о своих игровых консолях и других проектах. Чтобы не остаться в стороне, мы также сообщаем о новостях, связанных с ПК.
Лидером пакета для ПК на этой неделе стала Microsoft (снова) с анонсом DirectX 12 Ultimate. DirectX 12 Ultimate, разработанный как новый стандартизированный набор функций DirectX 12, который включает в себя новейшие технологии графических процессоров, предназначен для использования в качестве общей основы как для разработки игр для ПК, так и для Xbox Series X. Это включает в себя не только объединение таких функций, как трассировка лучей и затенение с переменной скоростью, в единый пакет, но и брендирование этого пакета, чтобы разработчикам и широкой публике было легче делать выводы о том, используют ли игры эти передовые функции и используют ли их аппаратное обеспечение. поддерживает это. И, конечно же, это позволяет Microsoft максимизировать синергию между компьютерными играми и готовящейся к выпуску консолью, предоставляя разработчикам единый набор функций для создания своих проектов, одновременно продвигая тот факт, что последняя версия Xbox будет поддерживать самые последние функции графического процессора.
Безусловно, то, что анонсируется сегодня, не является новым API — даже обсуждаемые сегодня функции технически не новы — это, скорее, недавно определенный набор функций, который включает в себя несколько функций, которые Microsoft и ее партнеры уже разработали. работающие в течение последних нескольких лет. Это включает в себя DirectX Raytracing, Variable Rate Shading, Mesh Shaders и Sampler Feedback. Большинство из этих функций какое-то время были доступны в той или иной форме как отдельные функции в составе DirectX 12, но создание DirectX 12 Ultimate знаменует собой их официальное продвижение от статуса находящегося в разработке или раннего адаптера до готовности для широких масс.< /p>
Для Microsoft важность DirectX 12 Ultimate двояка. Во-первых, DirectX накопил много новых функций с тех пор, как его последний набор функций, уровень функций 12_1, был определен более пятидесяти лет назад.Таким образом, DirectX уже давно пора упаковать функции, представленные такими вещами, как архитектура графического процессора NVIDIA Turing, а также будущая архитектура AMD RDNA2. Конечным результатом этого процесса является новый уровень функций 12_2, или, как его называют, DirectX 12 Ultimate.
Во-вторых, это первый запуск консоли Microsoft, в котором DirectX 12 уже готов и доступен при запуске. В то время как Microsoft всегда пыталась воспользоваться синергией между ПК и консолью, тот факт, что DirectX 12 был завершен после запуска семейства Xbox One, означал, что предыдущее поколение было несколько смещено. Подобно тому, как консоли текущего поколения являются истинной отправной точкой для DirectX 11, становящегося основой для разработки видеоигр, Microsoft стремится сделать то же самое для консолей следующего поколения и DirectX 12; и они пытаются сделать это более организованно, чем когда-либо прежде.
Конечно, это не мешает Microsoft говорить о том, что Xbox Series X находится на том же уровне, что и (нынешние) графические процессоры для ПК. Долгий жизненный цикл консолей означает, что к среднему поколению они уступают графическим процессорам ПК по набору функций, и, хотя эти два продукта не являются идеальной заменой друг друга в экономическом смысле, становится на одну вещь меньше, чем у игровых консолей. для себя, и еще одно преимущество для ПК. Таким образом, предоставив новому уровню функций общедоступный бренд, Microsoft может четко заявить, что они находятся на переднем крае периода технологии графических процессоров; нет графического процессора для ПК, который мог бы превзойти их по возможностям.
Ясность — это важная цель не только для маркетинга, но и для отношений с клиентами в целом. Функции, объединенные под баннером DirectX 12 Ultimate, имеют большое значение, и, в частности, сетчатые шейдеры позволяют разработчикам полностью изменить традиционный конвейер рендеринга. Поэтому, когда разработчики начнут использовать эти функции в качестве базовой линии в будущих играх — а это, скорее всего, произойдет через какое-то время — тогда требования должны быть четко доведены до сведения геймеров на ПК. Видеокарте будет недостаточно просто поддерживать DirectX 12, она должна будет поддерживать (как минимум) этот новый набор функций, чтобы соответствовать этому базовому уровню. Но даже в настоящее время, когда игры будут продолжать работать на нескольких поколениях графических процессоров в течение некоторого времени, брендинг DirectX 12 Ultimate полезен для четкого объяснения того, какое оборудование потребуется для доступа к новым функциям, которые будут доступны в будущих играх. используя.
Возможности DirectX 12 Ultimate (уровень функций DX12 12_2)
Что касается самого нового уровня функций, как я уже упоминал ранее, новый набор функций предназначен для инкапсуляции новых функций графического процессора, представленных за последние несколько лет. Это означает объединение существующих функций, таких как трассировка лучей и шейдеры сетки, в новый уровень функций, чтобы разработчики могли с большей готовностью использовать их.
В общем и целом, к большому удовольствию NVIDIA, набор функций DirectX 12 Ultimate в конечном итоге чертовски похож на набор графических функций их архитектуры Turing. Трассировка лучей, затенение сетки и затенение с переменной скоростью были впервые представлены в Turing, и это представляет собой текущий передний край графических функций графического процессора. Следовательно, нет никакой ошибки в том, что этот новый уровень функций, который Microsoft внутри компании называет 12_2, так близко следует плану Тьюринга. Уровни функций — результат сотрудничества между корпорацией Майкрософт и всеми поставщиками графических процессоров. Уровни функций представляют собой общий набор функций, поддержку которых может согласиться каждый.
В конечном счете, это сотрудничество и сроки означают, что уже существует аппаратное обеспечение текущего поколения, отвечающее требованиям 12_2 с продуктами NVIDIA серии GeForce 16 и 20 (Turing). И хотя AMD и Intel немного отстают от кривой, они тоже доберутся туда. На самом деле во многих отношениях грядущая архитектура AMD RDNA2, которая была в центре анонсов консолей на этой неделе, послужит противовесом Turing в том, что касается 12_2. Это набор функций, который подходит для ПК и консолей, и хотя NVIDIA может доминировать на рынке ПК, то, что AMD делает с RDNA2, определяет целое поколение консолей на долгие годы.
В целом Microsoft и партнеры уделяют основное внимание четырем важным функциям 12_2, по крайней мере публично. Это трассировка лучей, затенение с переменной скоростью, сеточные шейдеры и обратная связь сэмплера. Некоторые из этих функций, в частности трассировка лучей, уже некоторое время доступны в DirectX 12, и все они были ранее анонсированы Microsoft, поскольку они работали с разработчиками над их усовершенствованием.Тем не менее, даже трассировка лучей получает некоторые важные обновления функций, совпадающие с 12_2, поэтому в целом новый уровень функций приносит много новых игрушек для разработчиков игр.
Что касается геймеров, Windows представит 12_2 в ближайшие пару месяцев, когда Microsoft выпустит свое следующее большое обновление функций Windows 10, Windows 10 версии 2004 (также известную как 20H1). И хотя игры, использующие новый уровень функций, будут появляться медленно (как и любой запуск нового уровня функций), это означает, что геймерам нужно будет использовать последнюю версию Windows, чтобы использовать ее. Задержка версии или двух (как некоторые из нас хотят сделать) означает, что вам не нужен DX12U.
Трассировка лучей с помощью DXR 1.1
Начиная с уровня функций 12_2 — поддержка трассировки лучей. Компонент трассировки лучей DX12 был впервые представлен Microsoft еще в 2018 году и уже некоторое время доступен для использования разработчиками. Я не буду подробно рассказывать здесь о трассировке лучей — мы уже писали об этом несколько раз, — но на высоком уровне она сыграет важную роль в будущих играх. По сути, имитируя то, как реальный свет проецируется и взаимодействует с миром, трассировка лучей предназначена для использования в областях, где текущая парадигма рендеринга растеризации была растянута до предела. Разработчики смогли сделать массу удивительных вещей для освещения с помощью невероятно умных приемов растеризации, но есть некоторые области, где качество или производительность фактического отбрасывания света (лучей) просто непревзойденны. И здесь на помощь приходит аппаратная трассировка лучей.
Схема трассировки лучей (Хенрик / CC BY-SA 4.0)
Несмотря на то, что официально это был полный стандарт, первоначальный стандарт 1.0 носил экспериментальный характер. По самой своей природе он был разработан для аппаратного обеспечения того времени (Тьюринг), и никто не был полностью уверен, что разработчики будут делать с трассировкой лучей. Таким образом, для включения трассировки лучей в полный уровень функций DirectX сам API трассировки лучей кажется несколько улучшенным.
Новый стандарт DXR 1.1 расширяет версию 1.0 несколькими способами, включая новые функции, о которых разработчики просили за последние пару лет. И поскольку он состоит только из новых программных функций, это означает, что он работает и на существующем оборудовании Turing. Так что на практике DXR 1.1 заменит DXR 1.0 в будущем, и никто, кроме разработчиков, не должен быть мудрее.
Большие дополнения к DXR 1.1 в первую очередь направлены на то, чтобы разработчики могли упростить или повысить эффективность использования трассировки лучей в своих играх. Возглавляет этот список возможность запускать задачи трассировки лучей на самом графическом процессоре, не требуя для этого центрального процессора. Это то, что GPU уже может делать в других ситуациях — в частности, когда вычислительные ядра порождают другие вычислительные ядра посредством динамического параллелизма — и теперь та же концепция распространяется на трассировку лучей. Microsoft считает эту функцию полезной для сценариев, в которых графический процессор хотел бы подготовить работу по трассировке лучей, а они в любом случае сразу же порождают ее, например, шейдеры, использующие трассировку лучей в качестве средства отбраковки. Что, разумеется, выполнимо даже в DXR 1.0; но тот факт, что ЦП должен будет вызывать его, делает его менее эффективным.
Другое важное дополнение — это то, что Microsoft называет встроенной трассировкой лучей. Возможно, лучше всего концептуализированная как урезанная версия трассировки лучей для простых задач, встроенная трассировка лучей предоставляет трассировку лучей большему количеству этапов процесса рендеринга графического процессора, тем самым позволяя разработчикам получить более прямой контроль над трассировкой лучей и потенциально использовать ее в большем количестве мест. Здесь следует особо отметить, что встроенная трассировка лучей может вызываться на этапах шейдера, которые не могут вызывать обычную трассировку лучей, таких как вычислительные шейдеры, что дает разработчикам больше гибкости. В целом встроенная трассировка лучей обеспечивает меньшие накладные расходы для простых задач, что делает их более подходящими для этого сценария, в то время как традиционная трассировка лучей (и ее улучшенные механизмы планирования) лучше подходят для сложных задач.
Затенение с переменной скоростью
Вторая функция, включенная в 12_2, — затенение с переменной скоростью. Еще одна функция запуска архитектуры Turing. В прошлом году Microsoft начала включать VRS в DirectX.
На высоком уровне затенение с переменной скоростью позволяет изменять скорость операций затенения в пределах кадра. Вместо того, чтобы запускать пиксельные и другие шейдеры со скоростью 1:1 с отдельными пикселями, скорость затенения можно увеличивать или уменьшать, чтобы сосредоточиться на улучшении качества или снижении рабочей нагрузки рендеринга в определенных областях. Использование разработчиками в первую очередь будет сосредоточено на последнем из двух, а разработчики будут использовать его, чтобы сократить количество затенения, выполняемого в областях экрана, где такой уровень детализации не нужен — или, по крайней мере, вряд ли будет замечен. /p>
Затенение с переменной скоростью уже имеет два уровня, и уровень функции 12_2 будет включать второй, более мощный уровень этой функции. Уровень 2 позволяет изменять скорость затенения в вызове отрисовки, что позволяет использовать относительно детальный подход к настройке скорости затенения. Это можно сделать для каждого примитива или путем определения общих областей в кадре, где скорость должна быть скорректирована (экранное пространство).
На сегодняшний день затенение с переменной скоростью уже опционально использовалось в нескольких играх, особенно в Wolfenstein II, но в настоящее время оно не так широко распространено, как трассировка лучей.
И хотя основное использование затенения с переменной скоростью будет заключаться в повышении производительности за счет выборочного уменьшения разрешения затенения — особенно для игр с разрешением 4K, которые Microsoft хочет использовать на Xbox Series X, — эта функция также настроена на часть в VR-гарнитурах. Затенение с переменной скоростью — это основная технология рендеринга, обеспечивающая возможность рендеринга с фовеациями, что само по себе обещает значительный прирост эффективности для гарнитур виртуальной реальности. Благодаря рендерингу только центра поля зрения пользователя с полным разрешением (если не выше, для улучшения четкости) объем работы, необходимой для рендеринга VR-кадра, значительно сокращается. Это может помочь снизить затраты на виртуальную реальность за счет менее мощного оборудования или высвободить производительность для еще более привлекательных игр.
Шейдеры сетки: конвейер геометрии следующего поколения
Третья функция в списке 12_2 — шейдеры сетки. И, по правде говоря, ничто из того, что я собираюсь написать здесь, не воздаст им должное.
На очень высоком уровне затенение сетки является основой конвейеров геометрии следующего поколения. Текущая парадигма конвейера геометрии, по сути, имела новые этапы, прикрепленные к ней в нескольких точках за последние двадцать лет, с такими функциями, как геометрические шейдеры и тесселяция, добавленными для расширения конвейера. Но основная концепция этого конвейера по-прежнему основана на традиционных методах растеризации до пиксельных шейдеров, что приводит к ненужной сложности и неэффективности.
Поэтому разработчики как аппаратного, так и программного обеспечения хотят отказаться от текущего конвейера геометрии в пользу чего-то нового, и этой новой вещью являются сетчатые шейдеры.
Сетчатые шейдеры, пожалуй, лучше всего рассматривать как вычислительные шейдеры для геометрии. Значение этого заключается в том, что современные вычислительные шейдеры невероятно эффективны благодаря не только их параллелизму, но и гибкости с точки зрения того, как данные обрабатываются и маршрутизируются. По сути, вместо того, чтобы заставлять разработчиков следовать жесткому конвейеру для настройки своей геометрии, шейдеры сетки позволяют разработчикам получить почти полный контроль, чтобы делать это по своему усмотрению.
Шейдеры сетки также можно дополнительно использовать с шейдерами усиления. Я не буду вдаваться в подробности, но основной принцип заключается в том, чтобы помочь настроить данные для шейдеров сетки. Microsoft отмечает, что они особенно полезны для отбраковки, хотя это не единственное их применение.
В конечном счете цель шейдеров сетки – значительно повысить эффективность конвейера геометрии и тем самым дать разработчикам запас производительности для использования еще более детализированной геометрии. Это достигается за счет удаления накладных расходов на нескольких уровнях, а также делает практичным отсечение самой геометрии, останавливая геометрию до того, как она попадет в вершинный шейдер. Сетчатые шейдеры также позволяют сжимать индексный буфер с целью снижения затрат на пропускную способность памяти при использовании очень сложной геометрии.
Загвоздка во всем этом, как это часто бывает, заключается в том, как быстро разработчики могут это принять. Сетчатые шейдеры заменяют проверенный и надежный геометрический конвейер чем-то совершенно новым, а это означает, что разработчикам придется к нему привыкнуть. Это большое изменение с точки зрения разработки игр, и, следовательно, это во многом «базовая» функция. Таким образом, затенение сетки — это то, что разработчики могут сделать, только перестроив свои движки для консолей следующего поколения, где им больше не нужно поддерживать оборудование до 12_2.
Отзыв о пробнике
Последняя важная функция Direct X 12 Ultimate/уровня функций 12_2 — обратная связь сэмплера. Это очень новая функция, которая была раскрыта совсем недавно и до сих пор не получила широкой огласки; хотя, как и все остальное здесь, аппаратные возможности впервые появились в Тьюринге.
Ранее продемонстрированная NVIDIA как затенение в пространстве текстуры, обратная связь сэмплера — это более широкая функция, имеющая несколько различных применений.На очень высоком уровне идея обратной связи с сэмплером состоит в том, чтобы позволить игровым движкам отслеживать, как используются (или будут) сэмплеры текстур — таким образом, сэмплеры дают обратную связь движку — позволяя движку принимать более разумные решения о как используются сэмплеры и какие ресурсы хранятся в видеопамяти.
Основным вариантом использования этого, по мнению Microsoft, будет улучшение потоковой передачи текстур. Используя обратную связь сэмплера, игровые движки могут определить, какие фрагменты текстур действительно понадобятся, и, таким образом, загрузить только необходимые фрагменты. Это снижает общую нагрузку на видеопамять, что в конечном итоге позволяет разработчикам использовать текстуры более высокого качества в целом, теряя меньше видеопамяти из-за ненужных тайлов. Как и в случае с Xbox Series X, это особенно удобно, когда ваши игры хранятся на высокоскоростном твердотельном накопителе, поскольку это означает, что необходимые плитки могут быть извлечены из хранилища невероятно быстро (почти вовремя), а не необходимости размещать их в ОЗУ или принимать меры для уменьшения длительного времени доступа к жесткому диску.
Между тем, затенение текстурного пространства — еще одно важное применение этой функции. Другой эффективный метод, затенение в пространстве текстуры, позволяет затенять объект без его фактической растеризации. Пример Microsoft здесь включает освещение — когда освещение объекта рассчитывается один раз, а не многократно, как требуется для растеризованного объекта. В конечном счете, основная идея этой функции заключается в том, чтобы иметь возможность кэшировать и повторно использовать результаты затенения, освобождая ресурсы графического процессора для других, более важных задач.
Читайте также: