Все мы знаем план развития подразделения Xbox для флагманской операционной системы Redmond; Совместные выпуски, почти немедленные преобразования и хорошая интеграция между разработками игр на обеих платформах.
Однако DirectX 12 Ultimate требует полной координации между разработками для Xbox и Windows 10. Мы больше не просто говорим об инструментах преобразования и аналогичных инструментах для разных платформ. По этой причине в этом тексте мы собираемся исследовать новинки DX12 Ultimate и расскажем о последствиях этого курса.
I. Новый оплот развития DirectX 12 между Xbox и Windows 10
Важно понимать, что хотя DirectX 12 Ultimate является новым набором инструментов для разработчиков, эти инструменты не новы. Все что есть в DX12 Ultimate, уже так или иначе появилось в DirectX 12; Это даже не новый API, а формальное обновление DX12 для подготовки его к Xbox Series X и аппаратному обеспечению, которое появилось на рынке с момента его первого появления. Тем не менее мы можем спросить себя, где новости после этого нового обновления?
Ключом к созданию DX12 Ultimate является его интеграция в платформы, на которых он будет использоваться, и во время его запуска. DirectX 12 был выпущен в 2015 году, когда Xbox One уже некоторое время появлялся на рынке, и аппаратные средства ПК явно превзошли консольные на данный момент. Microsoft API в конечном итоге будет интегрирован в консоль, но эта интеграция была несколько ограничена этим оборудованием. Ответом на эту проблему был Xbox One X, но к тому времени мы уже готовились к следующей технической лестнице.
На этот раз DirectX 12 Ultimate приходит вовремя для консолей Microsoft. На этот раз DX12 Ultimate увидит свет с новой консолью Microsoft, и это в силу характеристик ее оборудования, станет отправной точкой. Это облегчает одновременную разработку между обеими платформами, поэтому DirectX 12 Ultimate разделяет инструменты и драйверы между ними. Все технические элементы, общие для пространства ПК, смогут увидеть свет в серии X, точно так же любая разработка для серии X должна быть совместима с Windows.
II. Союз, который выходит за рамки платформ, чтобы сосредоточиться на оборудовании
Но эта работа по согласованию DirectX 12 Ultimate не ограничивается только быстродействием между консолями и компьютерами. Большинство технологий, которые DirectX 12 интегрировал с момента его запуска, основаны на тесном сотрудничестве между Microsoft и Nvidia; Калифорнийская компания была пионером в технических достижениях, которые DX12 Ultimate теперь объявляет, пожалуй наиболее узнаваемым из них является работа, проделанная с Raytracing, главным героем его текущего ряда графических процессоров, основанных на архитектуре Тьюринга.
Однако консоль Microsoft использует оборудование AMD как для основного процессора, так и для графики. Что касается последнего, мы должны сказать что он основан на RDNA 2, многообещающей архитектуре, основанной на текущей RDNA, которая конфигурирует графику Navi и о которой еще многое предстоит узнать на момент написания этой статьи.
Работа DX12 Ultimate заключается в согласовании оборудования на платформах, на которых оно будет использоваться. Частью работы DirectX12 Ultimate является интеграция в инструменты для разработчиков, позволяющих воспользоваться преимуществами характеристик каждой архитектуры, не пренебрегая ни одной из них. Это характер этого сотрудничества, плод двусторонней работы Microsoft с AMD и Nvidia, одной из основных движущих сил этой новой версии DX12. Можно сказать, что это будет своего рода связующим звеном между Turing и RDNA 2 для любой работы, разработанной в рамках Xbox и Windows 10.
III. Характеристики, которые мы увидим после запуска DX12 Ultimate
Пришло время прекратить комментировать, что эти характеристики будут интегрированы; а также какие последствия будут иметь для будущей игры, которые разрабатываются в её рамках. Мы кратко обсудим те, которые получили наибольшую известность от Microsoft, для всех заинтересованных:
Raytracing через DXR 1.1
Возможно, самая поразительная особенность которая получила наибольшее количество шумихи с момента ее появления — была Raytracing; Это метод рендеринга, который до недавнего времени казался невозможным для мира видеоигр. Мы не будем вдаваться в подробности, так как подробно рассказали о его работе и результатах; но мы поговорим о том, что означает это обновление.
Реальность такова, что экспериментальный характер оригинального API Raytracing пронизывает реализацию этих методов в видеоиграх. Из-за этого разработчики имели небольшой контроль над тем, как внедрять методы Raytracing с помощью инструментов DX12, что приводило к большому потреблению ресурсов за немногими исключениями. Результаты были впечатляющими, но стоимость ресурсов была высокой.
Усилия вокруг DXR 1.1 направлены на то, чтобы сделать внедрение этих методов более простым и эффективным; а также дает разработчикам больше контроля над тем, что Raytracing может предложить в своих видеоиграх. Мы видим это намерение в таких мерах, как централизация GPU для размещения шейдеров без использования CPU; или в появлении так называемого Inline Raytracing. Несколько более альтернативный метод RT, который можно разместить на разных этапах рендеринга для достижения лучшего эффекта. Все эти меры направлены на то, чтобы довести RT до большего количества названий и сделать его реализацию проще, поэтому мы увидим это более усердно.
VRS: улучшаем способ применения теней в наших играх
Другим включением, которое получил DX12 Ultimate, было так называемое затенение с переменной скоростью; одно из нововведений архитектуры Тьюринга от Nvidia. Это метод адаптации представления теней на экране, так что те участки, которые оказывают меньшее влияние на конечное изображение, не обязательно должны получать затенение 1: 1 относительно разрешения. Чтобы добиться этого, они разделяют области экрана на участки размером 16×16 пикселей и динамически регулируют разрешение этих теней покадрово.
Через VRS мы можем применять тени разного разрешения в динамической сцене.
Если говорить более подробно это метод, который позволяет теням выглядеть хуже там, где они остаются наиболее незаметными, тем самым повышая производительность. Чем интенсивнее расходуются ресурсы сцены, тем больше выгода от применения VRS соответствующим образом; Высокие разрешения, такие как 4K, или сложные сцены по достоинству оценят это дополнение, ведь это еще одна вещь для графической оптимизации.
Повторная калибровка представления сцены с помощью сеточных шейдеров
Из всех анонсированных элементов одним из самых интересных на личном уровне кажется, для будущего графической разработки в DX12 Ultimate являются так называемые Mesh Shaders. Понимание того, почему этому нет места в таком тексте, но мы попытаемся выразить его важность.
Чтобы понять его важность, необходимо сказать что шейдер, грубо говоря отвечает за выполнение вычислений, они определяют положение графики, которую мы видим на экране. В архитектуре графического процессора существуют различные типы, каждый из которых специализируется на определенном разделе цепочки процессов, отвечающих за отрисовку каждой сцены; пиксельные шейдеры или вершинные шейдеры — два быстрых примера.
Mesh Shaders — это новый тип этих шейдеров, который реструктурирует уже названную цепочку процессов — или конвейер где используются графические процессоры при рендеринге каждого кадра; Вместо того, чтобы проходить через различные шейдеры для завершения процесса, шейдер сетки упрощает весь этот обмен информацией. Это изменение направлено на оптимизацию способа представления геометрии каждого этапа посредством растеризации; открывая двери для всех техник, о которых мы уже говорили. Для тех, кто жаждет знаний, я настоятельно рекомендую этот пост Nvidia.
Sampler Feedback: еще один инструмент для оптимизации
И последнее, но не менее важное: у нас есть Sampler Feedback; одна из новинок, представленная запуском тюринга. Это инструмент для оптимизации способа загрузки текстур сцены с динамической геометрией — будь то расстояние, LOD или простая смена камеры.
Sampler Feedback позволяет оптимизировать ценные ресурсы, такие как VRAM, при загрузке сцены; отдавая предпочтение этим элементам с наибольшим присутствием на экране. Одним из его преимуществ является простота использования таких методов, как затенение в текстурном пространстве и другие методы, отвечающие за повышение производительности в сценах со сложным освещением.
Что мы можем получить за все это?
После всего этого многословия многие читатели могут задаться вопросом, какие выводы мы можем сделать после официальной презентации DX12 Ultimate. Реальность такова, что на бумаге все эти изменения являются шагом в правильном направлении для того, что станет ключом для этого поколения: использование огромных аппаратных ресурсов, которые будут у Xbox Series X, и будущего Тьюринга и RDNA2; Но как и все в этом мире, без достаточной поддержки со стороны разработчиков, мы никогда не сможем увидеть соответствующие результаты.