Апскейлери: за і проти. Які переваги та недоліки мають DLSS, FSR та інші технологій масштабування
Ми підготували другий випуск рубрики «за та проти». У першому під мікроскоп потрапило трасування променів, а новий матеріал присвячено апскейлерам. Цей термін об’єднує технології масштабування, які пропонують провідні виробники відеокарт — NVIDIA, AMD та Intel.
Здавалося б, інструмент для збільшення продуктивності програмним методом апріорі не може бути поганим рішенням. Проте деякі з відносно нещодавніх релізів були оптимізовані вже з урахуванням апскейлерів, і гравцям це не сподобалося. Вони вважають, що розробники економлять час на покращенні продуктивності, зловживаючи технологіями масштабування.
Ми поговорили зі спеціалістами GSC Game World, Zibra AI, Wargaming та інших компаній, щоб детальніше розібратися в ситуації. В чому переваги апскейлерів для розробників, чи коректно вибудовувати оптимізацію навколо них, які недоліки є у технології, та куди вона розвиватиметься. Даємо відповіді на всі ці питання в матеріалі.
Детальніше про апскейлери
Щоб зрозуміти принцип роботи сучасних апскейлерів, потрібно зробити декілька кроків назад і заглянути в суть згладжування (anti-aliasing). В комп’ютерній графіці існує поняття аліасингу. Це коли зображення супроводжується ефектом «східчастості». Так звані «драбинки» або «зубці» на краях моделей спостерігаються саме через нього.
Зараз проблему намагаються вирішити методиками темпорального згладжування (Temporal Anti-Aliasing, TAA), які пройшли довгий шлях вдосконалення разом з усією ігровою індустрією. Проте довгий час основними методиками згладжування були Super-Sampling Anti-Aliasing (SSAA) та Multi-Sample Anti-Aliasing (MSAA) — суперсемплінг та мультисемплінг відповідно. У процесі растеризації графіки без згладжування GPU визначає колір кожного пікселя на основі вибірки з його центру. Якщо центр лежить усередині об’єкту, то піксель зафарбовується відповідним кольором.
SSAA та MSAA збільшують кількість дискретних вибірок для пікселів, щоб отримати остаточне значення. Різниця в тому, що суперсемплінг працює з усією сценою, а мультисемплінг — з краями об’єктів в різних місцях кадру. Завдяки цьому друга методика зменшує навантаження на відеокарту.
Алгоритми темпорального згладження працюють інакше. В основі TAA лежить поєднання інформації з поточного кадру та кількох попередніх. Головна різниця в тому, що вибірка для кожного пікселя створюється лише один раз на кадр. Проте в кожному кадрі вона знаходиться в іншому місці в межах пікселя. Після цього вибірки з попередніх та поточного кадру змішуються, щоб доповнити один одного і згладити зображення.
Сучасні апскейлери працюють за принципами TAA, проте виводять їх на новий еволюційний рівень. Вони теж поєднують інформацію з попередніх кадрів в поточному, однак всюди рендеряться різні пікселі. Ті, які потрапили у вибірку в попередніх кадрах, використовуються для заповнення не обраних в поточному. А за правильність розташування пікселів переважно відповідає машинне навчання.
В результаті зображення можна масштабувати, економлячи продуктивність. Задум виробників апскейлерів полягає в тому, щоб зображення рендерилося у меншій роздільній здатності, але підтягувалося до більшої без суттєвої втрати якості. Тоді картинка залишиться гарною, а кадрова частота підвищиться або знаходитиметься в нормі, якщо у грі присутні «важкі» для графічного процесора технології.
Розробники про переваги апскейлерів
В теорії апскейлери повинні приносити виключно користь. Принаймні, такі висновки напрошуються із заяв виробників. Наші спікери з цим згодні й позитивно ставляться до технологій масштабування. Особливо якщо треба збільшити продуктивність при сучасній графіці.
Проте розробники визнають, що не завжди застосування апскейлерів має сенс. Якщо у грі відсутні додаткові технології, які здатні істотно покращити якість картинки, тоді немає сенсу йти на компроміси виключно заради підвищення кадрової частоти. В такому випадку застосування інструментів масштабування не буде виправданим.
«Технології масштабування — це класний спосіб суттєво збільшити продуктивність гри, не дуже погіршуючи зображення. Умовно, замість того, щоб рендерити кадр у „справжньому“ 4К, ми можемо його відрендерити у 1080р. Така роздільна здатність сумарно містить у чотири рази менше пікселів, тому навантаження на відеокарту суттєво знижується. А далі за допомогою DLSS/FSR або інших апскейлерів зображення покращується», — Кирило Сидоров, C++/UE Crossplatform Programmer у GSC Game World.
«Дані технології вважаю дуже корисними, якщо ми говоримо про гру з високою розподільною здатністю та сучасними технологіями рендерингу. Наприклад, можна запустити гру з частотою 60 кадрів/с у 4K/QuadHD, але не з максимальними налаштуваннями графіки. Якщо додати більш згладжені тіні, рейтрейсинг або інші графічні покращення, FPS впаде. А за допомогою масштабування зображення можна вирівняти частоту до 60 кадрів/с. Звісно, в деяких випадках воно того не варте, але коли ми кажемо про графічні технології, які значно покращують картинку, можна піти на компроміс і включити масштабування», — Ярослав Сафронов, Engine Developer у Wargaming.
Михайло Мороз, Lead 3D Research Engineer у ZibraAI, цікаво обґрунтував потребу в апскейлерах для сучасних ігор. За його словами, щоб досягти фотореалізму у своїх масштабних проєктах, розробникам необхідно застосовувати трасування шляху. Сучасне залізо не здатне впоратися з цією технологією, гарантуючи необхідну кадрову частоту. Тому виходом стають апскейлери, які покращують продуктивність і дозволяють застосувати Path Tracing хоча б на флагманському «залізі».
«З урахуванням спроб наблизити 3D-графіку до фотореалізму, єдиний алгоритм, який зараз точно може розв’язати рівняння рендерингу — це Path Tracing. Його основна проблема полягає в тому, що він стохастичний. Тобто, щоб досягти результату, потрібно, наприклад, порахувати 1024 вибірки на піксель (шляхи світла). Зробити це в реальному часі все ще неможливо, тому необхідно працювати з меншою кількістю вибірок. Іноді навіть меншою ніж 1 шлях на піксель, щоб отримати щось схоже на правду. Саме тому й використовують технології темпорального згладжування (TAA) та темпоральної суперроздільної здатності (TSR). Навіть якщо використовувати старіші методи растеризації, шейдери, які описують освітлення поверхні, мають тенденцію бути згладженими, тому навіть тут добре використовувати TAA/TSR», — розповів Михайло.
Проте серед гравців застосування апскейлерів викликає дискусії. Далеко не всі користувачі хочуть, щоб розробники активно застосовували технології масштабування. Суперечки на цю тему особливо активно розпочалися в середині минулого року.
Причина невдоволення аудиторії
Прецедентом в темі застосування апскейлерів став реліз Remnant II. Цей пригодницький бойовик з елементами soulslike від Gunfire Games вийшов 25 липня 2023 року. На релізі гра відзначилася далеко не найкращою оптимізацією на ПК. Тести показали, що на NVIDIA RTX 4070 в роздільній здатності 1440р і з середніми налаштуваннями показник FPS тримається в районі 50 кадрів/с у спокійних сценах. І це з урахуванням далеко не найсучаснішої графіки.
Користувачі почали критикувати Remnant II через проблеми з продуктивністю. Розробники відреагували на невдоволеність гравців і заявили, що створили проєкт з урахуванням можливостей технологій масштабування.
«Ми чули від кількох людей про загальну продуктивність гри. Ми обов’язково випустимо оновлення продуктивності після запуску гри. Але заради прозорості відзначимо: ми розробили гру з урахуванням можливостей апскейлерів (DLSS/FSR/XeSS). Отже, якщо ви залишите налаштування масштабування такими, як є (ви можете натиснути „скинути налаштування за замовчуванням“, щоб повернути їх до стандартних), ви отримаєте максимально плавний ігровий процес», — написала Gunfire Games.
Після цього в сторону студії понеслася ще сильніша критика. Користувачі виступили проти рішення розробників на Reddit, в Twitter та відгуках в Steam.
Всі невдоволені висловлювали схожу тезу: гра повинна бути добре оптимізована без врахування технологій масштабування. Апскейлери — це додаткова функція, якщо користувач хоче підвищити продуктивність. Технічний стан проєкту не має будуватися навколо них.
Гравці ще більше розлютилися, коли протестували версію Remnant II для PC Game Pass. В ній технології масштабування, навколо яких проєктували бойовик, взагалі не працювали. Згодом розробники це виправили, проте до тих пір потік критики вже встиг стати доволі бурхливим.
Інші розробники схожих заяв не публікували. Проте у 2023 році вистачало погано оптимізованих проєктів, в яких кадрова частота досягала прийнятного рівня лише з увімкненим апскейлером. Ось декілька прикладів.
Immortals of Aveum на RTX 4060 в 1080р і з високими налаштуваннями не дотягувала до 60 кадрів/с. Продуктивність часто падала до 40 кадрів/с, і лиш увімкнення DLSS гарантувало стабільний показник вище 60 FPS. Аналогічна ситуація була зафіксована в Wo Long: Fallen Dynasty. А ще схожі, хоч і не настільки критичні проблеми спостерігалися у The Last of Us Part I та Star Wars Jedi: Survivor.
Оптимізація з урахуванням апскейлерів
На Reddit можна знайти безліч обговорень про застосування технологій масштабування в іграх. Наприклад, ось одне від користувача під доволі показовим псевдонімом FuckTAA. В контексті обговорення діяльності Digital Foundry він наводить декілька тез проти апскейлерів.
Публікація набрала майже чотириста коментарів. Далеко не всі згодні з тезами автора, проте помітно, що серед аудиторії сформувалася частина противників активного застосування технологій масштабування. Найчастіше вони жаліються на погану якість імплементації апскейлерів. Через це після увімкнення DLSS та схожих інструментів виникають «ореоли» в місцях, де добудовується кадр, а також спостерігаються візуальні артефакти.
Ми розпитали розробників, чи є ймовірність, що оптимізація ігор з урахуванням технологій масштабування ставатиме все частішою. Відповіді спікерів розійшлися. Деякі фахівці підтвердили побоювання частини гравців. На їхню думку, застосування та вплив апскейлерів збільшуватиметься. Поступово вони стануть одним з важливих елементів продуктивності гри та підтримки технічного стану на необхідному рівні.
Ярослав СафроновEngine Developer у Wargaming
«Відомі прецеденти оптимізації з апскейлерами, про які вже писали в новинах. Але ж є й такі, про які нічого не говорили, бо не було сенсу. Наприклад, DLSS впроваджувалася разом з RTX, бо без DLSS трасування променів від NVIDIA демонструвало й демонструє погану продуктивність. Проте це й не дивно, тому що рейтресинг хоч і не дуже складна операція з погляду математики та концепції, але дуже вимоглива.
Додаючи все більше й більше різних графічних технологій, виникає потреба в алгоритмах масштабування, які будуть актуальними й застосовуватимуться в іграх. Також варто сказати про консолі, які мають не таке потужне залізо, як частина ПК. Зараз дуже багато людей підключають приставки до 4К-телевізорів. Тут ці алгоритми будуть вдало інтегровані. Ба більше, вони використовувалися ще до DLSS та FSR, наприклад, шаховий рендеринг».
Кирило СидоровC++/UE Crossplatform Programmer у GSC Game World
«Я не вбачаю у цьому великої проблеми. По-перше, бюджет на будь-яку гру, так чи інакше, обмежений. Відповідно, кожна додаткова складна оптимізація — це час, який міг бути витрачений на інші задачі. По-друге, чим краще розвинуті оптимізаційні технології — зокрема, й апскейлінг, про який йдеться, — тим кращу якість графіки зможе отримати гравець на комп’ютері або консолі певної потужності. Чи можуть деякі компанії перестати „думати“ про оптимізацію? Звісно, але абсурдно в цьому звинувачувати технологію».
Дмитро Ковальчук, Principal Game Developer у Frag Lab зайняв протилежну позицію. Він вважає, що застосування апскейлерів дійсно може стати неприємним сюрпризом для гравців. У розробників з’являється спокуса скористатися легким інструментом та не інвестувати додатковий час в оптимізацію. Та навіть грамотна інтеграція технологій масштабування потребує уваги з боку розробників, не кажучи вже про комбінацію з іншими інструментами.
Дмитро КовальчукPrincipal Game Developer у Frag Lab
«Як на мене, апскейлінг несе певні загрози саме для гравців, бо у розробників може виникнути спокуса не оптимізувати свій рендеринг чи ассети, а повністю покластися на апскейлінг. Ми в Shatterline інтегрували системи масштабування тільки після того, як вижали з рушія все можливе».
А Михайло Мороз, Lead 3D Research Engineer у ZibraAI, розглянув ситуацію з погляду потреб проєкту. Він зазначив, що у сучасних іграх інколи просто немає змоги відмовитися від апскейлингу. Особливо коли є необхідність реалізувати оптимізацію для багатьох конфігурацій.
Михайло МорозLead 3D Research Engineer у ZibraAI
«Тут більше питання в тому, чи є в розробників вибір не використовувати TAA/TSR? Бо враховуючи сучасні вимоги для кадрової частоти, роздільної здатності та зашумлених методів рендеру, важко від них відмовитися. Саме тому ми отримуємо ситуацію, коли гру можуть навіть не тестувати без технологій масштабування, і мінімальні характеристики комп’ютера рахуватимуть з увімкненими апскейлерами», — вважає Михайло.
Складність інтеграції апскейлерів
За словами розробників, додати апскейлери у гру зазвичай нескладно. Популярні рушії мають підтримку DLSS, FSR та XeSS «з коробки». В такому випадку інтеграція займає дні або тижні, залежно від ресурсів команди. А основною проблемою може стати хіба що неповна документація від виробників.
Якщо ж йдеться про власний рушій студій, то тут більше складнощів. В цьому випадку інтеграція залежатиме від архітектури кастомної технології. Швидше за все, знадобиться витратити додатковий час і, можливо, допомога інженерів з компаній-виробників.
- Ярослав з Wargaming
- Кирило з GSC
- Дмитро з Frag Lab
«Все залежить більше від самої технології. Бо, наприклад, DLSS, від FSR відрізняється кардинально. Перша використовує штучний інтелект, а друга — це звичайний шейдер. Я стикався тільки з FSR і можу сказати, що інтегрувати цю технологію дуже просто. Стосовно DLSS лише чув, що її складніше інтегрувати у свій рушій», — Ярослав Сафронов, Engine Developer у Wargaming.
«Популярні ігрові рушії, як Unreal Engine або Unity, в основному мають підтримку DLSS/FSR „з коробки“. З погляду розробника, підключення максимально просте й вимагає лише декількох днів. Якщо ж компанія має власний пропрієтарний рушій, то підозрюю, що обставини трохи важчі й інтеграція займе більше часу. Тут все залежить від якості архітектури рушія», — Кирило Сидоров, C++/UE Crossplatform Programmer у GSC Game World.
«Інтегрувати сучасні версії цих бібліотек нескладно. Це реально може зайняти декілька тижнів, хоча все залежить від рушія. Поки найгірший відгук що я чув — це неповна або іноді оманлива документація до цих бібліотек. NVIDIA не славиться актуальною документацією», — Дмитро Ковальчук, Principal Game Developer у Frag Lab.
Михайло Мороз, Lead 3D Research Engineer у ZibraAI, заглибився в технічні деталі. Він пояснив, що при інтеграції апскейлерів важливо грамотно працювати з даними. Коли розробники не розуміють, як функціонують технології масштабування, вони неправильно реалізовують їх підтримку. Через це виникають проблеми із застосуванням апскейлерів.
«Зазвичай для темпоральних апскейлерів необхідно додавати G-Buffer. У більшості ігрових рушіїв він є, та й загалом це не дуже складно. Основна проблема в тому, щоб додавати ці дані в правильному місці та правильно керувати, наприклад, випадковим зміщенням камери. Іноді буває, що розробники неправильно інтегрують апскейлери, тому що не знають. як це працює під капотом. Наприклад, додають після рендеру ігрового інтерфейсу, а це може його доволі сильно зламати. Така проблема особливо характерна для DLSS3, коли треба створити новий фрейм з двох старих. Тут трапляється, що UI взагалі неможливо нормально намалювати. Здається, це було проблемою в Microsoft Flight Simulator», — розповів Михайло.
Хто отримує більше користі з апскейлерів
Технології масштабування — це свого роду компроміс. В ідеалі, вони слугують помічником для розробників, які хочуть продемонструвати у своїй грі передову візуальну якість. Тоді застосування апскейлерів повністю виправдано з технічного боку.
У всіх інших випадках багато залежить від додаткових аспектів. Як проєкт працює без технологій масштабування? Чи вдало вони інтегровані? Наскільки сильно апскейлери погіршують зображення? Від відповідей на ці питання залежатиме ставлення аудиторії у кожному конкретному випадку. А поки що воно дуже неоднорідне.
На думку Михайла Мороза, Lead 3D Research Engineer у ZibraAI, якби була змога, користувачі відмовились би від апскейлерів. Тому що в комплекті з ними часто йдуть візуальні артефакти. А ось розробникам технологія справді полегшує життя, тому що оптимізація стає значно простішою.
«Якби у гравців був вибір не використовувати апскейлери — вони б так і робили. Тому що TAA має дуже велику кількість артефактів, а в VR, де потрібна дуже чітка картинка для комфорту, використовують MSAA замість TAA. Розробникам це навпаки спрощує життя, тому що немає потреби сильно оптимізувати продукт, і не треба сильно заморочуватися над якісним плавним рендером матеріалів, тому що TAA все одно прибере будь-який шум», — вважає Михайло.
Інші розробники дотримуються більш помірної думки. Вони відзначають, що апскейлери корисні як для гравців, так і для фахівців. Перші отримують кращу продуктивність і можливість запускати проєкти на слабших системах. А другі — додаткові інструменти, які дозволяють економити ресурси або підіймати планку технологічності. Для розробників переваги беззаперечні, і це визнають наші спікери.
- Ярослав з Wargaming
- Кирило з GSC
- Дмитро з Frag Lab
«Апскейлери дуже дієві. Під час розробки ми запускаємо гру на рушієві, який віднімає частку ресурсів комп’ютера. Окрім рушія, зазвичай ще працює різний робочий софт, і це теж з’їдає ресурси. Тож у порівнянні з гравцями, які зазвичай просто запускають гру та грають у неї, розробникам все ж потрібно більше ресурсів, тому використання того ж FSR значно покращить роботу над грою. Звісно, можна понизити зображення рендерингу при розробці, але приємніше все ж мати вищу якість зображення, схожу на ту, яку бачитимуть гравці», — Ярослав Сафронов, Engine Developer у Wargaming.
«На мою думку, технології апскейлінгу вигідні обом сторонам. Розробники витрачають менше часу, тому вартість створення гри знижується або збільшується кількість/якість ігрових систем. Натомість гравці отримують кращий перформанс. Гравці зі слабкими комп’ютерами можуть дозволити собі хоч якось пограти в гру. Водночас власники флагманської техніки можуть отримати ще краще зображення, ніж було б у чесному 4K. Тому що можна початково відрендерити зображення у 4К, а потім за допомогою DLSS/FSR ще більше його покращити», — Кирило Сидоров, C++/UE Crossplatform Programmer у GSC Game World.
«Як користувач Steam Deck, я радий бачити такі технології в іграх. Тут свого роду переможна для всіх історія. Проте для гравців це працює, тільки якщо вони згодні отримувати іноді спотворену картинку. Поки у тебе є можливість вимикати апскейлінг, і розробники оптимізують гру без врахування цих фічей — все гаразд», — Дмитро Ковальчук, Principal Game Developer у Frag Lab.
Перспективи розвитку технологій масштабування
Михайло Мороз, Lead 3D Research Engineer у ZibraAI
Очевидно, що все більше будуть інтегруватися методи штучного інтелекту, тому що це єдиний спосіб прикрити всі артефакти в далекій перспективі. Можливо, навіть дійде до того, що машинне навчання будуть використовувати не тільки для апскейлу FPS/роздільної здатності та видалення шумів, а й для самого рендеру. Наприклад, розробники задаватимуть тільки маску об’єктів та параметри освітлення сцени, а все інше зробить ШІ.
Ярослав Сафронов, Engine Developer у Wargaming
Технології апскейлу потрібні, бо з сучасною роздільною здатністю екрана в нативному зображені ми не можемо отримати стабільну та задовільну кадрову частоту. Особливо це стосується консолей. Я гадаю, що вони будуть активно розвиватися. Напевне, сильніше в напрямку штучного інтелекту, бо навіть апаратне забезпечення роблять з прицілом на це — тензорні ядра, процесор для обчислень ШІ тощо.
Кирило Сидоров, C++/UE Crossplatform Programmer у GSC Game World
Важко передбачити, куди розвиватимуться подібні технології надалі. Я вважаю, що не варто чекати ще одного різкого прориву в цій сфері. Умовно, найближчим часом навряд чи вийде технологія, яка переплюне поточні системи ШІ-апскейлінгу вдвічі. Проте, швидше за все, варто очікувати поступових ітераційних покращень у цьому напрямку.
Дмитро Ковальчук, Principal Game Developer у Frag Lab
Думаю, що всі дивляться в сторону штучного інтелекту та нових ядер для нього. Очевидно, що з часом результати ставатимуть все кращими й, можливо, в майбутньому дискусії формату «з DLLS/FSR чи без» зникнуть з порядку денного.
8 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів