Товары для строительства

Товары для строительства

Архитектура RAGE спустя годы: рендеринг и производительность Red Dead Redemption 2 на ультра-настройках и современных GPU

Прошло уже прилично времени с момента выхода проекта от Rockstar на ПК, а разработчики железа продолжают использовать его для демонстрации возможностей своих новых кремниевых чипов. Когда мне на стол ложится очередная видеокарта вроде RTX 4090 или RX 7900 XTX, я не спешу запускать свежие релизы на Unreal Engine 5. Я открываю Red Dead Redemption 2 и выкручиваю все ползунки графики вправо до самого упора. Дело тут совсем не в ностальгии по эстетике Дикого Запада или большой любви к открытым мирам. Просто этот проект остается одним из самых суровых испытаний для подсистемы памяти и вычислительных блоков любого GPU.

Red Dead Redemption 2 стабильно загружает современные видеокарты на максимум из-за сложнейшей геометрии кадров, отсутствия предкомпиляции ассетов и просчета объемного освещения без выделенных RT-ядер. Для получения стабильных 60 FPS на ультра-настройках в нативном 4K-разрешении графическому адаптеру требуется минимум 12 ГБ видеопамяти, широкая пропускная способность шины и мощная подсистема кэширования L2.

Если вы по какой-то причине пропустили этот шедевр технической мысли, то сейчас самое подходящее время исправить упущение и купить аккаунт РДР 2 на маркетплейсе lzt.market для самостоятельных экспериментов с настройками. Игра заставляет графический конвейер работать на абсолютном пределе возможностей из-за огромного количества уникальных ассетов в кадре и сложных пространственных вычислений. Даже топовые современные решения могут задыхаться при активации максимального уровня качества объемных облаков в связке с продвинутой физикой воды. Разработчики заложили такой запас прочности в визуальную часть, что железо только сейчас начинает по-настоящему справляться с рендерингом в нативном 4K без использования костылей в виде агрессивного апскейлинга.

Архитектура движка rage и распределение вызовов отрисовки

Чтобы понять причину столь высокой нагрузки, нужно заглянуть глубоко под капот Rockstar Advanced Game Engine. Когда я впервые прогнал тяжелый кадр через отладчик RenderDoc, меня изрядно удивила структура построения сцены. Пайплайн здесь представляет собой тяжелый монолитный гибрид, где традиционный отложенный рендеринг тесно переплетается с множеством кастомных проходов для расчета непрямого освещения и плотных атмосферных эффектов. Движок не просто рисует базовую геометрию с натянутыми текстурами. Он последовательно выстраивает десятки буферов для каждого кадра, что требует огромной пропускной способности видеопамяти.

https://www.progamer.ru/ ©

Самая большая головная боль для создателей масштабных открытых пространств всегда кроется в количестве вызовов отрисовки. В густых лесных локациях мы наблюдаем колоссальное скопление уникальных объектов. Каждый отдельный куст или камень требует внимания центрального процессора для подготовки матриц трансформации перед отправкой на видеокарту. Разработчики применили весьма агрессивные алгоритмы отсечения невидимой геометрии по пирамиде видимости, но даже с ними

Разработчики применили многоуровневую систему отсечения: Frustum Culling (по пирамиде видимости) и Occlusion Culling (перекрытие объектов). Однако в густых лесах Нью-Ганновера количество Draw Calls (вызовов отрисовки) на ультра-настройках может достигать 12 000 – 15 000 за кадр. Для сравнения, аппаратный предел эффективной работы старого API DirectX 11 составлял около 3 000-5 000 вызовов. Именно этот гигантский объем инструкций заставляет планировщик видеокарты (Hardware Scheduler) работать на пределе, требуя от процессора высокой производительности на такт (IPC) и пропускной способности памяти не ниже стандарта DDR4-3600.

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

Эффективность vulkan против directx 12 на современных процессорах

С момента релиза ПК-версии на профильных форумах не утихают споры о выборе правильного графического API. Я потратил немало часов на профилирование обоих доступных вариантов и могу уверенно заявить, что фундаментальная разница кроется глубоко в принципах управления памятью и методах распределения потоков. Изначально движок масштабировался с сильным прицелом на консольные низкоуровневые интерфейсы, поэтому реализация Vulkan здесь часто ощущается куда более родной и предсказуемой.

