Последняя часть игры ‘Одни из нас’ доказывает, что 8 ГБ видеопамяти может быть достаточно даже при разрешении 4K с максимальными настройками, так почему же больше игр не используют тот же умный трюк со стримингом ресурсов?

Два года назад, когда хваленая игра Sony ‘The Last of Us Part 1’ дебютировала на ПК, я ожидал, что это станет значительным прорывом в истории порта консольных игр. К сожалению, она произвела фурор, но не так, как я надеялся — была полна ошибок и нестабильности, потребляла чрезмерное количество ресурсов вашего процессора и видеокарты, а также, наиболее спорно, требовала больше видеопамяти, чем могли предложить многие графические карты. По сути, переломный момент ‘The Last of Us Part 1’ подстегнул продолжающуюся дискуссию о том, достаточно ли 8 ГБ видеопамяти.

По сути, большинство проблем были решены посредством набора обновлений, однако, как и многие высокобюджетные, визуально потрясающие игры, если вы запустите её при разрешении 4K на максимальных настройках, игра позволит вам использовать больше видеографической оперативной памяти (VRAM), чем фактически доступно. Снимок экрана из The Last of Us Part I, представленный ниже, был сделан на системе с RTX 3060 Ti и 8 ГБ памяти, что ясно показывает встроенное окно интерфейса производительности; я проверил использование VRAM другими инструментами, и действительно, игра пытается использовать примерно 10 ГБ VRAM.

Когда я начал играть в The Last of Us Part 2 Remastered две недели назад, одним из аспектов, на который я обратил внимание после достаточного продвижения по игре, была графическая память, которую она пыталась выделить и использовать. Чтобы достичь этого, я использовал Microsoft PIX на Windows, инструмент для разработчиков, позволяющий детально анализировать внутреннюю работу игры, особенно потоки данных, ресурсы и производительность.

К моему удивлению, я обнаружил два примечательных факта о The Last of Us Part 2: (1) В отличие от первой части игры, эта не чрезмерно потребляет VRAM, как думали ранее, и (2) игра стабильно использует значительную часть памяти GPU, в диапазоне от 80% до 90%, независимо от разрешения или применяемых настроек графики. Может показаться невероятным, но вот несколько доказательств моих выводов:

Изображения демонстрируют использование локальной и нелокальной памяти GPU в игре ‘The Last of Us Part II’, при запуске на системе CyberPowerPC с процессором Ryzen 7 9800X3D и видеокартами RTX 5080 и RTX 3060 Ti. В то время как RTX 5080 имеет 16 ГБ видеопамяти (VRAM), RTX 3060 Ti предлагает 8 ГБ VRAM. Для тестирования я играл в игру с разрешением 4K, используя максимальные настройки: очень высокую предустановку вместе с анизотропной фильтрацией 16x и максимальным углом обзора, а также активировав DLAA и генерацию кадров (конкретно, DLSS для RTX 5080, FSr для RTX 3060 Ti).

В обоих случаях использование локальной памяти не превышает доступной оперативной памяти на каждой видеокарте, даже при применении одинаковых настроек. Так должна управляться память в играх. После инцидента с The Last of Us: Part 1 было обнадеживающе увидеть решение этой проблемы для Part 2.

При внимательном рассмотрении снимков PIX вы заметите, что RTX 3060 Ti требует больше системной памяти для нелокального хранилища по сравнению с RTX 5080: 4.25 ГБ против 1.59 ГБ соответственно. В данном контексте ‘нелокальный’ относится к системной RAM, а дополнительное использование памяти GPU связано с системой загрузки ресурсов игры. Учитывая, что RTX 3060 Ti оснащена только 8 ГБ видеопамяти, буфер для стриминга должен быть больше у RTX 5080, так как у неё доступно больше видеопамяти.

При проведении тестов для сбора данных я обнаружил, что RTX 5080 в среднем использовала 9.77 гигабайт локальной памяти и дополнительные 1.59 гигабайта нелокальной памяти, составляя общий объем использования 11.36 ГБ. С другой стороны, RTX 3060 Ti показала использование локальной памяти на уровне 6.81 ГБ и нелокальную память объемом 4.25 ГБ, что составляет в сумме 11.06 ГБ.

Основная причина того, почему у 3060 Ti и 5080 не одинаковое использование памяти, заключается в технологиях генерации кадров. Первый использует FS (Frame Scaling), а второй работает на DLSS (Deep Learning Super Sampling). Эта разница может объяснить расхождение в использовании нескольких сотен МБ памяти между двумя GPU. Кроме того, стоит отметить, что циклы игрового процесса были неодинаковыми, что означает, что во время записи процесс не всегда задействовал одни и те же активы.

Чтобы пояснить: ‘The Last of Us Part II’ демонстрирует эффективное управление видеопамяти (VRAM), избегая перегрузки графического процессора (GPU) слишком большим количеством ресурсов для обработки. Такой подход должен быть стандартной практикой в крупных AAA-играх с интенсивной графикой, но удивительно многие не следуют этому курсу. Тогда возникает вопрос: почему они этого не делают?

Один из дополнительных факторов производительности в перевыпуске игры The Last of Us Part 2 может быть связан с огромным количеством работы для процессора. В моем исследовании я использовал более старую конфигурацию: Core i7 9700K и Radeon RX 5700 XT. Этот процессор Intel поколения Coffee Lake Refresh имеет восемь ядер и шестнадцать потоков. Независимо от настроенных параметров, The Last of Us Part 2 неизменно поддерживала все ядра CPU на максимальной загрузке (100%) в любых условиях.

