Родоначальник игровой серии Metro, вышедший в 2010 году, запомнился геймерам не только достоинствами игрового процесса, но и выдающейся графической оболочкой. Условно отечественные разработчики из украинского стартапа 4A Games, имея сравнительно небольшой бюджет, создали собственный движок 4A Engine, обладавший для своего времени недюжинными техническими возможностями. Владельцы железа с поддержкой DirectX 11, запустив Metro 2033, могли воспользоваться всеми прелестями этого API — в первую очередь, аппаратной тесселяцией. В результате Metro 2033, подобно таким долгожителям, как Crysis Warhead, застолбила место среди бенчмарков для всех новых видеоадаптеров, появившихся на свет с момента выхода самой игры. Однако, как и в случае с Crysis, причина долголетия заключается не только и не столько в красотах Metro 2033, сколько в том, что даже на видеокартах 2013 года с максимальными настройками игра отчаянно тормозит. Такое строгое мерило производительности отлично демонстрирует мощь экстремальных конфигураций с несколькими GPU, благодаря которым в Metro 2033 наконец-то достигается приемлемая частота смены кадров. Ну а в обзорах однопроцессорных, пусть и самых топовых, видеоадаптеров, Metro 2033 показывает, что производителям чипов еще есть куда расти.
В общем, оптимизация графического движка была одним из главных требований к сиквелу Metro 2033. В итоге в лице Metro: Last Light мы получили игру, одновременно и превосходящую предшественника по визуальным достоинствам, и более эффективно использующую вычислительные возможности GPU. Хотя в арсенале обновленного 4A Engine по-прежнему есть опция, способная поставить на колени мощнейшие из графических процессоров, о чем будет сказано позже.
У нас нет полного списка тех изменений в коде, которым Metro: Last Light обязана повышенной производительностью, но известны некоторые интересные особенности движка, одна из которых — потоковые текстуры (Streaming Textures). За счет того, что текстуры загружаются в кадровый буфер видеокарты по требованию, удалось снизить требования к его объему. Игра, даже при максимальных настройках и разрешении 2560х1440, довольствуется 2 Гбайт видеопамяти. Другая подробность о движке Metro: LL — это то, что задачи собственно рендеринга графики, наложения физических эффектов и обработки звука динамически назначаются свободным потокам CPU, вместо того чтобы неизменно отдать графике первый поток, физике — второй, звуку — третий.
⇡#Настройки графики Metro: Last Light
Графические опции Metro: LL небогаты. Разработчики избавили геймера от выбора между версиями DirectX: по умолчанию игра работает в DirectX 11, но готова откатиться к DX10 или даже DX9, если в железе не обнаружено поддержки DX11. Наиболее заметная разница состоит в том, что в DirectX 10 нет тесселяции, а в DX9 отсутствует Object Motion Blur. Кроме того, в DirectX 11 игра просто-напросто быстрее, чем в его предшественниках.
Рассмотрим те немногие настройки, которые подлежат изменению.
⇡#Super-Sampling Anti-Aliasing
Оригинал Metro 2033 пользовался полноэкранным сглаживанием по методу мультисемплинга (MSAA). Изначально представленный как альтернатива ресурсоемкому суперсемплингу (SSAA), MSAA завоевал популярность в эпоху DirectX 8 и DX9, но в сочетании с современными движками отложенного рендеринга (Deferred Rendering) он вызывает гораздо большее падение производительности, чем раньше. Поэтому в качестве альтернативы в Metro 2033 применяется так называемый Adaptive Anti-Aliasing (AAA) — разновидность технологии FXAA, представляющая собой быстрый фильтр постобработки, сглаживающий «лесенки» на границах полигонов.
А вот MSAA в качестве метода полноценного сглаживания в Metro: LL был отвергнут в пользу старого знакомого — SSAA. Сущность суперсемплинга в том, что изображение рендерится в более высоком разрешении (к примеру, вдвое больше по обеим сторонам при SSAA 4x), а затем масштабируется до разрешения экрана. Как следствие, получаем максимально качественный результат из всех возможных вариантов сглаживания. Падение производительности при этом колоссальное, но при том, как с отложенным рендерингом сочетается MSAA, терять уже нечего. Доступны режимы SSAA от 2x до 4x. И независимо от того, включен ли суперсемплинг, в Metro: LL всегда действует метод AAA. Только в сочетании с SSAA менее выражен недостаток последнего — легкое размытие всего изображения, поскольку AAA применяется еще до масштабирования картинки высокого разрешения.
Тесселяция используется в Metro: Last Light везде, где только можно, увеличивая детализацию геометрии природных объектов, предметов интерьера и персонажей. Доступны три режима тесселяции: Normal, High и Very High. High по сравнению с Normal добавляет больше деталей, Very High — увеличивает расстояние от точки обзора, при котором тесселяция выключается, с десяти до пятнадцати метров, а дистанцию, на которой падает детализация, — с семи до десяти.
Функции, схожие с тесселяцией, выполняет Parallax Occlusion Mapping (POM) — технология, которая не порождает дополнительной геометрии, а вместо этого формирует иллюзию рельефа на стенах и прочих подходящих поверхностях, который сильно выражен при прямом угле обзора, но теряется при рассмотрении поверхности под острым углом. Кроме того, мнимая геометрия, созданная POM, в отличие от реальной геометрии, полученной путем тесселяции, не взаимодействует с источниками освещения и динамическими тенями. Хотя в пользу метода POM, применяемого в Metro: LL, надо сказать, что он поддерживает самозатенение (Self-Shadowing) смещенных участков текстуры, способствующее тому, что на тех объектах, где тесселяция не привела бы к рывку визуального качества, рельеф выглядит весьма достоверно.
Как и Metro 2033, ее продолжение в создании физических эффектов полагается на технологию NVIDIA PhysX. Опция Advanced PhysX активирует аппаратную обработку вызовов PhysX на GPU, без которой игра лишается некоторых впечатляющих возможностей. Наиболее заметно аппаратный PhysX сказывается на визуализации разрушений. Куски разбитых объектов разлетаются более реалистично и затем в полной мере взаимодействуют с окружающим миром: остаются на месте после падения и перемещаются при новом приложении силы. Без аппаратного PhysX разрушения заранее детерминированы, а осколки постепенно пропадают.
Взрывы также выглядят более реалистично благодаря Advanced PhysX. В зависимости от расстояния до центра взрыва, его мощности и свойств материалов, объекты испытывают более или менее сильные разрушения и перемещения. Большие объемы частиц, такие как дым и туман, ведут себя реалистично и интерактивно взаимодействуют со взрывами или просто перемещением игрока. Аппаратная поддержка PhysX также обеспечивает манипуляции персонажей или ветра с геометрией ткани.
Metro: Last Light объединяет массу графических настроек под единым параметром «качество», который изменяется в диапазоне от Low до Very High. Скриншоты демонстрируют совокупный эффект от изменения режимов, а далее мы рассмотрим по отдельности, какой эффект имеет каждая из настроек.
Low | Normal | High | Very High | |
---|---|---|---|---|
Ambient Occlusion | Approximate | Approximate | Precomputed + SSAO | Precomputed + SSAO |
Analytical Anti-Aliasing | Enabled | Enabled | Enabled | Enabled |
Bump Mapping | Coarse | Coarse | Precise | Precise |
Detail Texturing | Disabled | Enabled | Enabled | Enabled |
Geometric Detail | Low | Normal | High | Very High |
Image Post-Processing | Normal | Normal | Full | Full |
Light-Material Interaction | Normal | Normal | Normal | Full |
Motion Blur | Disabled | Disabled | Camera | Camera + Objects |
Parallax Mapping | Disabled | Disabled | Enabled | Enabled + POM |
Shadow Filtering | Fast | Normal | Hi-Quality | Hi-Quality |
Shadow Resolution | 2,35 Mpx | 4,19 Mpx | 6,55 Mpx | 9,43 Mpx |
Skin Shading | Disabled | Disabled | Simple | Subsurface Scattering |
Soft Particles | Disabled | Disabled | Enabled | Enabled |
Volumetric Texturing | Disabled | Disabled | Low Precision | Full Quality + Sun Shafts |
Ambient Occlusion
Ambient Occlusion — эффект, создающий дополнительные тени в местах стыка полигонов: всевозможных углах, нишах и т.д. На низших настройках качества Metro: LL использует быстрый «приблизительный» алгоритм AO, при котором, надо признать, игра выглядит чересчур темной. Более продвинутый вариант сочетает заранее просчитанные тени с интерактивным динамическим компонентом.
Bump Mapping
Старый добрый Bump Mapping поддерживался видеокартами еще во времена DirectX 6 и в Metro: LL по-прежнему используется для создания мнимого рельефа в тех местах, где не оправдано применение более реалистичных технологий. Доступна «базовая» и «точная» версия алгоритма.
Detail Texturing
Текстуры в Metro: LL имеют разрешение 2048х2048. А при включенной опции Detail Texturing на объекты вблизи точки зрения накладывается дополнительная, более детализированная текстура такого же разрешения.
Geometric Detail
Этот параметр не нуждается в подробном комментарии. Чем он выше, тем более детализировано выглядят игровые объекты.
Image Post-Processing
Metro: LL содержит огромное количество эффектов постобработки, на высоких предустановках качества они активируются полностью. Наиболее заметные из них — это HDR, Bloom и, конечно же, Depth of Field. Последний теперь не вызывает такого драматического падения производительности, как в первой игре серии.
Light Interaction
Как следует из названия опции, она управляет шейдерами, которые связаны с освещением поверхностей, сделанных из материалов различного свойства. Соответственно, на уровне Full Interaction игра света на предметах выглядит более правдоподобно.
Motion Blur
При низких настройках качества графики размытие движущихся объектов полностью отключено. При значении качества High размытию подвергается все изображение, а на Very High объекты размываются в зависимости от того, что именно в кадре движется относительно точки обзора и с какой скоростью. К примеру, пролетающие мимо стены туннеля размываются, а дрезина, неподвижная относительно протагониста, выглядит четко.
Parallax Mapping
Даже при включенной тесселяции на некоторых поверхностях применяется Parallax Occlusion Mapping (POM), описанный выше.
Shadow Filtering
Настройка, заведующая обработкой теней: смягчение, удаление артефактов. Допускает три позиции: «быстрая», «нормальная» и «высококачественная» фильтрация.
Shadow Resolution
В зависимости от состояния этой настройки применяются карты освещения различной детализации. На практике это проявляется в том, насколько тень, отбрасываемая предметом, похожа на его очертания. Но независимо от разрешения карт, движок всегда создает тени со сложной структурой (наиболее резкая часть и полутень).
Skin Shading
На высшем уровне качества применяется хорошо известная техника под названием «подповерхностное рассеивание» (Subsurface Scattering), которая оперирует с кожей персонажей как с полупрозрачным объектом, сквозь который в какой-то степени проникает свет. На низких настройках к коже применяются простые шейдеры или вовсе отключается какая-либо дополнительная обработка.
Soft Particles
При отсутствии аппаратного PhysX вместо реальных частиц в трехмерном пространстве движок зачастую формирует эффекты огня и дыма из многочисленных растров, наложенных на экран. Благодаря функции мягких частиц наложение растровых эффектов на трехмерную геометрию выглядит более естественно.
Volumetric Texturing
Для некоторых массивов частиц, которые игрок будет наблюдать с близкого расстояния, 4A Engine использует объемные текстуры. Таким же образом формируются видимые в пыльном воздухе солнечные лучи.
Модели под марками NVIDIA и AMD являются референсными видеоадаптерами и работают на частотах, официально установленных производителем для соответствующих позиций линейки. Видеокарты под маркой конечных производителей могут изначально иметь повышенные частоты относительно референсных значений, но в целях тестирования всегда приводятся к стандарту.
Видеокарты на GPU AMD
Видеокарты на GPU NVIDIA
Конфигурация тестовых стендов | ||
---|---|---|
CPU | Intel Core i7-3960X @ 4,6 ГГц (100x46) | Intel Core i7-3970X @ 4,6 ГГц (100x46) |
Материнская плата | ASUS P9X79 Pro | |
Оперативная память | DDR3 Kingston HyperX 4x2 Гбайт @ 1600 МГц, 9-9-9 | |
ПЗУ | Intel SSD 520 240 Гбайт | |
Блок питания | IKONIK Vulcan, 1200 Вт | Seasonic Platinum-1000, 1000 Вт |
Охлаждение CPU | Thermalright Archon | |
Корпус | CoolerMaster Test Bench V1.0 | |
Операционная система | Windows 7 Ultimate X64 Service Pack 1 | |
ПО для карт AMD | AMD Catalyst 13.4 + Catalyst Application Profiles 13.5 CAP1 | |
ПО для карт NVIDIA | 320.49 WHQL |
Для измерения мощности системы используется стенд с блоком питания IKONIK Vulcan 1200 Вт. Энергосберегающие технологии CPU во всех тестах отключены. Шина PCI-Express работает в режиме 3.0. Для активации PCI-E 3.0 на видеокартах серий GeForce 600 и 700 в системе на чипсете X79 применяется патч от NVIDIA.
Настройки AMD Catalyst Control Center | |
---|---|
Antialiasing | Use application settings |
Anisotropic Filtering | Use application settings |
Tesselation | Use application settings |
Catalyst A.I., Texture Filtering Quality | Quality, Enable Surface Format Optimization |
Mipmap Detail Level | Quality |
Wait for V-Sync | Off, unless application specifies |
Anti-Aliasing Mode | Multi-sample AA |
Direct3D Settings, Enable Geomery Instancing | On |
Triple buffernig | Off |
Настройки NVIDIA Control Panel | |
Ambient Occlusion | Off |
Anisotropic Filtering | Application-controlled |
Antialiasing — Gamma correction | On |
Antialiasing — Mode | Application-controlled |
Antialiasing — Settings | Application-controlled |
Antialiasing — Transparency | Off |
CUDA — GPUs | All |
Maximum pre-rendered frames | 3 |
Multi-display/mixed-GPU acceleration | Multiple display performance mode |
Power management mode | Adaptive |
Texture filtering — Anisitropic sample optimization | Off |
Texture filtering — Negative LOD bias | Allow |
Texture filtering — Quality | Quality |
Texture filtering — Trilinear optimization | On |
Threaded optimization | Auto |
Triple buffering | Off |
Vertical sync | Use the 3D application settings |
В настройках драйвера NVIDIA всегда в качестве процессора для вычисления PhysX выбирается CPU. В настройках AMD всегда настройка Tesselation переводится из состояния AMD Optimized в Use application settings.
На этот раз мы отступили от тестовой методики, использованной в предыдущих массовых испытаниях видеокарт (в Battlefield 3, Far Cry 3 и Crysis 3). Например, среди соперников уже не нашлось места для видеокарт NVIDIA и AMD прошлого поколения: GeForce 500 и Radeon HD 6000. В конце концов, в контексте выбора новой видеокарты для Metro: Last Light они уже не актуальны, а те, у кого сейчас стоит в компьютере это железо, и сами знают, хорошо работает Metro или нет.
Метод кастинга видеокарт все тот же. Бенчмарк проходит с четырьмя различными наборами настроек, каждому из которых соответствуют два разрешения. Если частота смены кадров превышает 30 при большем разрешении, то на этом этапе тестирование участника заканчивается. В противном случае дополнительно проводится тест с более либеральными настройками. Если же фреймрейт не достигает 30 FPS даже в меньшем разрешении, то в диаграмму этого режима видеокарта не попадает. Только, в отличие от прошлых серий группового тестирования, видеокарта не может вылететь из результатов полностью: если в самом легком режиме не набралось требуемых 30 FPS даже при меньшем разрешении, то используются те показатели, какие есть, пусть даже это будет откровенное слайд-шоу.
Для тестирования используется «родная» утилита от 4A Games — METRO LL Benchmark, включающая весьма интенсивную сцену с массовым побоищем противоборствующих фракций мира Metro 2033.
Набор бенчмарков | ||||
---|---|---|---|---|
Программа | API | Настройки | Анизотропная фильтрация, полноэкранное сглаживание | Разрешение |
Metro: Last Light. Встроенный бенчмарк | DirectX 11 | Quality: Very High, Motion Blur: Normal, Tesselation: Very High, Advanced PhysX: Off | AF 16x, SSAA 4x | 1920х1080 / 2560х1440 |
Metro: Last Light. Встроенный бенчмарк | DirectX 11 | Quality: Very High, Motion Blur: Normal, Tesselation: Very High, Advanced PhysX: Off | AF 16x, SSAA Off | 1920х1080 / 2560х1440 |
Metro: Last Light. Встроенный бенчмарк | DirectX 11 | Quality: Medium, Motion Blur: Normal, Tesselation: Very High, Advanced PhysX: Off | AF 16x, SSAA Off | 1680x1050 / 1920х1080 |
Metro: Last Light. Встроенный бенчмарк | DirectX 11 | Quality: Low, Motion Blur: Normal, Tesselation: Off, Advanced PhysX: Off | AF 16x, SSAA Off | 1680x1050 / 1920х1080 |
⇡#Результаты тестирования. Quality: Very High; Tesselation: Very High; SSAA 4x
2560x1440
1920х1080
⇡#Quality: Very High; Tesselation: Very High; SSAA Off
2560x1440
1920х1080
⇡#Quality: Medium; Tesselation: Very High; SSAA Off
1920х1080
1680x1050
⇡#Quality: Low; Tesselation Off; SSAA Off
Metro: Last Light действительно не в пример лучше оптимизирована, чем ее предшественница — Metro 2033. Если пожертвовать частью визуальных прелестей движка, то для игры с более-менее приемлемой частотой смены кадров достаточно такой непритязательной видеокарты, как Radeon HD 7750 или даже HD 7730. Альтернативный вариант — GeForce GTX 650 Ti. При этом движок Metro: Last Light продолжает выдавать впечатляющую картинку, пользуясь своими базовыми инструментами.
Ну а инвестиция в мощную видеокарту на базе процессора GK110, GeForce GTX TITAN или GTX 780, оправдает себя возможностью использовать полноэкранное сглаживание по методу SSAA. Впрочем, для того, чтобы сочетать суперсемплинг с разрешением 2560x1440, уже требуется видеоадаптер на базе двух мощных GPU — GeForce GTX 690 или Radeon HD 7990.
Благодарим компанию NVIDIA за предоставленные скриншоты Metro: Last Light с сайта www.geforce.com.