Оба этих интерфейса призваны решить главную проблему старых поколений DirectX, а именно узкое горлышко одного доминирующего потока подготовки команд. Современные десктопные процессоры имеют множество вычислительных ядер, и абсолютно логично заставить их все параллельно работать над формированием инструкций для графического чипа. Если внимательно посмотреть на графики утилизации потоков, вырисовывается весьма любопытная картина. Vulkan умудряется распределять задачи записи командных списков гораздо более равномерно между всеми доступными ядрами.

Ниже приведена небольшая выжимка из моих технических наблюдений по поведению этих API в реальных условиях:

  • Vulkan часто демонстрирует лучшую отзывчивость и более ровный график времени кадра на процессорах среднего ценового сегмента
  • DirectX 12 способен выдать чуть более высокий показатель среднего фреймрейта на топовых картах с широкой шиной памяти
  • Управление видеопамятью в среде Vulkan работает более жестко и может приводить к статерам при острой нехватке VRAM
  • Фоновая компиляция шейдеров реализована по-разному в обоих API, что напрямую влияет на характер микрофризов при посещении новых территорий

Каждый раз при сборке нового тестового стенда я обязательно проверяю поведение игры в обоих режимах. На процессорах со сложной архитектурой из производительных и энергоэффективных ядер планировщик задач Windows периодически путается при использовании DirectX 12. Он может ошибочно отправить тяжелые вызовы отрисовки теней на слабые ядра, что моментально приводит к пропуску кадров. С библиотеками Vulkan подобные программные аномалии встречаются в моей практике значительно реже. Универсальной таблетки здесь не существует, выбор оптимального API всегда зависит от конкретной связки кремния в вашем системном блоке и текущей версии графического драйвера.

Сравнение работы графических API в RDR 2

Критерий оценки Vulkan API DirectX 12
Распределение нагрузки на CPU Максимально равномерное по всем ядрам процессора Склонен перегружать основной вычислительный поток
Стабильность фреймтайма Высокая (особенно заметно на средних ПК) Средняя (сильно зависит от планировщика ОС)
Управление видеопамятью (VRAM) Агрессивное выделение, риск статеров при нехватке памяти Более плавное и гибкое распределение ресурсов
Пиковый FPS на флагманских GPU Незначительно уступает конкуренту Часто показывает результаты на 5-7% выше в 4K

Анализ рендеринга объемного тумана и глобального освещения на ультра-настройках

Собственно при детальном рассмотрении пайплайна освещения становится понятно почему эта игра заставляет потеть даже самые свежие кремниевые чипы. Разработчики сознательно отказались от аппаратного ускорения лучей в пользу сложнейших алгоритмов Raymarching для отрисовки атмосферных эффектов. Грубо говоря графический процессор просчитывает плотность тумана разбивая луч света на множество шагов и собирая данные о рассеивании на каждом отдельном отрезке. Выкручивание ползунка качества освещения на максимум радикально увеличивает разрешение этой воксельной сетки. В такие моменты векторные блоки видеокарты начинают банально задыхаться от огромного потока математических вычислений.

Глобальное освещение тут реализовано не менее изощренно через систему локальных зондов и сложных отражающих карт. Солнечные лучи пробиваются сквозь густую листву и физически корректно рассеиваются в утренней дымке создавая потрясающую иллюзию полноценного Path Tracing. Скажем так это один из самых технологичных способов обмануть зрение игрока опираясь исключительно на возможности классической растеризации без использования специализированных RT-ядер. Масштаб проделанной работы над шейдерами освещения вызывает огромное уважение при анализе каждого отдельного прохода рендера в отладчике.

Вычислительная нагрузка на графический конвейер от шейдеров воды

Физика жидкостей в масштабных проектах всегда выпивает много крови у программистов графики. Тут инженеры решили пойти по хардкорному пути и реализовать честную деформацию водной глади. Если внимательно присмотреться к поверхности рек можно заметить как сетка геометрии динамически уплотняется в зависимости от положения камеры. За этот процесс отвечает блок аппаратной тесселяции который работает на износ при скачках по болотам. Каждое взаимодействие персонажа с водой заставляет шейдер генерировать настоящие геометрические волны вместо привычного искажения нормалей текстуры.