Как преданный энтузиаст, даже при максимальной нагрузке процессора Ryzen 7 9800X3D в моей системе CyberPowerPC, было очевидно, что его шестнадцать вычислительных ядер усердно работали. Хотя он и не достиг уровня интенсивности 9700K, но определенно превысил нагрузку любой недавней игры, которую я тестировал.

The Last of Us Part 2 (TLOU2) выполняет несколько задач параллельно путем создания множества потоков, в том числе для графики и операций шейдеров. В частности, как минимум восемь потоков предназначены для выполнения задач DirectStorage. Стоит отметить, что современные игры обычно используют больше потоков, чем можно заметить на первый взгляд, поэтому число используемых TLOU2 для DirectStorage не является особенно значимым.

Снимок экрана демонстрирует несколько потоков, активных в течение периода рендеринга длительностью 80 миллисекунд (примерно восемь кадров), причем два потока DirectStorage и связанные с ними потоки отправки заметно активны при загрузке ресурсов. Альтернативно, они могли бы возвращать ресурсы.

Поскольку мы не можем отключить DirectStorage или компиляцию шейдеров в фоновом режиме в The Last of Us Part II, сложно точно определить, насколько они влияют на высокое использование процессора, но кажется вероятным, что их влияние не является незначительным.

Как геймер, я нашёл интересный трюк, который хоть и не идеален, но значительно помогает обходить ограничения видеопамяти. Впечатляет его работоспособность!

Тем не менее, я признаю, что наиболее значительное препятствие при программировании заключается в обеспечении бесперебойной работы и корректной синхронизации с основными потоками. Эта сложность может объяснить, почему многие крупные разработчики игр предпочитают предоставить пользователям возможность управлять использованием VRAM вместо внедрения системы управления ресурсами, подобной системе The Last of Us Part II.

В меню настроек игры The Last of Us Part 1, как и во многих других играх, вы найдете трекер использования VRAM для графики. Несмотря на то что интегрировать эту функцию несложно, достижение 100% точности может оказаться сложнее, чем кажется изначально.

Давайте подумаем на мгновение: могла бы система управления активами в ‘The Last of Us’ действительно опровергнуть мнение о том, что 8 ГБ видеопамяти недостаточно. Хотя кажется, будто я затеваю спор, помните, это все делается ради обсуждения. В действительности, исходя из моего опыта игры в The Last of Us Part II с различными окружениями, настройками и конфигурациями ПК, оказалось, что 8 ГБ видеопамяти может быть достаточно.

В играх, похожих на The Last of Us Part 2, игра, которая требует потоковой передачи ресурсов, вероятно потребует большего объема данных для передачи по шине PCIe при использовании видеокарты с 8 ГБ памяти в сравнении с картой на 16 ГБ. Однако, если управлять этим правильно, это не должно существенно влиять на производительность. Что касается относительно плохой производительности RTX 3060 Ti при настройках 4K Very High, причина не в объеме видеопамяти, а скорее в количестве шейдеров, текстурных блоков (TMU) и рендерных блоках вывода (ROP), а также пропускной способности памяти.

Если вы дошли до этой точки, похоже, что вас интересует распространение видео с YouTube на тему ‘The Last of Us Part II’, демонстрирующих заикание или другие проблемы производительности при использовании видеокарт с 8ГБ видеопамяти или менее. Я не утверждаю, что каждый анализ неправилен и моя точка зрения является единственно верной, но готов обсудить возможные решения или обходные пути для этих проблем производительности.

Опытный игрок на ПК хорошо осведомлен о разнообразии среди ПК, включая аппаратное обеспечение, конфигурации программного обеспечения и операционные среды, что зачастую приводит к существенно различным игровым опытам.

В сравнении, Джастин, оценивший The Last of Us Part 2, столкнулся с проблемами производительности на своей системе, оснащенной Core i7 12700F и RTX 3060 Ti при разрешении 1080p и средней настройке графики. В то время как я, используя Ryzen 5 5600X в паре с той же GPU, не испытал никаких проблем. Несмотря на схожесть конфигураций наших ПК, мы получили заметно различающиеся результаты.

Одной из главных задач разработчиков компьютерных игр является оптимизация их игр для бесперебойной работы на различных конфигурациях компьютеров, возможно поэтому мы редко видим продвинутую систему управления ресурсами из The Last of Us Part II в широком использовании. Причина заключается в том, что требуется значительное время, чтобы гарантировать безошибочную работу игры на каждой потенциальной конфигурации ПК. Это прискорбно, поскольку система не идеальна (иногда она не успевает загрузить ресурсы вовремя, что приводит к отсутствию некоторых текстур), но делает впечатляющую работу по обходу любых ограничений видеопамяти.

Я утверждаю, что для будущих потребностей недостаточно 8 ГБ оперативной памяти, учитывая рост передовых технологий, таких как трассировка лучей, нейронный рендеринг, AI NPC на графических процессорах и потоковая передача ресурсов. По мере распространения этих технологий объем ОЗУ видеокарты будет становиться всё более важным. Например, когда ваш трёхмерный вид переполнен объектами и сложными материалами, эффективная потоковая передача ресурсов становится практически бесполезной, так как эти ресурсы должны быть оперативно доступны в видеопамяти VRAM в тот момент.

Как геймер, я могу только мечтать о том, что создатели игр вдохновляются ‘The Last of Us Part 2’ и внедряют подобные захватывающие и графически ошеломляющие элементы в свои будущие проекты. Несмотря на то, что технологические гиганты AMD и Nvidia продолжают выпускать видеокарты с памятью объемом 8 ГБ и мобильные чипы (в основном для начального уровня), очевидно, что это ограничение будет сохраняться еще долгие годы. Споры о достаточности такого объема видеопамяти несомненно продолжатся столь же долго, оставляя нас геймеров жаждущими большего графического совершенства.

Смотрите также

2025-04-08 15:33