Даже если вы читаете компьютерные новости от случая к случаю, то все равно должны были обратить внимание на то, что объем памяти видеокарт (VRAM) сегодня обсуждается в числе самых горячих тем. По ряду признаков мы видим, что для новейших игр восьми гигабайт может быть недостаточно, особенно если играть на высоком разрешении с максимальными настройками качества изображения. При этом AMD сегодня делает отдельный акцент на том, что их карты располагают значительно большими объемами видеопамяти, чем аналоги от Nvidia, которые подвергаются критике за всего 12 ГБ памяти на борту.
Итак, действительно ли игры потребляют так много памяти, и если да, то для чего – какие процессы используют всю эту память? Давайте заглянем во внутреннюю кухню 3D-рендеринга и посмотрим, что конкретно делают игровые движки.
Прежде чем погружаться в анализ игр, графики и использования ресурсов VRAM, вкратце остановимся на том, что в принципе происходит при выполнении компьютером сценариев 3D-рендеринга.
Говоря совсем просто: 3D-графика состоит из большого количества математических операций над большим количеством данных. И эти данные должны размещаться как можно ближе к графическому процессору (GPU). В микросхемах GPU всех видеокарт имеется небольшой встроенный кусочек высокопроизводительной памяти (также называемый кэшем), но его объема хватает на размещение только тех данных, которые необходимы для вычислений, производимых в текущий момент.
Вообще же графических данных слишком много для того, чтобы держать их все в кэше, поэтому остальные данные размещаются в буфере следующего уровня, который называется видеопамятью (VRAM). Этот компонент аналогичен системной оперативной памяти, но предназначен специально для графических вычислений. Десять лет назад самые дорогие видеокарты для настольных ПК имели на своей плате 6 ГБ видеопамяти, а большинство моделей оснащалось всего двумя или тремя гигабайтами VRAM.
Эти видеокарты располагают достаточными объемами кэша и VRAM.
Сегодня максимальный объем VRAM игровой видеокарты составляет 24 ГБ, есть много моделей с 12 или 16 ГБ видеопамяти, однако самая массовая опция – это 8 ГБ. Конечно, через десять лет логично ожидать увеличения этих цифр, но темп роста уже впечатляет.
Чтобы понять, зачем так много памяти, нужно понимать, где и для чего она используется в играх; и давайте начнем с лучших образцов игровой 3D-графики того времени, когда нормальным считался объем видеопамяти 3 ГБ.
В 2013 году геймеры получили несколько игр с действительно выдающейся графикой – Assassin's Creed IV: Black Flag, Battlefield 4 (см. рисунок ниже), BioShock Infinite, Metro: Last Light и Tomb Raider; все эти игры наглядно показывали, какого уровня можно достичь с помощью современных компьютерных технологий, художественного дизайна и прогрессивных методов программирования.
Быстрейшими видеокартами из представленных тогда на рынке были модели AMD Radeon HD 7970 GHz Edition за $499 и Nvidia GeForce GTX Titan за $999, с тремя и шестью гигабайтами VRAM соответственно. Хороший игровой монитор на тот момент мог предложить разрешение 2560 x 1600 пикселей, но массовым было разрешение 1080p – сегодняшний минимум, который тогда считался вполне респектабельной опцией.
Чтобы посмотреть, сколько видеопамяти использовали эти игры, возьмем два примера: Black Flag и Last Light. Обе эти игры были разработаны в версиях для нескольких платформ (Windows PC, Sony PlayStation 3, Microsoft Xbox 360), причем Black Flag для PS4 и Xbox One вышла чуть позже главного релиза, а Last Light была реконструирована на следующий год и для ПК, и для обновленных консолей.
В части особенностей графики эти две игры прямо противоположны друг другу: Black Flag – игра с полностью открытым миром и широким игровым пространством, а Metro: Last Light отличают преобладающие узкие пространства и линейное развитие сюжета. Даже в локациях на открытом воздухе ландшафты довольно тесные, хотя за счет визуальных эффектов создается впечатление большего простора.
На разрешении 4K (3840 x 2160 пикселей) при максимальном уровне всех графических настроек Assassin's Creed IV использует максимум 6.6 ГБ видеопамяти в городских ландшафтах, а в открытом море потребление памяти снижается до 4.8 ГБ. В Metro: Last Light используется в среднем чуть менее 4 ГБ с незначительными отклонениями по ходу геймплея, что неудивительно для игры, действие которой в основном разворачивается в последовательно сменяющих друг друга коридорах.
Конечно, в 2013 году мало кто играл на разрешении 4K, поскольку такие мониторы были запредельно дороги и ориентировались целиком и полностью на профессиональный рынок. И даже лучшие игровые видеокарты были не в состоянии справиться с рендерингом на этом разрешении, причем использование нескольких карт в конфигурации CrossFire или SLI тоже не сильно помогало.
Снижение разрешения до 1080p приближает нас к условиям, в которых геймеры находились в 2013 году, и заметно уменьшает потребление видеопамяти – до 3.3 ГБ (в среднем) в Black Flag и до 2.4 ГБ в Last Light. Один 32-битный кадр 1920 x 1080 «весит» не более 8 МБ (кадр 4K – почти 32 МБ), и возникает вопрос: как снижение разрешения кадра приводит к такому существенному уменьшению используемого в игре объема VRAM?
Ответ скрывается в сложных алгоритмах рендеринга, применяемых в обеих играх для создания той картинки, которая выводится на монитор. Разработчики, с благословения Nvidia, в версиях Black Flag и Last Light для ПК пошли, что называется, «на все деньги» и задействовали в играх новейшие программные методы прорисовки теней, корректирования источников света и создания реалистичных эффектов тумана/ взвешенных частиц. Трехмерные модели персонажей, объектов, ландшафтов включали в себя сотни тысяч многоугольников, поверх которых накладывались богатые, насыщенные мелкими деталями текстуры.
В Black Flag один только эффект отражения экранного пространства использует пять отдельных буферов для данных цвета, глубины, границ распространения лучей и размытия отражений и еще шесть для данных объемных теней. В общей сложности игра может использовать 8 ГБ системной оперативной памяти, и, поскольку целевые платформы PS4 и Xbox One располагали только половиной этого объема, эти буферы работали с намного более низким разрешением, чем фрейм-буфер для расчета результирующего кадра, но все это увеличивало потребление VRAM.
В версиях игр для ПК разработчики также учитывали подобные ограничения со стороны памяти, однако общая концепция разработки допускала возможность того, что верхний уровень графических настроек будет превышать потенциал производительности тогдашних видеокарт. Идея заключалась в том, чтобы пользователи могли вернуться к игре после апгрейда компьютера и при более высоких настройках получить преимущества лучшего качества изображения, обеспечиваемые более продвинутыми видеокартами.
Наглядный пример такой «игры на вырост» – Metro: Last Light; десять лет назад с настройками Very High на разрешении 2560 x 1600 (на 10% больше пикселей, чем в 1440p) карта GeForce GTX Titan за $999 в среднем обеспечивала всего 41 fps. И уже через год новая карта GeForce GTX 980 в этой же игре при таких же условиях была на 15% быстрее и при этом стоила всего $549.
Так как же дело обстоит сегодня – сколько видеопамяти (конкретные значения в гигабайтах) используют современные игры?
Для точного измерения потребляемого играми количества графической памяти мы воспользовались Microsoft PIX – это инструмент для поиска багов, предназначенный для разработчиков игр с DirectX, который позволяет собрать и проанализировать рабочие данные геймплея. Можно взять отдельный кадр и посмотреть построчно, из каких команд программного кода для графического процессора он складывается, сколько времени занимает процесс вычислений и какие ресурсы при этом используются; в данном случае нас интересуют ресурсы памяти.
Большинство инструментов, регистрирующих показатели использования VRAM, показывают только количество локальной графической памяти, которое резервируется игрой и, соответственно, драйверами видеокарты. В отличие от них PIX регистрирует три параметра – локальный бюджет памяти (Local Budget), локальное использование памяти (Local Usage) и локальную резидентную память (Local Resident). Первый параметр показывает, сколько видеопамяти доступно приложению Direct3D, и этот показатель все время меняется, в зависимости от того, как его «видят» операционная система и драйверы.
Локальная резидентная память – это количество видеопамяти, требуемое для размещения так называемых резидентных объектов, но для нас наибольший интерес представляет параметр Local Usage – локальное использование памяти. Он показывает, сколько видеопамяти игра пытается использовать. Практически все проблемы начинаются тогда, когда этот показатель начинает стабильно превышать локальный бюджет памяти – обычно программы в этой ситуации моментально приостанавливаются, до тех пор, пока использование памяти снова не войдет в рамки бюджета.
В Direct3D 11 и более ранних версиях менеджмент памяти осуществлялся самим API, но в версии 12 всё, что касается использования памяти, целиком и полностью определяется разработчиками игры. В первую очередь определяется необходимое физическое количество памяти, затем устанавливается соответствующий бюджет памяти, но самое главное нововведение – это то, что движок в принципе не останавливается при превышении бюджета памяти.
И в современных играх с большим разнообразием открытых миров измерение используемого количества памяти требует проведения многократных тестов с последующим анализом результатов.
Во всех играх, которые мы тестировали, для всех опций настроек качества изображения и детализации были установлены максимальные значения (опции рейтрейсинга – выключены), разрешение кадра – 4K, масштабирование разрешения не использовалось. При этих условиях нагрузка на память – максимальна, а эксперимент – легко повторим.
В каждой игре было выполнено в общей сложности три прогона разных тестовых эпизодов продолжительностью 10 минут каждый; после каждого прогона игра полностью перезагружалась для гарантированной полной очистки памяти. Основные компоненты тестовой конфигурации ПК: процессор Intel Core i7-9700K, 16 ГБ системной памяти DDR4-3000 и видеокарта Nvidia GeForce RTX 4070 Ti; все игры загружались с однотерабайтного NVMe SSD с интерфейсом PCIe 3.0 x4.
Приведенные ниже результаты представляют собой средние арифметические значения, взятые по трем эпизодам от показателей среднестатистического и пикового локального использования памяти, согласно данным PIX.
Игра (без RT) | Среднее потребление VRAM, ГБ | Пиковое потребление VRAM, ГБ |
Far Cry 6 | 5.7 | 6.2 |
Dying Light 2 | 5.9 | 6.2 |
Assassin's Creed Valhalla | 7.4 | 7.5 |
Marvel's Spider-Man Remastered | 8.0 | 8.2 |
Far Cry 6 (с текстурами HD) | 8.0 | 8.4 |
Doom Eternal | 7.5 | 8.2 |
Cyberpunk 2077 | 7.7 | 8.9 |
Resident Evil 4 | 8.9 | 9.1 |
Hogwarts Legacy | 9.7 | 10.1 |
The Last of Us Part 1 | 11.8 | 12.4 |
И если Doom Eternal, Resident Evil 4 и The Last of Us в этом аспекте подобны Metro: Last Light, поскольку действие в них разворачивается в ограниченном пространстве, то остальные – игры с открытым миром; разница в том, что первые в принципе могут держать все необходимые данные в буфере VRAM (хотя количество этих данных зависит от игрового уровня), а вторые вынуждены прибегать к потоковой обработке данных, поскольку кадры открытого мира содержат слишком много данных для локального размещения.
Вместе с тем, потоковая обработка данных довольно типична для всех современных игр, независимо от жанра, и, например, в Resident Evil 4 используется для создания эффектов. И, хотя меню игр первого типа выдавали предупреждения о том, что установка максимальных настроек качества изображения может привести к выходу из бюджета VRAM, на практике этого не происходило. Разброс результатов в большинстве игр был очень небольшой, особенно в Resident Evil 4; исключение составила Hogwarts Legacy – показатели использования памяти в тестовых эпизодах сильно различались, так что мы даже думали, не сломался ли PIX.
И, когда мы смотрим на результаты Assassin's Creed Valhalla, возникает закономерный вопрос: за счет чего потребление VRAM выросло в полтора раза (в среднем, на разрешении 4K) по сравнению с Black Flag? Ответ простой – за счет повышения уровня детализации.
В свое время Black Flag по реалистичности картинки была одной из самых передовых игр с открытым миром. При этом, хотя в части рендеринга моделей новейшая серия саги AC использует в основном те же самые методы и алгоритмы, что и Black Flag, количество дополнительных мелких деталей в Valhalla, как и в большинстве современных игр, очень существенно увеличилось.
Во-первых, модели персонажей, объектов и элементов обстановки стали состоять из намного большего числа многоугольников, что повышает визуальное правдоподобие сложных сцен. И еще больше деталей содержат текстуры – например, на тканях в Valhalla различимы даже волокна материала, и это только один пример текстур высокого разрешения.
Еще более наглядный пример – текстуры для оформления ландшафтов, делающие земляные участки и стены более реалистичными. Чтобы растительность выглядела более естественно, объемы данных в текстурах с прозрачными вырезами под траву, листья, папоротники и т.д. значительно увеличиваются для обеспечения градаций глубины между растениями и расположенными впереди и позади них поверхностями и объектами.
И дело не только в текстурах и сетках – Valhalla предлагает лучшую картинку, чем Black Flag, потому что для расчета освещения используются буферы более высокого разрешения, плюс дополнительные буферы для хранения промежуточных результатов. Все это в совокупности и увеличивает нагрузку на память.
Last of Us вышла позже, чем Valhalla, и это еще один пример достижения более высокого уровня детализации за счет использования большего числа многоугольников, более емких текстур, улучшенных алгоритмов и т.д. Однако потребление VRAM здесь еще больше, чем в Valhalla: в среднем на 60%.
Скриншот выше отлично показывает уровень детализации текстур. В частности, обратите внимание на трещины на асфальте, сколы и выбоины, а также на растительность – все это воспроизведено с почти фотографической реалистичностью.
Другие художественные аспекты не настолько впечатляют. Одежда персонажей выглядит достаточно реалистично, особенно на не очень крупных планах, но далеко не так выразительно, как деревья, здания и другие элементы обстановки.
Наконец, Hogwarts Legacy. Конечно, эта игра разворачивается не в реалистической вселенной, поэтому здесь сложно ожидать такого же уровня детализации, как в The Last of Us: если детализация объектов игрового мира достаточно высока, то разрешение текстур заметно ниже.
Графика уровня 2013 года дает нагрузку на память на уровне 2023 года.
Приведенный выше конкретный скриншот занимает почти 9.5 ГБ VRAM, причем в ходе тестирования этой игры показатель локального использования памяти часто превышал локальный бюджет памяти, что выражалось во множественных запинках.
Но, каким бы большим ни казалось это количество памяти, особенно для такой весьма среднего уровня картинки, все может быть еще намного и намного хуже.
Hogwarts Legacy, как и многие другие современные игры, предлагает опцию рейтрейсинга для получения более точной картины отражений, теней и ambient occlusion (базовая составляющая эффекта глобального освещения, когда в кадре нет конкретных источников света).
Например, последняя версия Cyberpunk 2077 сегодня предлагает опцию трассировки пути (path tracing, частный случай рейтрейсинга) и специальный алгоритм пространственно-временного буферного ресэмплинга (spatiotemporal reservoir resampling), использующий данные о траекториях лучей из предыдущих кадров, с помощью которого рассчитывается большая часть внутриигрового освещения.
Такой рейтрейсинг увеличивает потребление VRAM на гигабайты.
Все эти хитроумные методы рендеринга требуют вычислительных ресурсов, и не только большой мощности графического процессора. При выполнении рейтрейсинга генерируется огромное количество вспомогательных данных (в виде массивов координат BVH) и используются дополнительные буферы, необходимые для точного вычисления точек пересечения лучей с граничными объемами.
Включение максимальных опций рейтрейсинга в дополнение к разрешению 4K и тем же графическим настройкам, которые были установлены для предыдущей таблицы, значительно увеличивает потребление VRAM.
Игра (без RT) | Среднее потребление VRAM, ГБ | Пиковое потребление VRAM, ГБ |
Dying Light 2 | 7.4 | 8.2 |
Marvel's Spider-Man Remastered | 9.2 | 9.6 |
Far Cry 6 (с текстурами HD) | 9.9 | 10.7 |
Doom Eternal | 8.3 | 9.5 |
Cyberpunk 2077 (Overdrive) | 12.0 | 13.6 |
Resident Evil 4 | 9.0 | 9.7 |
Hogwarts Legacy | 12.1 | 13.9 |
Cyberpunk 2077, Spider-Man и Dying Light 2 – практически единственные игры, в которых заметны преимущества рейтрейсинга, хотя какую часть производительности своего ПК тот или иной пользователь готов потратить на рейтрейсинг – это отдельная тема. В других играх рейтрейсинг выглядит намного скромнее: Far Cry 6 в некоторых типовых сценах при включении рейтрейсинга предлагает очень хорошую картинку, но в Resident Evil 4 и Hogwarts Legacy эффект от RT не очень впечатляет.
В RE4 рейтрейсинг даже не очень сильно снижает частоту кадров, но в Cyberpunk 2077 и Hogwarts Legacy это влияние крайне значительно. В обеих этих играх локальное использование памяти систематически выходит из бюджета, из-за чего драйверы графического процессора все время пытаются выделить пространство для данных, которые должны помещаться в буфер VRAM. Однако в этих играх предусмотрена потоковая обработка данных настроек во время геймплея в штатном режиме, так что, по идее, это не должно вызывать проблем.
В Far Cry 6 рейтрейсинг и текстуры высокого разрешения в определенных сценах выглядят отлично.
Однако, когда шейдерам видеокарты для выполнения вычислений требуются данные текстур или конкретная выборка для рендеринга, то первое место, куда GPU обращается за этими данными, – это графический кэш первого уровня. Если этих данных там нет, графический процессор обращается к следующим уровням, и, в конечном счете, к буферу VRAM.
Если во всех этих инстанциях искомые данные не находятся, приходится копировать их из системной памяти компьютера непосредственно в кэш GPU. Все это требует времени, поэтому процесс выполнения шейдерных инструкций просто приостанавливается, пока не будут получены нужные данные. Игра при этом может сразу «зависнуть» на то время, пока эти локальные вычисления не будут выполнены, или пропустить этот процесс – так или иначе это вызывает различные неполадки в геймплее.
В случае Hogwarts Legacy реализуется первый вариант, и пауза занимает не одну и не несколько миллисекунд. Даже с 12-гигабайтной видеокартой включение рейтрейсинга на разрешении 4K с максимальными настройками делает игровой процесс совершенно неприемлемым. В Cyberpunk 2077 эта проблема решается лучше – по ходу игры возникает всего несколько таких затянутых пауз, хотя с учетом того, что вся игра идет на скоростях около 10 fps, вышеупомянутое достижение представляется сомнительным.
Итак, тестирование показало, что современные игры (по крайней мере те, которые мы взяли в качестве примеров) действительно используют много видеопамяти и, в зависимости от уровня настроек качества изображения, могут пытаться использовать больше памяти, чем доступно в локальном бюджете VRAM.
И здесь самое время заметить, что все эти показатели получены при определенных условиях – разрешение 4K и максимальные графические настройки – но много ли пользователей имеют возможность или даже желание играть на таких мониторах с такими настройками? Снижение разрешения до 1080p в любом случае уменьшает потребление VRAM, но насколько – зависит от игры, и не всегда эта разница столь значительна.
Возьмем для примера самую прожорливую по части видеопамяти игру – The Last of Us: при повторном тестировании на разрешении 1080p среднее потребление VRAM составило 9.1 ГБ, пиковое – 9.4 ГБ; это на 3 ГБ меньше, чем на 4K. Мы также выяснили, что такой же результат на более высоком разрешении дает снижение всех настроек качества текстур до уровня Low.
Комбинация разрешения 1080p и уровня настроек текстур Low позволяет еще больше снизить нагрузку на видеопамять: среднее потребление VRAM снижается до 6.4 ГБ, пиковое – до 6.6 ГБ. Такие же результаты получаются на разрешении 4K с общим профилем настроек Low (скриншот приведен выше), а профиль Medium требует 7.3 ГБ в среднем и 7.7 ГБ максимум.
В Cyberpunk 2077 комбинация 4K и профиля Low требует 6.3 ГБ видеопамяти, в других играх легко добиться снижения потребления VRAM менее чем до 8 ГБ, используя различные варианты снижения общего разрешения кадра и/или разрешения текстур и при этом оставляя высокий уровень настроек эффектов освещения и теней.
Технологии масштабирования разрешения тоже могут снизить нагрузку на видеопамять, но насколько – зависит от игры. Например, в The Last of Us применение опции DLSS Performance на разрешении 4K с настройками Ultra снижает среднее потребление графической памяти с 11.8 до 10.0 ГБ, а в Cyberpunk 2077 эта же опция уменьшает пиковое потребление VRAM с 8.9 до 7.7 ГБ. И в этой же игре опция FSR 2.1 Balanced дает результат в виде снижения пикового потребления VRAM до 8.2 ГБ, опция Ultra Performance дает еще более низкий результат – 8.1 ГБ.
Кадр 1080p с небольшим количеством RT-эффектов в режиме DLSS Performance выглядит неплохо.
С рейтрейсингом нагрузку на память можно снизить точно так же. В Cyberpunk 2077 на разрешении 1080p с опцией DLSS Performance и максимальной опцией рейтрейсинга (RT Overdrive) среднее потребление памяти составило 7 ГБ, а пиковое – всего на полгигабайта больше. Однако картинка в движении выглядела не так красиво, как на этом скриншоте, демонстрируя многочисленные примеры гостинга. Повышение разрешения до 1440p помогло устранить большую часть этих артефактов, но нагрузка на видеопамять возросла в среднем до 7.5 ГБ, а максимальное зарегистрированное значение локального потребления VRAM составило 8 ГБ.
Однако в Hogwarts Legacy с рейтрейсингом и максимальными графическими настройками даже на разрешении 1080p с включенной опцией DLSS Performance нагрузка на память остается очень высокой – 8.5 ГБ в среднем и почти 10 ГБ максимум.
Одна из наиболее новых игр в нашей подборке оказалась также наиболее легкой в аспекте регулирования потребления видеопамяти – это Resident Evil 4. Все, что нужно сделать для удержания локального потребления VRAM в пределах 8 ГБ – это включить FSR и снизить пару настроек качества изображения на ступеньку относительно максимального уровня.
Мы все время держим в уме цифру 8 ГБ, потому что производители видеокарт уже несколько лет выпускают наиболее массовые продукты именно с таким объемом локальной памяти. Первыми моделями, оснащенными восемью гигабайтами VRAM, были карты AMD Radeon R9 390 2015 года и Nvidia GeForce GTX 1080 2016 года (хотя модель 2015 года GeForce GTX Titan X имела на борту 12 ГБ). И сегодня, почти восемь лет спустя, этот объем считается своего рода стандартом для карт начального и среднего уровня.
Однако следует отметить, что игры демонстрируют тенденцию к тому, чтобы считать бюджетом большую часть физического объема VRAM (мы видели показатели локального использования в районе 10-12 ГБ), и если бы локальный бюджет памяти был больше или меньше, то результаты могли бы получиться совсем другие.
К сожалению, повлиять на локальный бюджет видеопамяти мы можем только одним способом – использовать другие видеокарты, но хорошо оптимизированная игра, по идее, должна использовать физически доступный бюджет памяти, не превышая его. Тем не менее, как мы только что видели, в некоторых ситуациях это происходит, и от этого страдает производительность.
Войти в рамки бюджета памяти достаточно легко с помощью регулировки графических настроек. Хотя, конечно, вам может не понравиться, как выглядит игра со сниженными настройками. Однако мы еще не ответили полностью на заглавный вопрос этой статьи – почему современные игры стали запрашивать больше видеопамяти, чем раньше?
Все игры, рассмотренные в этой статье, были разработаны для нескольких платформ, и понятно почему. Миллионы людей во всем мире играют на консолях последнего или предпоследнего поколения, и выпускать дорогостоящий игровой блокбастер только для одной платформы обычно экономически невыгодно.
Два года назад Microsoft и Sony выпустили свои консоли 'следующего поколения' – Xbox серий X и S и PlayStation 5. По сравнению со своими предшественниками они укомплектованы ультрасовременным «железом»: 8-ядерным/16-поточным процессором и графическим чипом, который смотрелся бы неплохо и в приличном настольном игровом ПК. И самое важное новшество, имеющее непосредственное отношение к теме этой статьи, – больший объем оперативной памяти (RAM).
В отличие от настольных ПК, консоли используют унифицированную память, через которую осуществляется обмен данных и в центральном процессоре (CPU), и в графическом (GPU). Все консоли Microsoft и Sony предыдущего поколения имели на борту 8 ГБ памяти, за исключением Xbox One X, у которой было 12 ГБ. Новые консоли PS5 и Xbox серии X (на рисунке выше) используют по 16 ГБ памяти GDDR6, хотя и в разной конфигурации.
Игры не могут использовать всю эту память, поскольку часть ее резервируется под операционную систему и другие фоновые задачи. В зависимости от платформы и параметров, заданных разработчиком, приложениям, в частности – играм, обычно доступно от 12 до 14 ГБ памяти. Это не супергигантское количество, но больше чем вдвое превосходит то, которое было доступно консолям PS4 и Xbox One.
Но если настольные ПК держат сетки, текстуры и вспомогательные буферы в памяти видеокарты (VRAM), а сам игровой движок (со всеми примененными настройками) – в системной памяти, то консоли вынуждены держать все в одной физической области RAM. Это значит, что текстуры, промежуточные буферы, настройки рендеринга и исполняемый код находятся в одном месте с ограниченным объемом. И в течение последних десяти лет, когда играм было доступно всего около 5 ГБ консольной памяти, разработчикам приходилось крайне скрупулезно подходить к вопросам оптимизации размещения и использования данных, чтобы можно было выжать максимум из производительности этих машин.
Это также объясняет, почему в последнее время в играх резко выросла нагрузка на память. Если раньше игры создавались в расчете на очень ограниченные ресурсы RAM, то теперь, по мере того как студии-разработчики стали ориентироваться на более новые машины, закладываемые лимиты памяти выросли вдвое-втрое.
Раньше не было нужды создавать высокодетализированные фишки с использованием миллионов многоугольников и текстур ультравысокого разрешения. Снижение разрешения таких объектов до уровня, доступного, например, консолям PS4, сводило бы на нет смысл их создания, заключающийся в повышении уровня качества изображения. Поэтому в то время все версии для консолей выглядели практически так же, как и оригинальная графика для ПК.
И сегодня эта тенденция продолжается, только теперь это обусловлено тем, что модели PS5 и Xbox серии X заметно продвинулись, в том числе в части подсистемы хранения данных, которая позволяет передавать данные с внутреннего SSD в общую память консоли со значительно большими скоростями. Настолько большими, что потоковая обработка данных сегодня является краеугольным камнем консольных игр нового поколения и – вкупе с намного более мощными CPU и GPU – позволяет поднять планку уровня детализации выше, чем когда-либо ранее.
Таким образом, если современная консольная игра использует, скажем, 10 ГБ унифицированной памяти для данных сеток, текстур, буферов, настроек рендеринга и т.д., то логично ожидать, что версия для ПК будет использовать как минимум столько же. А при закономерном повышении уровня настроек детализации в полноразмерной версии это количество памяти значительно увеличится.
Итак, приведет ли эволюция консолей и мультиплатформенных игр в скором времени к тому, что пользователи 8-гигабайтных видеокарт будут испытывать систематические проблемы? Однозначный ответ на этот вопрос дать невозможно, находясь вне отрасли. Можно строить различные предположения, но на самом деле ответ складывается из многих аспектов и зависит от того, как будет развиваться рынок видеокарт и как разработчики игр будут использовать порты ПК.
Текущее поколение консолей пока находится «в расцвете молодости», но можно сказать с уверенностью, что к тому времени, когда они приблизятся к своему «среднему возрасту», будет выпущено много игр с серьезными системными требованиями для Windows-версий. С другой стороны, разработчики – как игр, так и самих консолей – с течением времени учатся выжимать максимум производительности из систем с жестким составом компонентов, и в играх все чаще применяются шаблоны вычислений, ориентированные на специфику консольного гейминга.
Новейшие методы и инструменты компьютерной графики могут давать потрясающие результаты.
Поскольку персональные компьютеры не могут следовать точно такому же сценарию развития, в этой ветке игровой индустрии применяются более общие подходы; на разработчиках лежит большая ответственность в деле оптимизации игр, которые будут запускаться на самых различных конфигурациях с бесчисленным разнообразием сочетаний аппаратных компонентов. Эту задачу можно несколько упростить путем использования не-проприетарных движков, таких как Unreal Engine 5, позволяющих разработчикам решить целый ряд проблем, но даже тогда создателям игр остается много над чем работать.
Например, в версии The Last of Us 1.03 на разрешении 4K с настройками Ultra мы получили показатели среднего использования VRAM 12.1 ГБ и максимального 14.9 ГБ. После выхода патча v1.04 эти цифры снизились до 11.8 и 12.4 ГБ соответственно. Этот результат был достигнут за счет оптимизации трансляции текстур, и хотя в этой игре, скорей всего, остается еще много пространства для различных оптимизаций, но одно это достижение уже показывает, как много может сделать небольшая доводка ПК-версии игры.
Еще одна причина, почему системные требования и фактическая нагрузка на видеопамять, вероятнее всего, перерастут отметку 8 ГБ, – в том, что гейминг развивается в ногу с огромным сегментом настольных ПК в условиях спонсорской поддержки со стороны производителей дискретных компонентов и периферийных устройств. AMD, Intel, Nvidia и другие фирмы тратят значительные средства на спонсирование игр, хотя в некоторых случаях это не означает ничего, кроме размещения своих логотипов на обложке игры за деньги.
В сегменте видеокарт, однако, подобные сделки обычно имеют своей целью продвижение конкретных инновационных технологий. Новейшие карты AMD, Intel и Nvidia предлагают 12 ГБ видеопамяти и более, но пока это не самые массовые опции, и пройдут годы, прежде чем такое «железо» в геймерской среде станет мэйнстримом.
Акцент на емкости VRAM – новейший маркетинговый прием AMD.
Со стороны консольных версий требование не менее 8 ГБ в части памяти (для минимального уровня настроек) не выглядит чем-то невероятным, но произойдет это, скорей всего, не в ближайшие десять лет. А производителям дискретных видеокарт нужно, чтобы ПК-геймеры покупали более продвинутые и более дорогие модели, что существенно увеличивает прибыль этих компаний, и они обязательно будут использовать этот аспект современного гейминга в своей маркетинговой политике.
Есть и другие факторы, не связанные с корыстными целями производителей видеокарт, в частности – разработчики не имеют достаточного опыта оптимизации игр для ПК-платформ или использования Unreal Engine, при этом издатели устанавливают жесткие дедлайны, чтобы выполнить квартальный план продаж, и в результате игры с королевским бюджетом выходят со множеством багов, из которых неоптимальный расход видеопамяти – не самая большая проблема.
Итак, мы видим, что требования к объему графической памяти в играх действительно растут, и эта тенденция, судя по всему, продолжится, но мы также видим, что в текущих играх производительность можно улучшить, потратив некоторое время на регулировку графических настроек. По крайней мере, на сегодняшний день это так.
Мощные 8-гигабайтные видеокарты, вероятно, начнут испытывать проблемы в тех ситуациях, когда объем VRAM будет выступать ограничивающим фактором по отношению к производительности чипа GPU, и происходить это будет в ближайшие сезоны, когда выйдет еще пара новых релизов. Пока такие проблемы с производительностью носят «случайный» характер, но недалек тот день, когда они станут систематическими.
И кто знает – возможно, через какие-то десять лет мы, оглядываясь на сегодняшние игры, будем восклицать: «Как, они использовали всего 8 ГБ?!»
Источник: TechSpot