Вычислительная нагрузка в таких сценах распределяется крайне неравномерно и часто бьет по слабым местам архитектуры GPU. Честно говоря на некоторых тестовых стендах с видеокартами среднего сегмента мне приходится намеренно снижать качество физики воды. Иначе при переходе мелкой речушки вброд график времени кадра превращается в рваную пилу из-за резкого всплеска геометрических вызовов. Динамическая тесселяция требует

Динамическая тесселяция требует высочайшей пропускной способности шины PCIe 4.0 x16 (до 31.5 ГБ/с) для непрерывного стриминга вершинных данных (Vertex Data). При установке ползунка «Качество физики воды» на максимум, коэффициент тесселяции (Tessellation Factor) достигает значения x64, аппаратно дробя один базовый полигон волны на 4096 микрополигонов. Это мгновенно вызывает перегрузку блоков растеризации (ROP) и геометрических движков на видеокартах с узкой 128-битной шиной и пропускной способностью памяти ниже 300 ГБ/с (например, RTX 4060 или RX 7600).

Если в процессе прохождения вы сталкиваетесь с резкими просадками кадров возле рек или болот, обязательно снизьте ползунок «Качество физики воды» на одно-два деления. Визуальная разница в симуляции волн останется практически незаметной, но это решение снимет колоссальную нагрузку с блоков тесселяции и полностью избавит от рваного графика времени кадра при переходе водоемов вброд.

Разбор артефактов нативного сглаживания и эффективность апскейлеров

Самая болезненная тема технической части игры кроется в реализации встроенного темпорального сглаживания. Нативный TAA работает настолько агрессивно что в динамике мелкие геометрические детали сливаются в однородную кашу. Встроенный фильтр резкости пытается спасти ситуацию но на деле лишь генерирует неприятные белые ореолы на границах высококонтрастных объектов. Внедрение поддержки современных алгоритмов масштабирования от сторонних вендоров стало глотком свежего воздуха для обладателей актуальных мониторов.

В процессе тестирования разных методов реконструкции изображения вырисовывается весьма любопытная картина:

  • Оригинальный TAA оставляет длинные призрачные шлейфы за летящими птицами и быстро скачущими всадниками
  • Алгоритм DLSS в режиме качества превосходно восстанавливает субпиксельную сетку проводов и растительности за счет работы тензорных ядер
  • Решение FSR неплохо справляется с базовым сглаживанием геометрии но периодически сбоит при обработке сложных полупрозрачных эффектов
  • Любой метод апскейлинга иногда конфликтует с эффектами глубины резкости в кинематографичных сценах

Выбор оптимального алгоритма масштабирования сводится к поиску баланса между мылом оригинального рендера и цифровыми артефактами реконструкции. Я предпочитаю использовать DLSS с небольшим ползунком резкости чтобы вернуть картинке изначальную четкость задуманную художниками.

Пошаговая настройка сглаживания для кристальной четкости изображения

  1. Полностью отключите внутриигровой TAA и мультисэмплинг (MSAA), чтобы избежать конфликтов встроенных алгоритмов реконструкции.
  2. Активируйте технологию NVIDIA DLSS или AMD FSR строго в режиме «Качество» (Quality), если используете монитор с разрешением 1440p или 4K.
  3. В расширенных настройках графики отключите «Размытие при движении» (Motion Blur), которое многократно усиливает паразитные шлейфы за динамичными объектами.
  4. Поднимите внутренний ползунок резкости выбранного апскейлера до значения 0.25-0.35 для компенсации естественной мягкости картинки без появления цифрового шума.

Тестирование видеокарт архитектур Ada Lovelace и RDNA 3 в высоком разрешении

Когда дело доходит до запуска игры в нативном разрешении 4K на выкрученных в потолок настройках начинается суровое испытание кремния на прочность. Топовые флагманы текущего поколения сейчас способны переварить этот тяжелый код с комфортной частотой кадров. Архитектура Ada Lovelace показывает себя превосходно во многом благодаря

Архитектура Ada Lovelace показывает себя превосходно во многом благодаря 72 МБ кэш-памяти L2 (в случае с чипом AD102 у RTX 4090), что в 12 раз больше, чем у предыдущего флагмана RTX 3090 (всего 6 МБ). Такой объем сверхбыстрой памяти на кристалле (SRAM) обеспечивает внутреннюю пропускную способность свыше 2.5 ТБ/с, что радикально снижает необходимость обращаться к медленной видеопамяти GDDR6X и аппаратно нивелирует промахи (Cache Misses) при чтении тяжелых 4K-текстур.

