Кратко

Технология апскейлинга DLSS в игровой индустрии: эволюция изображения в современных играх

Разбираем принцип работы одного из самых эффективных способов апскейлинга.

С опорой на большой опыт работы команда студии Skill Games может с уверенностью сказать, что сегодня один из главных технологических трендов в игровой индустрии — это улучшение картинки при сохранении высокого уровня производительности. В разных студиях приходят к этому при помощи разных методов. Кто-то добавляет в видеокарты специальные блоки вычисления и улучшает картинку при помощи искусственного интеллекта; кто-то действует консервативней, использовав универсальные алгоритмы, которые доступны для всех видеокарт. Сегодня все чаще применяют технологию апскейлинга - DLSS довольна популярна в игровых проектах, встречается очень часто. Некоторые разработчики говорят в открытую, что рассчитывают на подобные системы во время разработки. Например, создатели проекта Remnant 2 еще до момента релиза признали, что создавали игру при помощи апскейлинга. Пользователи изначально очень переживали, что графика станет более искусственной, а разработчики все хуже будут работать над оптимизацией, но вышло все вполне удачно.

Апскейлинг и сглаживание - что это такое?

Метод DLSS является одним из самых основных методов апскейлинга - заключается в увеличение разрешения изображения. Если в игровом проекте применяют один из методов апскейлинга, то автоматически не используется сглаживание. На самом деле это делается не просто так: функция сглаживания лежит в основе всех модернизированных алгоритмов апскейлинга. Для того чтобы разобраться как работает апскейлинг, сначала нужно погрузиться в метод сглаживания: его внедряют для того, чтобы избавить изображение от проблемы алиасинга.

Что такое алиасинг? Это своеобразная лесенка, которая создается автоматически из небольших пикселей, расположенных на границах предметов. Эти пиксели образуются по причине того, что все мониторы обладают формой квадрата - это мешает сделать гладкую форму любому объекту. Убрать эффект можно только при помощи заполнения места между пикселями промежуточным цветом. Например, если у нас белые и черные пиксели, то между ними нужно залить все свободное место серым цветом - только тогда мы увидим гладкую картинку.

Все пиксели на мониторе обладают дискретным свойством, поэтому залить цветом только одну половину фигуры не получится. Можно действовать другим методом, достаточно грубым и уже мало используемым в современном игровом мире - он позволяет просто увеличивать плотность пикселей, чтобы вот эти своеобразные лесенки невозможно было вообще заметить человеческим глазом. Но даже такой метод работы затрачивает очень много ресурсов, является безумно дорогим и не добавляет проекту реализма, поэтому все опытные разработчики стараются как можно лучше замазать все угловые участки. Самым популярным и простым способом избавиться от такой проблемы является метод замазывания всех контрастных мест на кадре промежуточным цветом, как мы уже говорили выше. Такой метод позволяет максимально сгладить всю картинку и в игровой сфере его называют «постпроцессинговым». Часто его используют в небольших игровых проектах. Основной его плюс заключается в том, что нагрузка на систему минимальна, к тому же не нужно дополнительно обрабатывать кадр, что уменьшает работу. Частота кадров вообще не падает, но при таком методе работы нужно быть очень внимательными, так как он меняет все изображение, размывая его. Чтобы добиться качественной работы необходимы дополнительные сведения о предмете: например, такие как его расположение, отдаленности от других объектов.

Один из видов постпроцессинга — это сглаживание, выполнить его достаточно сложно, например MLAA просто идеально сглаживает любые границы предметов, опираясь при этом на их фигуру. Система полностью игнорирует все контрастные, прямые линии – на экране их по факту будет безумно мало, но все равно вы не получите высокое качество кадра. Самый простой способ добиться сглаживания при помощи обработки кадра в максимальном разрешении – это метод мультисемплинга. С его помощью можно действовать прямо: то есть увеличивать сразу разрешение на всей сцене. По такому принципу работает популярный метод SSAA. Алгоритмы начинают понимать, где располагается тот или иной предмет и удачно корректно его разглаживают. Данный метод является хорошим, но мы должны вас предостеречь, что на него уходит очень много ресурсов, так как видеокарта начинает обрабатывать картинку в высоком разрешении.

Сглаживание темпорального типа

Разработчики очень долго спорили по одному вопросу, как лучше поступить: использовать постпроцессинговые фильтры, но при этом получать очень низкого качества картинки, или жертвовать производительностью процессора, но при этом получить хорошее сглаживание. Ситуация в корне переменилась, когда в игровой сфере появилось темпоральное сглаживание. Оно работает по следующему принципу: вместо того чтобы усложнять рендер кадров и делать акцент на каких-то деталях, информация о нюансах изображение берется из предыдущего кадра. Делают это при помощи совершенно незаметного для пользователя сдвига изображения в бок – сам процесс называют пиксельным колебанием, так как картинка смещается на маленькое расстояние - меньше, чем на один пиксель. Поэтому игрок вообще не видит никакой разницы, но ему этого вполне достаточно, чтобы получить подробную информацию обо всех границах предмета. Темпоральное сглаживание сегодня — это самый часто используемый метод, в ходе которого алгоритм может получить полностью новую и качественную информацию о том объекте, с которым ему придется работать – но на сбор информации ресурсы не тратятся. Такой тип сглаживания достаточно прочно закрепился в игровой сфере, его сегодня используют почти все современные проекты. Но даже такой идеальный метод обладает своими минусами – это появление артефактов. Когда кадр очень сильно меняется по отношению к предыдущему изображению, то на экране все равно остаются части предыдущего. Такой эффект можно встретить в гоночных проектах, где машины преодолевают за несколько кадров слишком большие расстояния. Чтобы решить эту проблему используют эвристические алгоритмы — это метод, который по факту не гарантирует никакой результативности, но чаще всего справляется с поставленными перед ним задачами.

