«Запрацює навіть на GTX 470»: розробники World of Tanks про введення Ray Tracing у гру

Автор: Антон Янковський | 15 жовтня 2019, 15:00

На вересневому заході «День Танкіста» компанія Wargaming вперше анонсувала появу у World of Tanks технології Ray Tracing, яка має поліпшити якість відображення тіней у популярному танковому екшені. Тоді журналістів скоріш подражнили, адже інформації було надано надзвичайно мало. Особливо багато питань викликала новина про те, що на відміну від уже звичної реалізації цієї технології в іграх, рішення Wargaming не вимагає наявності відеокарти з апаратною підтримкою трасування променів. Ми зв'язалися з продакт-менеджером World of Tanks Encore RT Шеметовим Олександром і програмістом графіки World of Tanks Ішмухаметовим Денисом та задали їм кілька запитань. Про оптимізацію, про те, як технологія працює без RT-ядер, на які зміни комп'ютерів вона розрахована та про зразкові терміни релізу.

gagadget: Наскільки я зрозумів, ваша технологія відрізняється від того, що зазвичай користувачі мають на увазі під Ray Tracing у іграх. Щонайменше, вона не вимагає відеокарти Nvidia сімейства Geforce 2060. У чому ще криються відмінності?

Денис Ишмухаметов: RTX - це пропрієтарна технологія Nvidia, і ми її не використовуємо. У World of Tanks застосовується сам алгоритм рейтрейсінга (RT), що застосовується ще з 80-х років. Наша реалізація використовує DirectX 11, шейдери Compute shader та бібліотеку Intel Embree. Таким чином, розрахунки припадають на GPU та CPU. Зазвичай трасування променів працює у три стадії. На першій йде побудова структури даних (BVH), де полігони комбінуються в коробки для прискорення роботи. На другий відбувається саме трасування - цю стадію можна використовувати для відтворення тіней, глобального освітлення та іншого. Потім настає третя стадія, на якій прибираються шуми та зернистість. На відеокартах з апаратною підтримкою трасування прискорюється лише друга стадія.

Якщо порівняти з технологією Nvidia, наша якість картинки не відрізнятиметься, різниця лише в тому, що нам не потрібні RT-ядра відеокарти

Примітка: Завдяки тому, що у World of Tanks рейтрейсінг використовує DirectX 11, функцію можна запустити на Windows 7 і вище.

gagadget: Як справи з оптимізацією на багатоядерних процесорах? Наскільки ефективно будуть використовуватися всі ядра?

Олександр Шеметов: У лютому цього року у World of Tanks вийшло оновлення, яке забезпечує підтримку багатоядерних процесорів. З цим оновленням з'явилася можливість повністю завантажувати усі ядра процесора, включаючи віртуальні. Впроваджена тоді технологія дозволила прискорити етап побудови структури даних (BVH). Тож ми підготувалися заздалегідь. Щодо оптимізації та завантаження всіх ядер, все працює добре. Разом з клієнтом гри, підтримка багатоядерності та рейтрейсінга була впроваджена у демонстраційну програму World of Tanks Encore RT. Тож ви вже можете випробувати нову технологію в динаміці та самостійно оцінити оптимізацію.

gagadget: Чого конкретно торкнеться трасування променів у World of Tanks? Тіней, відображення або освітлення в цілому? Наприклад, у Battlefiled V відображення вогню та трассерів танкових снарядів можна помітити у калюжах або кузовах машин. Чи буде щось подібне реалізовано у вашому проекті?

Денис Ишмухаметов: Зараз потужності відеокарт, навіть якщо вони використовують апаратне прискорення рейтрейсінга, вистачає лише щоб реалізувати один з можливих ефектів. Є ігри, де опрацьовані тіні, є ігри, де трасування використовується для поліпшення відображень або глобального освітлення. Реалізувати все й одразу поки що неможливо - не потягнуть відеокарти. Ми вирішили сконцентруватися на тінях, адже у World of Tanks це най помітніша частина візуальної складової.

Олександр Шеметов: Варто уточнити, що тіні у нас будуть йти на танках та від танків. За рахунок цього у нас вийшло домогтися гарної продуктивності, навіть у порівнянні з іграми, які використовують апаратне прискорення трасування променів.

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

gagadget: Як я розумію, включити трасування можна буде, як у HD, так і в SD клієнта гри?

Денис Ишмухаметов: Так, проте для роботи опції необхідно буде включити «покращену графіку» в налаштуваннях гри. Налаштування не обов'язкове, якщо комп'ютер не «потягне» - гравець може її відключити. Крім того, передбачені три режими роботи RT: з низькою, середньою та високою якістю опрацювання.

gagadget: На які конфігурації комп'ютера розрахована нова технологія? Наскільки сильно просяде продуктивність? 

Денис Ишмухаметов: Для запуску трасування тіней достатньо мати відеокарту з підтримкою DirectX 11 (Nvidia GTX 470 і вище або аналогічна карта AMD). Але з таким залізом, ймовірно, гравець не отримає комфортну продуктивність. 

Ми розраховували на топові відеокарти п'ятирічної давності - Nvidia GeForce 970, аналогічні рішення AMD та інших виробників

Олександр Шеметов: Звичайно, ми проводили тестування, ми приблизно знаємо на яких конфігураціях грають наші гравці. Однак все проводилося в тепличних умовах на стабільних системах. Насправді все залежить від налаштувань користувача, ситуації в бою, мапи, особистих уподобань, включених програм на тлі та безлічі інших дрібниць. Тут складно точно сказати. Спеціально для цього ми і випускаємо наш демонстраційний додаток World of Tanks Encore RT, якийе  дозволить будь-якому гравцеві на його машині та в його умовах випробувати технологію й підібрати комфортну конфігурацію налаштувань заздалегідь. Технологія оптимізована під відеокарти AMD, Nvidia та вбудовану графіку Intel, тож на продуктивних ноутбуках проблем виникнути не повинно.

gagadget: На якій стадії зараз знаходиться розробка, чи можете ви назвати приблизні терміни виходу?

Олександр Шеметов: Найближчим часом.

Протестувати роботу рейтрейсінга можна вже зараз у додатку World of Tanks Encore RT.