Видеокарты на базе чиплетов RDNA 3 тоже не отстают и выдают отличную чистую производителность в задачах классической растеризации геометрии.

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

Утилизация видеопамяти и влияние скорости накопителя на потоковую загрузку

Требования движка к подсистеме памяти оказались на удивление адекватными по меркам современных кривых релизов. На самых максимальных пресетах текстур игра резервирует около восьми или девяти гигабайт VRAM в зависимости от сложности текущей локации. Менеджер памяти работает весьма эффективно и не пытается забить весь доступный буфер ненужным мусором на всякий случай. А вот пропускная способность дисковой подсистемы играет куда более критичную роль чем кажется изначально.

Архитектура не использует модные API вроде DirectStorage для прямой аппаратной распаковки ассетов силами видеокарты. Абсолютно все данные путешествуют по классическому длинному маршруту через центральный процессор и оперативную память. Если установить игру на медленный жесткий диск вы почти гарантированно начнете ловить микрофризы при быстром галопе между разными биомами. Тяжелые текстуры просто физически не будут успевать подгружаться в память графического адаптера провоцируя неприятные подтормаживания всей системы.

Бенчмарк утилизации VRAM в RDR 2 (Ультра-пресет текстур)

Разрешение рендера Минимально выделяемая VRAM Рекомендуемый объем VRAM (без статеров) Требуемая ПСП видеокарты
1080p (FHD) 6.5 ГБ 8 ГБ ~256 ГБ/с
1440p (QHD) 8.2 ГБ 10 ГБ ~448 ГБ/с
2160p (4K UHD) 10.8 ГБ 12+ ГБ (оптимально 16 ГБ) ~700+ ГБ/с

Важно: Из-за отсутствия поддержки DirectStorage, скорость линейного чтения вашего NVMe SSD должна составлять не менее 3000 МБ/с (Gen3 x4). При падении скорости ниже 1000 МБ/с (особенно на SATA SSD) время кадра (Frametime) может подскакивать до 50-80 мс, вызывая визуальные рывки (stuttering) при въезде в новые зоны.

Интеграция генерации кадров и снятие ограничений дальности прорисовки

Неугомонные энтузиасты всегда пытаются выйти далеко за рамки дозволенного разработчиками. Снятие искусственных лимитов на дальность отрисовки объектов через модификации файлов превращает процесс рендеринга в сущий кошмар для любого существующего железа. Принудительная распаковка скрытых настроек LOD заставляет графический конвейер послушно обрабатывать миллионы лишних полигонов на линии самого дальнего горизонта. В таких экстремальных сценариях единственным спасением становятся неофициальные модификации на генерацию кадров.

Интеграция алгоритмов оптического потока позволяет получить приемлемую плавность картинки даже когда сам движок физически захлебывается и не может подготовить достаточное количество реальных кадров в секунду. Мы заставляем блоки видеокарты дорисовывать промежуточные состояния сложных анимаций минуя узкое место в виде центрального процессора. Работает эта связка не всегда идеально из-за обилия сложных частиц дыма и физики тканей в кадре. Зато это вполне рабочий инструмент для тех кто хочет выкрутить качество дальних теней на запредельный уровень и сохранить при этом адекватный отклик управления.

Почему происходят подтормаживания на улицах Сен-Дени?

В крупных и густонаселенных локациях резко возрастает нагрузка на центральный процессор из-за постоянного обсчета искусственного интеллекта сотен NPC и рендеринга сложной архитектуры зданий. Даже на топовых видеокартах возможен жесткий упор в возможности CPU, что неизбежно приводит к кратковременным микрофризам.

Насколько критично наличие SSD для комфортного геймплея?

Установка клиента игры на быстрый твердотельный NVMe-накопитель является обязательным условием. Движок постоянно подгружает огромные массивы текстур открытого мира в фоновом режиме. При использовании классических жестких дисков (HDD) вы будете регулярно сталкиваться с мыльными объектами и зависаниями во время быстрой езды на лошади.

Сколько видеопамяти реально требует игра?

Для разрешения Full HD (1080p) движку вполне достаточно 8 ГБ VRAM. Если же вы планируете наслаждаться Диким Западом в 1440p или 4K с ультра-качеством текстур и максимальным разрешением объемного тумана, вашей системе потребуется графический чип минимум с 12 ГБ памяти на борту.