Компьютерные игры становятся «тяжелее» из года в год, а их разработчики все чаще забывают об оптимизации своих проектов. Но что делать, если игра «тормозит», а поиграть хочется? Сначала на помощь геймерам пришли технологии масштабирования. В какой-то момент их тоже оказалось недостаточно. Настал черед нового решения — генерации кадров. Как она работает и какие разновидности у нее есть? Когда ей стоит пользоваться? Ответы — в материале.
NVIDIA Frame Generation
Пионер технологий генерации от NVIDIA. Технологию представили осенью 2022 года в составе комплекса DLSS 3. Она использует для работы тензорные ядра и ускоритель оптического потока, присутствующий в видеокартах NVIDIA RTX4000.
Движок оптического потока попиксельно анализирует два соседних кадра. Для этого измеряются скорость и направление движения точек. Затем информация сверяется и комбинируется с данными от векторов движения в кадре. На основе этого сочетания нейросеть, работающая на тензорных ядрах, генерирует промежуточные кадры.
Frame Generation стал первым массовым генератором кадров — и, пожалуй, одним из лучших. По качеству он обычно превосходит конкурентов.
Огорчает одно: ни на каких картах, кроме последней линейки NVIDIA, технология не работает. И даже в этом случае ее должна поддерживать сама игра. Принудительно в любом проекте Frame Generation не включить.
AMD Fluid Motion Frames (AFMF)
Генератор кадров от AMD, вошедший осенью 2023 года в составе комплекса FSR 3. Изначально поддерживался только серией видеокарт RX7000. Однако вскоре AMD сделала технологию открытой. Сейчас она работает на любой современной карте, в том числе — на моделях от NVIDIA и Intel.
AFMF тоже основана на анализе оптического потока и векторов движения. Однако для этого не применяются какие-то специализированные блоки. Расчеты идут на универсальных шейдерных процессорах.
В сентябре 2024 года технология обновилась до второй версии. Она обеспечивает более качественную картинку. Все благодаря собственной нейросети, работающей на тех же шейдерных процессорах.
Fluid Motion Frames можно запустить в проектах без его официальной поддержки. Взаимодействие с игрой в этом случае будет идти через драйвер. Для этого понадобятся видеокарты серий RX7000, RX6000 или встроенная графика Radeon 700M/800M.
При таком запуске AFMF не получает информации о векторах движения, а кадры генерируются только на основе анализа оптического потока. Артефактов тут может быть больше, а при резких движениях камерой генератор и вовсе отключится.
Lossless Scaling Frame Generation (LSFG)
Одна из функций сторонней программы масштабирования под названием Lossless Scaling. Она позволяет запустить генерацию кадров на любом графическом процессоре — NVIDIA, AMD или Intel.
По заявленным характеристикам LSFG выглядит великолепно. Технологии от NVIDIA и AMD могут генерировать один искусственный кадр на каждый отрендеренный, а вот LSFG может «дорисовывать» до трех. В теории производительность может вырасти до четырех раз!
Однако на практике все не так радужно. С увеличением FPS линейно растут количество артефактов и задержка ввода. А стабильную работу разработчики обещают только при фиксированной частоте кадров. Поэтому перед запуском утилиты рекомендуется ограничить ее через драйвер.
Стоит учитывать, что LSFG анализирует лишь оптический поток без векторов движения. Так что качество тут не сильно выше принудительно форсированного AFMF.
Какой технологией пользоваться?
Выбор технологии генерации зависит от имеющейся видеокарты и ее поддержки в игре. NVIDIA Frame Generation доступна во многих проектах последней пары лет. Но использовать ее можно только с видеокартами NVIDIA RTX4000. Для этого достаточно лишь переключить соответствующий ползунок в игре.
Для видеокарт RTX2000 и RTX3000 существует мод DLSS3 to FSR3, совместимый со многими играми. С его помощью можно «обмануть» игру с поддержкой Frame Generation. Так она будет работать на картах указанных серий через FSR3. Сделать это легко: нужно скачать мод и заменить несколько файлов в папке с игрой.
AMD Motion Frame Generation в играх встречается реже. Зато она работает на более широком спектре «железа». Официально для нее рекомендуют как минимум AMD RX5000 и NVIDIA RTX2000. Однако генерацию можно включить и на более старых видеокартах.
AFMF можно задействовать в даже в неподдерживаемой игре с помощью драйвера Radeon Software. Для этого понадобятся видеокарта серии RX6000 или RX7000. Также поддерживается встроенная графика Radeon 700M/800M. Для выбранной игры перед запуском необходимо включить указанную настройку в панели управления драйвером.
Либо можно сразу после запуска игры нажать комбинацию клавиш Alt + Shift + G. Для работы технологии нужно отключить вертикальную синхронизацию. Сама игра должна работать в полноэкранном режиме.
Если ни одно из решений не подходит, на помощь придет универсальный LSFG. Сначала нужно будет установить программу Lossless Scaling. Запускаем ее, раскрываем пункт Frame Generation, выбираем самую новую версию LSFG из доступных. Затем выбираем режим вставки кадров — x2, x3 или x4. Чем больше значение, тем выше будет производительность. Но и артефактов тоже прибавится.
Для корректной работы генератора необходимо ограничить частоту кадров в игре. Она должна быть меньше частоты обновления монитора в определенное количество раз. Если используется режим x2 — в два раза. В случае с x3 — в три раза, с x4 — в четыре.
Запускаем игру. Переключаемся на окно с программой, нажимаем на «Scale», вновь возвращаемся в игру. Чтобы не возвращаться к программе, можно после запуска игры использовать комбинацию Ctrl + Alt + S.
Недостатки технологий
Технологии генерация кадров нужны для повышения производительности. Но, если не хватает FPS, лучше сначала перепробовать остальные способы его увеличения. Например, снизить графические настройки или включить масштабирование. И лишь в последнюю очередь стоит использовать генерацию.
Причин для этого две. Первая — это задержка ввода. Так как кадры не проходят игровой рендер, вся информация в них получается на основе интерполяции. Игровая логика продолжает работать на частоте рендера, которая гораздо меньше. В итоге отзывчивость управления заметно снижается. Особенно это заметно, если FPS изначально низкий. Тогда использование генерации приводит к заметным задержкам в управлении. Динамичные игры становятся попросту неиграбельными.
Стабильные 30 кадров в секунду — нижний порог FPS, при котором можно задействовать генерацию. Но даже тогда задержка ввода будет высокой, а артефакты — довольно частыми. Это плата за создание кадров «из воздуха». Хотя даже в таком режиме с генерацией играть чаще всего комфортнее, чем без нее. Особенно в не очень динамичные проекты.