Понеділок, 5 Жовтня, 2026

NVIDIA придумала спосіб “упакувати” текстури: як нейронне стиснення може зекономити гігабайти відеопам’яті

Якщо подивитися на сучасні ігри зсередини, стає зрозуміло, що більша частина відеопам’яті витрачається не на моделі чи ефекти, а на текстури. Саме вони займають величезні обсяги VRAM. Камінь, метал, тканина, асфальт, стіни, шкіра персонажів — усе це окремі набори текстур. Причому не просто картинки, а цілий пакет каналів: колір, нормалі, шорсткість, тіні, освітлення. У підсумку один об’єкт може мати кілька різних карт матеріалу, які GPU постійно читає під час рендеру.

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

Ідея, яка звучить трохи дивно: зберігати текстуру як нейромережу

І ось тут NVIDIA запропонувала доволі нестандартний підхід. Замість того щоб зберігати саму текстуру у відеопам’яті, можна зберігати її компактне “описання”. А вже під час рендерингу маленька нейромережа буде відновлювати потрібні пікселі прямо на льоту.

Ця технологія отримала назву Neural Texture Compression. Її суть проста: замість того щоб тримати повний набір кольорів і деталей, система записує невеликий набір так званих латентних параметрів. Вони описують основні властивості матеріалу. Коли GPU потрібно намалювати конкретну точку текстури, нейромережа бере координати поверхні і ці параметри, після чого обчислює фінальне значення пікселя.

Якщо говорити простіше — текстура фактично перетворюється на математичну модель. Відеокарта не читає готовий колір із пам’яті, а обчислює його.

Як система взагалі “вчиться” відтворювати текстуру

Перед тим як текстура потрапляє у гру, її проходять через процес навчання. Береться оригінальна картинка матеріалу, а потім невелика нейромережа багато разів намагається її відтворити.

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

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

Скільки пам’яті можна зекономити

На демонстрації NVIDIA показала доволі показовий приклад. У тестовій сцені з великою кількістю матеріалів традиційні текстури займали приблизно 6,5 ГБ відеопам’яті. Після застосування нейронного стискання обсяг зменшився приблизно до 970 МБ. Це приблизно 85 % економії VRAM.

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

Чому це важливо для сучасних ігор

Сучасні рушії, особливо ті ж Unreal Engine 5, дуже агресивно використовують текстури високої роздільності. І саме через них відеокарти часто впираються у ліміт VRAM.

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

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

Цікава деталь: текстура завжди відтворюється однаково

На відміну від генеративних нейромереж, ця технологія не вигадує нові деталі. Вона детермінована. Тобто одна й та сама текстура відновлюється завжди однаково.

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

Ще один бонус: менший розмір ігор

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

Величезні інсталяції по 100–150 ГБ з’явилися саме через те, що текстури зберігаються у високій роздільності. Якщо їх замінити компактними нейронними представленнями, розмір файлів може суттєво зменшитися. Менші патчі, швидше завантаження і менше місця на SSD.

Але є один нюанс — обчислення

Тут виникає очевидне питання. Якщо текстура більше не читається напряму з пам’яті, а обчислюється нейромережею, чи не стане це новим навантаженням для GPU?

Відповідь — так, певне обчислювальне навантаження з’являється. Саме тому технологія активно використовує блоки штучного інтелекту всередині відеокарт, наприклад Tensor-ядра або аналогічні прискорювачі у GPU інших виробників.

Ідея полягає в тому, що сучасні відеокарти мають величезний запас обчислювальної потужності для AI-операцій. Тому частину пам’яті можна “обміняти” на обчислення.

Чому технологія ще не з’явилася у реальних іграх

Попри те, що концепція виглядає багатообіцяюче, у масових іграх її поки що немає. Причина проста: інтегрувати таку систему потрібно прямо у графічний рушій.

Тобто розробники повинні змінити пайплайн роботи з текстурами. Це схоже на ситуацію з DLSS: технологія може бути дуже ефективною, але вона працює тільки там, де її спеціально додали.

Через це нейронне стискання поки що існує переважно у вигляді демо і SDK для розробників.

Чому ця ідея може змінити підхід до графіки

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

Текстури можна буде зберігати у значно компактнішій формі, а GPU відновлюватиме їх під час рендеру. У результаті відеокарти з невеликою кількістю VRAM зможуть працювати з набагато складнішими сценами, ніж зараз.

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

Буде цікаво

Останні з категорії