Темпоральный апскейлинг - что это за метод?

Данный метод является далеко не бескомпромиссным, но он предлагает достаточно хороший способ для получения необходимой информации из игрового движка. По факту множество графических вычислений можно поделить на несколько основных кадров, чтобы не терялась хорошая производительность. Эта идея лежит в основе всех методов сглаживания, но в теории можно действовать максимально просто: разделить кадры в нужном разрешении на небольшую группу в пониженном, потом почистить их от графических артефактов используя при этом эвристические методы. В результате мы получим изображение очень низкого качества, так как системе необходимо будет большую часть картинки достраивать самостоятельно. Такие работы мы видим в TAAU: когда картинки лишаются деталей и становится очень размытыми, пользователям приходится играть на низком разрешении.

Что такое DLSS?

Шесть лет назад студия NVIDIA предложила свой способ, чтобы навсегда закрыть проблему с низким качеством изображения. Компания начала использовать нейросети, чтобы они могли объединить кадры низкого разрешения и из нескольких сделать одно изображение, но хорошего качества. В чем-то принцип очень похож на TAAU, но для того, чтобы убрать графические артефакты теперь используются не эвристические методы, которые не всегда давали результат, а заранее подготовленная к работе нейросеть. В первой версии нейросети приоритет отдавали именно процессу сглаживания: картинка в низком разрешении совмещалась по принципу уже знакомому принципу, затем ее растягивали до нужного размера, потом чистили от лишних деталей при помощи искусственного интеллекта. Выполнять такую работу стало возможно из-за того, что на новых видеокартах RTX 2000-й серии появились тензорные ядра, которые упростили процесс вычисления. На входной слой искусственного интеллекта отправлялись изображения в виде небольших чисел — это могли быть просто пиксели, которые в дальнейшем соединяясь с нейронами давали отличный кадр, подходящий ля игрового проекта. Таким образом искусственный интеллект при помощи подбора находил максимально результативный путь от входного нейрона к выходному.

В статье мы постарались максимально просто объяснить, как работают современные нейросети, поэтому не углублялись в их структуру детально: нам было важно, чтобы вы уловили сам процесс и как при нем много внимания уделяется тензорным ядрам. Если говорить другими словами, то нейросеть — это очень большой набор простейших вычислений и на самом деле с ними может справиться любой персональный компьютер, но займет это слишком много времени. Именно для сокращения времени разработчики увеличили частоту кадров, вот для этой работы идеально подходят тензорные ядра, впервые появившиеся в RTX 2000-й серии. Их особенность заключается в том, что они могут решить поставленные задачи в несколько раз быстрее, чем обычный вычислительный блок любого компьютера. Поэтому изображения в игровых проектах обрабатываются с безупречной скоростью. Когда выпускали новую версию DLSS, то нейросети тренировали специально для каждого проекта. Но вход ей выдавали картинку с низким разрешением, а на выходе уже в высоком – это очень популярный метод обучения, из-за которого нейросеть теперь сама знает каким должно быть изображение и специально меняет параметры нейронов, чтобы получить похожий результат. Процесс обучения длился очень долго, пока нейросеть не научилась с самого первого раза достраивать изображения до необходимого вида. Остается теперь только скачать свежий драйвер, внутри которого уже встроена полностью готовая к работе нейросеть.

Первоначальная DLSS не была довольно успешной, так как разработчикам приходилось проделывать огромное количество дополнительной работы, но результат все равно оказывался неудовлетворительным. Хорошая производительность давала проблему с изображениями – они были очень размытыми. Мы уже говорили выше, что для этого методы работы использовали кадры в низком разрешении, так как нейросеть не могла взять нигде новую информацию для качественной отрисовки кадра. Ей оставалось только самостоятельно производить недостающие детали и стараться это сделать максимально правдоподобно. Еще несколько лет назад технология DLSS была максимально не любима всеми разработчиками, студиями. В современное время все изменилось: TAAU аналоги стали настоящим стандартом для разработки игровых проектов. Вы можете встретить апскейлинг в совершенно любой крупной игре. Некоторые пользователи отмечают, что с популярностью данного метода начинают выходить плохо оптимизированные проекты – там кажется, что в ближайшие несколько лет эта проблема не будет решена, пока не будет придумана более совершенная технология сглаживания пикселей.

Фото: ixbt.com, warthunder.ru

20
Поделитесь с друзьями:
Оцените статью:
Еще нет голосов
Теги:

Главное за день

Человек, создавший легенду: настоящий севастополец Валерий Володин отмечает 76-летие

Губернатор рассказал об отношениях с директором 35-ой береговой батареи.
19:00
10
1869

Больше всего ATACMS этой ночью летело в Крым

57 беспилотников уничтожили и перехватили над территорией Краснодарского края.
07:40
16
5406

На севастопольском пляже «Учкуевка» работает тяжёлая техника

Только к середине мая у пляжа окончательно определился оператор.
14:07
12
11739

Как в Крыму замещают импортные трубы для коммунальных служб и аграриев

Сырьё везут с материка или используют собственные отходы.
18:17
1
550

Стали известны подробности инцидента с выпадением из окна крымского гимназиста

Выпавший из окна ребёнок госпитализирован с серьёзными травмами.
14:15
3
2588