Що таке DirectX 12 Ultimate на ПК з Windows 10 і Xbox?

У 2018 році компанія Nvidia представила світові свої відеокарти RTX, які здивували багатьма інноваційними можливостями для ігор, зокрема трасуванням променів та сітчастими шейдерами. Проте, корпорації Microsoft був потрібен єдиний стандарт, здатний підтримувати ці технології не лише на апаратних рішеннях NVIDIA. І такий стандарт з’явився! Отримавши назву DirectX 12 Ultimate, він став доступним на комп’ютерах з операційною системою Windows 10 після оновлення, що вийшло у травні 2020 року.

Що являє собою DirectX 12 Ultimate?

Нова ітерація DirectX по суті об’єднує вже існуючі технології під одним спільним прапором та уніфікує їх для ігор на персональних комп’ютерах та консолях Xbox, що є позитивною новиною для всіх гравців. Деякі з найпередовіших графічних технологій, такі як трасування променів в реальному часі, спочатку з’явилися переважно на відеокартах NVIDIA. Коли ця опція активна в іграх, вона значно підвищує якість зображення, роблячи освітлення більш наближеним до реального.

Майбутні графічні процесори AMD, створені на архітектурі RDNA2, а також Xbox Series X, також матимуть підтримку DX12 Ultimate. Розглянемо ключові аспекти нового API та з’ясуємо, що нового він приносить і чому це важливо.

DirectX Raytracing 1.1

Трасування променів – це революційна інновація у сфері графіки відеоігор. Microsoft називає свою реалізацію цієї технології DirectX Raytracing (DXR). Це поступове оновлення існуючої технології значно покращує загальний вигляд ігор, забезпечуючи більш реалістичну поведінку світла.

Це означає більш правдоподібні відображення та заломлення у воді, сонячні промені, які виглядають більш фотореалістично, та тіні з більшою візуальною глибиною. Рекомендуємо переглянути відео від NVIDIA, де демонструється трасування променів у Minecraft. Різниця справді вражає.

З DX12 Ultimate ефекти трасування променів мають стати більш ефективними. Також з’явиться можливість для розробників ігор мати більше контролю над процесом трасування променів, а не покладатися повністю на автоматику системи.

Затінення зі змінною частотою

Ще одна функція, яка вже була доступна в DX12. Шейдери повідомляють системі, яким має бути колір, яскравість та контраст кожного пікселя. Проте, цей процес може бути ресурсовитратним. Саме тут вступає в гру затінення зі змінною частотою. Воно дозволяє затінювати важливі ділянки ігрової сцени у повній роздільній здатності, а менш важливі об’єкти обробляти з меншими витратами ресурсів графічного процесора.

Уявіть, що ви керуєте автомобілем у Forza Horizon або іншій гоночній грі. Важливо, щоб ви бачили автомобіль, що їде перед вами, у всіх деталях, тоді як дерева чи огорожі, що проносяться повз, не потребують такої високої деталізації.

Ось як описала це NVIDIA:

«Алгоритми, розроблені програмістами, ідентифікують пікселі, які гравець не може легко помітити, або які рідко змінюються, і використовують VRS для зниження частоти їх обробки. Наприклад, чорні пікселі в тіні залишаються незмінними навіть при зниженій частоті затінення. Таким чином, зменшуючи частоту обробки багатьох пікселів у кадрі, ми зменшуємо навантаження на графічний процесор, що підвищує продуктивність.»

Загальний ефект не повинен бути помітним для гравця, але це робить роботу комп’ютера набагато ефективнішою. Підвищена ефективність обіцяє ще кращу якість зображення та більш плавну роботу ігор.

Сітчасті шейдери

Подібно до затінення зі змінною частотою, сітчасті шейдери також оптимізують роботу системи. Ця функція дозволяє розробникам ігор створювати надзвичайно деталізовані світи без перевантаження центрального процесора, як пояснює NVIDIA у цьому відео.

Вона визначає, що має бути зображено на сцені та рівень деталізації, який їй потрібен (рівень деталізації, або LOD). Головні об’єкти матимуть більше деталей, що означає більшу кількість трикутників (базова одиниця 3D-графіки). Віддалені об’єкти відображаються з меншою кількістю трикутників, оскільки вони не потребують такої деталізації.

Перегляньте демонстраційне відео Nvidia Asteroids Mesh Shaders, щоб зрозуміти, як це працює. Воно демонструє об’єкти з 10 рівнями деталізації, від об’єктів, розташованих прямо перед нами, до віддалених астероїдів. Це ідеальна технологія для сцен з великою кількістю випадкових об’єктів, як, наприклад, пояс астероїдів у відео.

В результаті відеокарти зможуть підтримувати вищу частоту кадрів без втрати деталізації, оскільки в будь-який момент часу обробляється менше трикутників.

Зворотний зв’язок з семплером

І нарешті, ми переходимо до зворотного зв’язку з семплером, який також сприяє більш ефективній обробці ігрових сцен.

«Ми можемо більш ефективно затінювати об’єкти, які не змінюються від кадру до кадру», – пояснює NVIDIA. «І повторно використовувати кольори об’єктів, розраховані в попередніх кадрах.»

Зворотний зв’язок з семплером також покращує процес завантаження текстур в грі (деталі поверхні об’єктів). Ідея полягає в тому, що комп’ютер може приймати більш обґрунтовані рішення щодо текстурування, щоб “відображати більші та детальніші текстури, використовуючи менше відеопам’яті”. Це також допомагає уникнути проблем, таких як заїкання.

Знову ж таки, мова йде про більш ефективне використання графічного процесора, що позитивно впливає на частоту кадрів.

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”.

Це хороша новина для геймерів з обмеженим бюджетом, які поки не мають можливості оновити своє обладнання.