Коли я писав лонґрід про оптимізацію, там я згадав про технологію DLSS, але не пояснив що це таке і як воно працює, та найголовніше — чи убиває воно ігри?
Що таке upscaling?
По своїй суті DLSS є просто глибоко покращеною технологією upscaling (Масштабування зображення, далі МЗ). Самим технологіям та алгоритмам МЗ уже багато років, та використовувалося навіть в одних з перших версій Microsoft Paint. Сама ідея МЗ, я гадаю з'явилася разом із першими цифровими фото та відео, із простого питання, а що якщо ми можемо знімати у меншій якості, але потім збільшити якість відео за допомогою комп'ютера та зберегти пам'ять на компактному носії, нагадаю: колись були часи коли тобі потрібно було помістити усе що можеш на CD диск на 64 Мб.
Тож найпростіша ідея була найнеефективнішою, простий метод найближчих сусідів, тобто беремо піксель, дивимося що навколо нього, ставимо поруч середнє значення цих усіх пікселів. Даний алгоритм уже давно ніде не використовується, побачити його можна хіба в лабораторних роботах.
Після появилися кращі алгоритми засновані на математичних методах, у мене навіть була лабораторна робота де ми використовували один з таких для інтерполяції зображення. Я не хочу витрачати час на опис цих алгоритмів, тому просто залишу посилання на статтю, або Вікіпедію.
так, це скрін з моєї лаби
Тож, ось ми збільшили або збільшили зображення, маємо іншу біду, а саме пікселізація зображення. Через те, що ми живемо у реальності це якщо піксель і є, то він у рази менше якогось бозона. А наш екран має чітку кількість пікселів, які дуже часто можна побачити без сторонніх інструментів, маємо те що на зображенні нижче
Тож, зображення окрім цього потрібно згладити, і цифровим аналогом праски є алгоритми згладжування (логічно). І я знову ж з поваги до мого психічного здоров'я, я не буду описувати кожен із цих алгоритмів, тому можете почитати оце або подивитися відео нижче, де автор пояснює за всі налаштування графіки. Знову ж таки тема яка дуже тісно пов'язана із математикою та вивчена людьми набагато розумнішими за мене.
Майже тут
І братом нашого DLSS є інша технологія, TXAA (Temporal anti-aliasing), це алгоритм згладжування який порівнює різні пікселі сусідніх кадрів, але технологія викликає так званий гостінг (ghosting). Ефект чимось схожий на розмиття, коли затримка у камері відносно довга, а ти дуже швидко прибрав її.
Пишу я про неї лише тому, що це крайня на цей час ця технологія не використовує штучний інтелект.
Ми тут
DLSS — це технологія як згладжування, так і МЗ. Суть її у порівнянні кожного пікселю сусідніх кадрів гри. Проблема DLSS утому, що вона потребує спеціальних CUDA ядер. CUDA також є спеціальною мовою програмування для обчислення на GPU, хоча спочатку воно обчислювалося на звичайних ядрах GPU.
Для чого потрібні CUDA ядра? В основному для обчислень, так тих самих що може робити твій процесор (CPU), але твоя відеокарта (GPU) може виконати їх швидше, але задля економії ресурсів коректніше використовувати CUDA ядра саме для важких обчислень, таких як: криптографія, фізичні рушії, динаміка; до речі вони також обчислюють Physx. І окремо вони використовуються для обчислень штучного інтелекту.
Можливо ви пам'ятаєте що перші версії DLSS потребували, щоб розробники надсилали Nvidia файли гри для правильної компіляції DLSS. Пізніше ця потреба зникла і DLSS став доступним для всіх, під "усі" маються на увазі власники відеокарт Nvidia Geforce 20XX, та старших поколінь.
Що ж, як таки працює DLSS? дуже просто:
- зображення на екрані зменшується, але не розширяється відповідно вашого монітора;
- АІ магія та алгоритми МЗ збільшують картинку до вашого екрана. На табличці зображено настільки алгоритм зменшує зображення.
Тож, чому це все так важливо? Тому що якщо розмір зменшеної картинки 720p ви й будете бачити купу пікселів, бо окрім цих пікселів немає чого масштабувати, іншими словами: чим більша роздільна здатність вашого екрана, то тим красивіше виглядатиме масштабоване зображення.
FSR
Це був слон у кімнаті, якого я не міг не згадати. Принцип роботи однаковий, з єдиною відмінністю утому, що FSR використовує інший алгоритм масштабування. Також FSR доступний на будь-якій GPU, що робить його менш ефективним, тому що якщо тобі потрібен алгоритм що працюватиме у всіх, ти не можеш просто надіятися що у тої GPU будуть окремо виділені ядра для твоїх АІ обчислень.
Для того, щоб ефективно користуватися апскейлерами, потрібно від початку мати велике розширення екрана. Бо так розширення від якого іде підвищення не 540р, а хоча б 720р. У мене у самого 1920x1080 монітор, тому я знаю що DLSS баланс уже робить мені мило, використовуючи не хитру математику розширення із якого я отримую зображення 1113x624, навіть не HD. І у такому випадку я тупо не маю пікселів з яких можна адекватно збільшити зображення. Для конкретних прикладів можете або самі провести експерименти або подивитися оце відео.
У цьому дописі я не чіпав тему генерації кадрів, тому що я мало про неї знаю та не вважаю її чимось хорошим. Тому ще раз підсумуємо: DLSS добре себе показує коли розширення із якого проводиться збільшення уже має достатню кількість пікселів. наприклад коли хочеш збільшити із 900p, 1080p до 1440 або до 4K. Інакше ви ризикуєте отримати мило.
Чи є убиває ця технологія ігри? Ні. DLSS ніколи не рекламувалася як заміна оптимізації, це просто була технологія для того, щоб 4K геймінг був більш доступним, бо тодішні GPU не могли собі дозволити запускати ігри в 4K, тим більш із трасуванням променів. Ба більше, я вважаю використання апскейлерів у системних вимогах ознакою поганої гри.
Топ коментарі (0)