Графические технологии в играх: Need For Speed: Most Wanted



Введение в обзоры графических технологий в играх
Современная терминология 3D графики
Обзор игры на iXBT.com

Разработчик: Electronic Arts Canada
Издатель: Electronic Arts
Дата выхода: Ноябрь 2005 г.
Графический API: Direct3D 9

Техническая характеристика

Need For Speed: Most Wanted — это аркадная гоночная игра, разработанная студией EA Canada и выпущенная компанией Electronic Arts в ноябре 2005 года на нескольких игровых системах. К счастью игроков на персональных компьютерах, мультиплатформенность игры в этот раз сыграла в их пользу. Так как версия для Xbox 360 является достаточно продвинутой в технологическом плане, да и качество ресурсов игры (разрешение текстур, сложность геометрических моделей) в версиях игры для ПК и Xbox 360 значительно отличается от таковых в остальных версиях в лучшую сторону.

Графический движок, применяемый в Most Wanted, используется играми серии, начиная с Need For Speed: Hot Pursuit 2, со времени появления он подвергается постоянным модификациям и поддерживается на хорошем технологическом уровне, пусть и не самом передовом. Этот кроссплатформенный движок — внутренняя разработка компании Electronic Arts, которая используется во множестве мультиплатформенных игр компании, таких, как серии FIFA и NHL. Этот высокоуровневый движок получил название EA Graphics Library (EAGL), игрой используется его четвертая версия — EAGL4.

EAGL — это система рендеринга в реальном времени, основанная на легко портируемом API и runtime коде, написанном для следующих платформ: Sony PlayStation 2, Nintendo GameCube, Microsoft Xbox, Microsoft Xbox 360, и персональных компьютеров с видеокартами уровня DirectX 8 и DirectX 9. Также вероятно использование EAGL и в проектах компании для портативной консоли Sony PlayStation Portable. Runtime код для каждой отдельной платформы разработан с учетом использования всех аппаратных возможностей и возможностей применяемых графических API. Так, на ПК и Xbox 360 используются вершинные и пиксельные шейдеры версий 2.x и 3.0.

Изначально EAGL был разработан для PlayStation 2, но так как EAGL позволяет легко перенести код на другие аппаратные платформы, за короткое время он был портирован на другие системы: Xbox, GameCube, ПК. Для каждой платформы написали свой runtime код и набор «методов рендеринга»: шейдерных программ, написанных на специализированном языке. Получившийся гибкий движок является почти таким же быстрым, что и движки, написанные для отдельных игр и платформ, что привело к широкому применению EAGL в играх производства компании самых разных жанров: спортивных, гоночных, FPS и других. Интересно, как на судьбу EAGL повлияет покупка Criterion, с ее мультиплатформенным middleware движком RenderWare? Что будет использоваться компанией в дальнейшем, следующие поколения EAGL, RenderWare или нечто единое, вобравшее в себя и то, и другое? Вопрос интересный, но лишь теоретически, а мы переходим к рассмотрению особенностей графического движка EAGL в игре Need For Speed: Most Wanted.

Визуальную часть игры отличает применение довольно большого количества вершинных и пиксельных шейдеров: для расчета освещения, наложения карт нормалей, в алгоритмах наложения теней и постфильтрации. Используются многочисленные методы постобработки изображения: motion blur, distortion, overbright, pseudo HDR и т.п. Легко догадаться, что Most Wanted предлагает игроку большие открытые пространства, даже очень большие. Доступен сразу целый город с окрестностями, загрузка ресурсов осуществляется «на лету». Хотя пейзажи страдают недостатком геометрических деталей, на скорости смотрится все неплохо, видимо, на это и был расчет. Для рендеринга теней движком игры используются карты теней (shadow maps), которые лучше всего подходят для открытых пространств с единственным интенсивным источником освещения.

Средний объем геометрии, обрабатываемый игрой в одном кадре в обычных игровых условиях, находится на среднем уровне для современных игр. Среднее количество полигонов в кадре при максимальных настройках — 140000-150000, причем, минимальное значение составляет около 50000 треугольников, а максимальное — более 300000. Минимальные настройки значительно менее агрессивны, от 10000 до 100000 полигонов в кадре, среднее значение — 40000 обрабатываемых треугольников, то есть, почти в четыре раза меньше, чем на максимуме. Напомню, речь только об игровых ситуациях.

Most Wanted не так требовательна к объему локальной видеопамяти, как многие другие современные игры, вышедшие исключительно на ПК (F.E.A.R.) и некоторые мультиплатформы (Call Of Duty 2, Ghost Recon: Advanced Warfighter). В нашем обычном тестовом разрешении 1024x768, с включенным антиалиасингом максимального уровня (4x MSAA) и максимальными же настройками качества игры, она использует от 100 до 200 Мб видеопамяти, среднее значение составляет 150-160 Мб. То есть, 256 Мб памяти на видеокартах игре вполне достаточно, а возможно, и быстрые адаптеры с 128 Мб смогут показать приемлемую производительность, используя часть системной памяти для ресурсов игры. А на минимально возможных настройках качества эта игра использует всего лишь 30-40 Мб видеопамяти, что опять примерно в четыре раза меньше. В таких широких рамках приходится масштабировать нынешние ПК игры для достижения приемлемой производительности на большинстве игровых систем…

Графическим движком игры используются шейдерные программы, написанные на HLSL, они заранее скомпилированы (runtime компиляции не происходит) и на тестовой системе с видеокартой, поддерживающей Shader Model 3.0, применяются вершинные шейдеры версий 1.1 и 3.0 и пиксельные шейдеры версий 1.1, 2.x (ps_2_b) и 3.0. Наибольшее количество используемых программ версии 1.1, вершинные шейдеры 3.0 и пиксельные шейдеры версии 3.0 с циклами хотя и присутствуют, но в весьма ограниченном количестве. По сути, используются единицы шейдеров версии 3.0, несколько 2.x, а основная часть осталась в виде вершинных и пиксельных шейдеров версии 1.1. Это может быть следствием начальной разработки игры под общие возможности Xbox 1 и ПК, и последующей доработки Xbox 360 и ПК версий. Хотя игра и использует много шейдеров старой версии, рассчитана она больше на видеочипы с поддержкой возможностей DirectX 9. Во всех пиксельных шейдерах версии 2.x и 3.0 сделаны оптимизации в виде расчетов с пониженной точностью (partial precision), которые улучшают производительность на всех современных видеокартах NVIDIA, а особенно — серии NVIDIA GeForce FX.

Начиная с этого технологического обзора, мы планируем использовать утилиту профилирования PIX, входящую в состав Microsoft DirectX 9 SDK, вместе с плагином из комплекта NVIDIA PerfKit 2 для сбора интересных статистических цифр. Кстати, интересный факт — во время отладки Need For Speed: Most Wanted программистами компании использовалась утилита для разработчиков NVIDIA PerfHUD из все того же комплекта NVPerfKit 2, обзор последней версии которого был недавно опубликован на нашем сайте. Статистика, собранная в PIX на нескольких уровнях игры, показывает, что при максимальных настройках в разрешении 1024x768 видеочип GeForce 7800 GTX простаивает (по счетчику gpu_idle) около 20-30% времени, наиболее вероятен упор в возможности центрального процессора или системной памяти, а точнее — в особенности работы Direct3D 9. Среднее использование блоков пиксельных шейдеров (счетчик pixel_shader_busy) — 30-40%, блоков вершинных шейдеров (счетчик vertex_shader_busy) — 5-7%. Подтверждаются явные проблемы общей полигональной недостаточности, разработчики могли бы использовать гораздо более сложные геометрические объекты, особенно это касается статической геометрии игрового мира.

Наибольшая утилизация блоков пиксельных шейдеров наблюдается в игровых сценах с дождем, вероятно, наиболее требователен к этому рендеринг мокрого асфальта. Средняя доля времени ожидания блоками пиксельных шейдеров выборки данных из текстур (счетчик shader_waits_for_texture) — 15-20%, а ожидание операций записи во фреймбуфер (shader_waits_for_rop) — 10-15%, что говорит и о серьезном упоре игры в скорость текстурирования и операций растеризации, нежели в производительность пиксельных шейдеров. Иными словами, игре желательно было бы подбавить также и более сложных пиксельных шейдеров. Но это — на high-end видеокарте, не надо забывать. Возможно, на менее мощных видеокартах ситуация будет совсем иной.

Краткая история

История игр серии Need For Speed насчитывает уже более десяти лет, в линейке игр, учитывая специальные издания и все платформы, уже не один десяток названий. Все началось с создания игры Need For Speed силами небольшой канадской игровой студии Distinctive Software, разработавшей до этого такие игры, как Stunts и Test Drive 2. В 1991 году Electronic Arts купила студию, получившую в дальнейшем название Electronic Arts Canada, и в 1992 году они занялись разработкой первой игры очень популярной серии (о чем они тогда еще вряд ли догадывались) Need For Speed.

В течение многих лет выходило несколько продолжений игры, сначала под номерами, а затем просто под обобщающим названием Need For Speed. Их разработкой в разные времена занимались компании: Electronic Arts Canada, Electronic Arts Seattle и канадская игровая компания Blackbox Software, в 2002 году продолжившая серию игрой Need For Speed: Hot Pursuit 2. Эта студия также была куплена и вошла в состав EA под названием Electronic Arts Blackbox. Hot Pursuit 2 была традиционной для серии игрой, с дорогими суперкарами и дневными загородными трассами. Это уже позднее появились известные ночные «стритрейсерские» Need For Speed: Underground и Need For Speed: Underground 2, в 2003 и 2004 годах, соответственно.

Need For Speed: Most Wanted — это последняя игра серии NFS, появившаяся уже далекой осенью 2005 года. Игра была одной из первых, версия которой предназначалась и для первой консоли нового поколения — Microsoft Xbox 360. Также вышли версии для ПК, Sony PlayStation 2, Nintendo GameCube и Microsoft Xbox. В этой части Need For Speed вернулся к истокам, Most Wanted ближе всего к играм серии под названием Hot Pursuit, -это куча дорогих спортивных автомобилей (и без доминирования японских производителей, что очень важно) и гонки с участием полиции. Игра взяла лучшее и в серии Underground, от нее игре достался режим свободной езды по всем городским территориям, но, к счастью, постоянные ночные заезды в этот раз отменили (эх, не вернулись бы они в NFS: Carbon обратно). Теперь можно ездить не только по дорогам, а почти где угодно — парки, дворы, поля и т.п.

Одни из первых скриншотов игры были представлены публике весной-летом 2005 года (в том числе на игровой выставке E3 того года), они впечатляли очень качественными моделями автомобилей, были заметны на них оригинальные эффекты постобработки и реалистичные мягкие тени. Также, игра явно отличалась применением карт нормалей на некоторых поверхностях (далеко не всех, к сожалению) и реалистичными отражениями на автомобилях. Вероятно, или технологический уровень мультиплатформы поднялся из-за того, что игра готовилась к выходу, в том числе и на Xbox 360, или это произошло из-за постоянно растущего уровня технологий на ПК. Результат один — получилась довольно продвинутая технологически современная игра.

   

На этих первых скриншотах видны геометрически сложные модели автомобилей, мягкие реалистичные тени, отбрасываемые всей геометрией уровня, в том числе деревьями, постэффекты (glare, bloom), применение нормалмаппинга на дорожной поверхности. И общая детализация со времен Underground 2 заметно подросла.  

   

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

В то время у некоторых игроков появились опасения, что пользователям ПК достанутся технологически отсталые возможности мультиплатформы для Xbox и PS2, а не гораздо более продвинутая версия для Xbox 360. Но все кончилось для нас хорошо: перед релизом вышла демонстрационная версия, в которой были хорошо видны все ранее обещанные скриншотами технологии и приличное качество контента (текстур, моделей и т.п.). Как показала финальная версия игры, демка не отличалась от нее технологически и показала именно то, что от нее ждали.

Особенности графики в игре

Графическая часть игры технологически современна, и на сегодняшний день ее отличает использование некоторых нововведений, а во время ее появления она была одной из наиболее технологичных игр того времени. Игру особенно отличают сложные модели автомобилей (в отличие от всего игрового мира, который остался бедным на полигоны), неплохие эффекты постфильтрации, применение карт нормалей (normal mapping), многие материалы имеют несколько слоев (diffuse, normal, specular) и т.п. Так как игра является аркадным гоночным симулятором, все игровые пространства в ней открытые (outdoor), присутствуют как городские кварталы, так и загородные участки трасс, и индустриальные районы.   

Outdoor     Outdoor

Некоторые претензии к качеству арта есть: геометрическая сложность уровней сильно хромает, всем зданиям и конструкциям явно не достает того количества полигонов, которые должны быть в любой современной игре. Слабоваты и многие текстуры окружающей среды, те же текстуры дорожного покрытия, особенно — с учетом применения карт нормалей.

Normal mapping     Normal mapping

Можно было раскошелиться на более качественные ресурсы, переделать основные текстуры трасс для Xbox 360 и ПК версий, у них ведь явно хватает видеопамяти для того, чтобы увеличить объем текстур раза в два. Зато модели автомобилей (только те, которые участвуют в гонке, на трафик без слез смотреть нельзя) просто чудесные — моделлеры компании хорошо постарались, все автомобили сделаны на очень хорошем современном уровне, каждый из них содержит по 20000 полигонов и более. Предлагаю посмотреть несколько картинок и одну из них — wireframe, чтобы можно было наглядно оценить сложность модели.   

   

   

Для построения теней игрой используются карты теней (shadow maps), которые отлично подходят для отображения открытых пространств с единственным удаленным источником освещения — солнцем. Остальными источниками в этом случае пренебрегают, тени строятся только для одного. Метод рендеринга теней при помощи соответствующих текстур (карт теней) был придуман в далеком 1978 году, их преимуществами перед теневыми объемами являются: меньшая зависимость скорости от сложности геометрии сцены и сравнительно простое использование. А основными недостатками — алиасинг, рваные края теней и требовательность к объему видеопамяти. Для решения первых проблем используется предварительная фильтрация (размытие) карт теней, а последняя проблема решается постоянно увеличивающимся объемом набортной видеопамяти.

Shadows     Shadows

В Need For Speed: Most Wanted используются карты теней среднего размера, и они предварительно фильтруются для снижения количества артефактов алиасинга. Получаются хорошо выглядящие мягкие тени, хотя некоторые проблемы «зубчатости» теней все равно остаются, особенно при их наложении на модели автомобилей (см. левый скриншот). В зависимости от настроек игры, тени может отбрасывать вся геометрия сцены, на максимальных настройках получаются отличные динамические тени от автомобилей, статичных объектов и даже листьев деревьев. Мне могут возразить, что подобные тени от деревьев были еще в Porsche Unleashed, но это не так: там тени предварительно просчитанные, статические и не накладываются на всю геометрию сцены. Здесь тени динамические и по мере изменения игрового времени суток, они реалистично изменяются. Не хватает только самозатенения, ведь то же антикрыло автомобиля на правом скриншоте в реальности должно отбрасывать тень на автомобиль…

Обычное дело в новых играх — эффектам постобработки уделено особое внимание. Такие эффекты являются одними из наиболее важных в современных 3D играх, в игре Most Wanted применяется несколько уже известных фильтров постобработки: фильтр motion blur (можно сказать даже radial blur, как частный случай) — в сценах, происходящих на большой скорости, bloom (он же overbright) — увеличение яркости светлых участков изображения, distortion — для отображения капель дождя, и другие постфильтры, в том числе оригинальные, которые мы увидели в играх серии впервые.

Примеры постэффекта bloom (overbright), видны светлые ореолы вокруг ярких участков изображения, в данном случае — неба:

Bloom/Overbright     Bloom/Overbright

Примеры постэффекта glare, применяемого в игре для солнца и некоторых других источников света:

Glare     Glare

Примеры известного всем эффекта motion blur (radial blur), который появляется в случаях действительно быстрой езды:

Motion Blur     Motion Blur

Рассмотрим еще две картинки, на первой из которых — пример комплексной дополнительной обработки кадра, когда используется несколько фильтров одновременно: saturation, glare, bloom, motion blur, distortion, а на второй — постфильтр noise, имитирующий телевизионное изображение во время сцен ареста игрока полицией.   

Postprocessing     Postprocessing

К сожалению, графическим движком игры не поддерживается «настоящий» HDR рендеринг с использованием форматов повышенной точности, как могут подумать некоторые, глядя на bloom и нечто подобное динамическому tone mapping в процессе игры. Это всего лишь простые LDR эффекты постобработки: bloom (overbright), увеличивающий яркость светлых участков, и псевдо HDR (фальшивый динамический tone mapping) эффект, динамически изменяющий параметры фильтра bloom таким образом, чтобы результат был похож на имитацию восприятия освещения человеческим зрением, его адаптацию к различным условиям освещения.

Эффект больше всего заметен при выезде из тоннелей или из-под мостов. Сначала интенсивность свечения ярких поверхностей велика, но постепенно яркость снижается. Это похоже на HDR рендеринг и эффект от работы оператора tone mapping, но без использования формата хотя бы с 16-бит на цвет добиться «настоящего» HDR не получится, некоторые и 16-битные форматы называют лишь средним динамическим диапазоном. Поэтому можно сказать, что в Need For Speed: Most Wanted применяется хитрая эмуляция, на самом деле, даже снижающая количество одновременно видимых цветов. А зря, ведь расчеты постфильтров в HDR всегда выигрывают в качестве, ведь можно было бы и дать выбор пользователям…  

Pseudo tone mapping/HDR     Pseudo tone mapping/HDR

В целом, графика в игре технологически достаточно высокого уровня, самые большие просчеты, на мой взгляд: малополигональный игровой мир и недостаточная детализация текстур на многих поверхностях, в том числе дорожных, а ведь это именно то, что видишь в игре чаще всего. Можно было бы увеличить разрешение карт теней (shadow maps), или дать возможность пользователям самим выставлять требуемое. Не помешало бы и улучшение фильтрации карт теней, края теней слишком зубчаты и недостаточно мягки. Также хотелось бы уже получать не просто наложение карт нормалей, а использование более продвинутых методов, таких, как parallax mapping. На некоторых поверхностях в игре это бы выглядело великолепно. Расстраивает отсутствие возможности HDR рендеринга, хотя программисты EA Canada сделали метод псевдо-HDR в игре, и вполне вероятно, что большинству пользователей этого будет более чем достаточно, но слишком явно убивается часть цветовой информации в картинке после подобного постфильтра.

Настройки качества графики

Need For Speed: Most Wanted весьма требовательна к производительности игровой системы, даже на high-end системах производительность не всегда соответствует желаемому уровню при условии максимальных настроек, наблюдаются редкие, но неприятные рывки. Заставить ее работать плавно не так просто, в разрешении 1024x768 с максимальными настройками и включенными анизотропной фильтрацией и антиалиасингом среднюю частоту кадров выше 60 кадров не обеспечивают и топовые видеокарты, вероятно, ограничивающим фактором видеосистема не является. Даже если взять за планку 45 кадров в секунду, то в таких условиях показывают себя хорошо карты, начиная с ATI RADEON X1800 XL и NVIDIA GeForce 7800 GT. А для действительно высоких разрешений и SLI не поможет.

Многие пользователи жалуются на лаг, дерганья картинки в игре. Во-первых, необходимо проверить объем оперативной памяти, он должен быть не меньше 512 Мб, а лучше — 1 Гб. Отсутствие плавности даже при высокой частоте кадров наблюдается и на некоторых системах с двухядерными процессорами Pentium D и AMD Athlon 64 X2 или процессорами Pentium 4 с включенным Hyper-Threading. Решение проблемы заключается в форсировании использования процессом игры только одного из физических или логических ядер центрального процессора.

Если плавности нет, нужно проверить получаемую частоту кадров, например, при помощи сервера статистики RivaTuner или приложения FRAPS. Чтобы убрать лаги и низкий FPS, нужно изменять игровые настройки так, чтобы достичь средней частоты кадров хотя бы выше 30-35 FPS. Основные параметры, на которые следует обратить внимание: уровень антиалиасинга, общая настройка LOD в игре, а также Car Reflection Detail, World Detail и Shadow Detail. К сожалению, в игре нет возможности встроенного тестирования производительности. Мало того, даже записей гонок и их воспроизведения нет. Поэтому тестирование производительности доступно только примерное, с использованием утилит вроде FRAPS. Тесты проводятся так: запускается FRAPS и игра, делается измерение среднего FPS во время прохождения одной и той же гонки, выбираемой в меню Quick Race — Custom Race, с одной конфигурацией и машиной. Мы использовали первую Sprint гонку в режиме Quick Race, стандартный автомобиль Porsche Carrera GT без тюнинга, максимальную плотность трафика и трех оппонентов. К сожалению, погодные условия гонки и время ее проведения каждый раз отличаются, поэтому разброс результатов может быть весьма велик. Также и сама гонка никогда не будет проходить одинаково, изменения всегда есть. С абсолютно одинаковыми настройками, одна и та же трасса, одни и те же автомобили, но с разным стилем прохождения гонки значения достигнутой средней частоты кадров могут отличаться на 10%! Понятно, что такие измерения для серьезных тестов не годятся совсем, а для наших прикидок они подойдут.

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

Чтобы изменить настройки, ответственные за качество рендеринга, нужно выбрать раздел «Options» в главном меню, затем выбрать «Video» из нескольких существующих подсекций. Появится так называемое основное («Basic») окно настроек, в котором доступно лишь изменение игрового разрешения и общий ползунок «Level Of Detail». Выбор доступных разрешений на тестовой системе: 640x480, 800x600, 1024x768, 1280x960, 1280x1024, 1600x1200. Таким образом, учтены как пользователи большинства LCD мониторов с соотношением сторон 5:4, так и более привычные разрешения с соотношением 4:3. О широкоэкранных 16:9 и 16:10 сказать такого не могу, возможно, разрешения появляются только на мониторах с подобным соотношением сторон.

Basic settings

Общая настройка «Level Of Detail» воздействует на используемое игрой разрешение текстур и геометрическую сложность моделей, а также на отдельные настройки, на которых мы остановимся ниже. Она пригодится, прежде всего, плохо разбирающимся в 3D технологиях пользователям, всем остальным рекомендуется ее выставление на максимум при ручном изменении остальной конфигурации. Для наглядности приводим таблицу зависимости настроек игры от параметра «Level Of Detail»:

Level Of Detail 0 1 2 3 4
Resolution 640x480 640x480 640x480 800x600 800x600
Full Screen Anti-Aliasing 0 0 0 1 1
Texture Filtering 0 0 1 1 1
Vsync Off Off Off Off Off
World Level Of Detail 0 1 2 2 2
Road Reflection Detail 0 0 1 2 2
Shadow Detail 0 0 0 1 1
Car Geometry Detail Low Low Low High High
Car Reflection Detail Low Low Low High High
Car Reflection Update Rate 0 0 1 1 1
Rain Effect On On On On On
Over Bright Off Off Off On On
Visual Treatment High High High High High

Без изменения отдельных настроек добиться максимального качества картинки не удастся, многие из значений не достигают своего максимума при подобной полуавтоматической настройке. Взять те же тени — самое большее, что вы получите — тени от автомобилей и небольших объектов, а включить их для всей геометрии можно лишь вручную. Поэтому, для достижения оптимальных настроек качества и производительности рекомендуется вручную настроить все по отдельности в меню «Advanced», зайти в которое можно при помощи клавиши «2» (такой «удобный» интерфейс придумали в EA) или нажав на надписи «Advanced» левой кнопкой мыши.

Advanced settings

Настройки меню Advanced

  • Resolution (список возможных разрешений для конкретной системы свой) — параметр, задающий разрешение рендеринга. Тут все понятно, нет отличий от выбора разрешения в меню «Basic». На наше удивление, влияние разрешения на тестовой системе было совсем невелико, даже с учетом повышения требований к филлрейту и мощности блоков пиксельных шейдеров. Разница между минимальным и максимальным разрешениями 640x480 и 1600x1200 достигала лишь 5-7% для минимальных настроек и порядка 40-50% — для максимальных. Это совсем немного, сравните, например, средние значения частоты кадров в секунду: 42 FPS в режиме 640x480 и 27 FPS в 1600x1200 (кстати, 27 кадров в секунду в среднем совершенно не играбельны, на мой взгляд, рывки от 20 до 30 FPS на больших скоростях неприемлемы). А при минимальных настройках качества разница отсутствует, по большому счету. Во многих современных играх различие в производительности на разных разрешениях значительно больше, вероятно, игра NFS: Most Wanted сильно ограничена на мощных системах чем-то другим, например, скоростью CPU или пропускной способностью системной памяти.

  • Full-Screen Anti-Aliasing (доступные значения зависят от возможностей установленной видеокарты, на GeForce 7800 GTX доступны четыре значения, вместе с опцией отключенного антиалиасинга) — чем большее значение установлено в ползунке, тем большее количество сэмплов используется для мультисэмплинга. Нулевое значение соответствует отключенному мультисэмплингу и дает максимальную производительность, реально полезны из остальных лишь значения, соответствующие степеням 2 и 4 антиалиасинга (количество сэмплов мультисэмплинга). Непонятно, какому количеству сэмплов соответствуют значения по версии EA, поэтому приходится действовать наугад.

    Производительность при разных значениях настройки сильно отличается на разных системах. Для тестовой системы с GeForce 7800 GTX на минимальных настройках в разрешении 640x480 разницы в производительности между всеми возможными значениями не обнаружено, а при максимальных настройках отличия в производительности режима нулевого значения от максимального составило всего 10%. То есть, на мощных системах есть смысл протестировать, не является ли включение антиалиасинга почти «бесплатным». А на компьютерах с видеокартой низкого уровня рекомендуется отключить мультисэмплинг.

  • Texture Filtering (ползунок с тремя возможными значениями на современных видеокартах) — установка, определяющая метод текстурной фильтрации, используемый движком игры для рендеринга поверхностей. Настройка изменяет только фильтрацию, на выбор дается: билинейная, трилинейная и анизотропная. Влияние разных методов фильтрации на производительность не слишком велико на достаточно быстрых современных видеокартах, но высокие настройки могут вызвать проблемы с частотой кадров в секунду на старых и/или медленных видеокартах. На тестовой системе с GeForce 7800 GTX разница между bilinear/trilinear и anisotropic составила максимум 5%. Визуальную разницу каждый пусть оценит сам:

    Texture Filtering 1 (bilinear)     Texture Filtering 3 (anisotropic)

    Обычно, для использования в современных играх анизотропной фильтрации и антиалиасинга мы рекомендуем установить в настройках видеокарты «Application Controlled» и «Application Preference» для NVIDIA и ATI, соответственно. Но в случае рассматриваемой игры все несколько сложнее, она не показывает количество сэмплов и уровень анизотропии, вместо этого просто дает выбор из нескольких значений, непонятно какому уровню соответствующим. И если хочется точно выставить определенный уровень антиалиасинга и анизотропной фильтрации, можно попробовать форсирование соответствующих функций из драйверов.

  • Vsync (Off/On) — включение вертикальной синхронизации. При включении настройки максимальная частота кадров ограничивается частотой обновления экрана, измеряемой в герцах. То есть, если частота обновления 60 Гц (что является распространенной величиной для LCD мониторов) и настройка VSync включена, то максимально возможное количество кадров в секунду будет равно 60 FPS. В некоторых случаях включение VSync помогает избавиться от артефактов разрывающейся на части картинки («tearing»), и для максимального качества она полезна, но так как настройка ограничивает производительность, рекомендуется ее отключать.

  • World Level Of Detail (ползунок с четырьмя возможными значениями) — настройка изменяет уровень детализации игрового мира: дорог, зданий, строений, знаков, деревьев и т.п. На больших уровнях детализации игрового мира появляется больше объектов, таких, как деревья и дорожные знаки. Влияние настройки на производительность бывает достаточно велико, особенно в сценах с большим количеством деревьев и включенными тенями на максимум (см. далее). В таких условиях не только дополнительные деревья отнимают производительность, но и наложение теней от них. Хотя на мощных системах, таких как тестовая, разница между экстремальными значениями ползунка получилась менее 10-15% на максимальных настройках.

    Зато малополигональные сцены, бедные на объекты, в современной игре никого не обрадуют, и возможно, даже для не самых мощных систем оптимальными будут настройки, соответствующие второму или третьему положению. К тому же, эта графическая настройка напрямую влияет на геймплей! При ее нижних значениях с трассы и прилегающих территорий убирается масса объектов, которые во многих случаях призваны слегка помешать гонщику. Посмотрите на скриншоты, показывающие разницу между разными настройками: все конусы, ограничители и некоторые деревья в случае левого скриншота полностью отсутствуют, что делает проезд по этим участкам трассы более легким. Спорное решение приняли в EA, ведь графические настройки должны влиять только на качество картинки, и никак не на процесс игры.

    World Level Of Detail min     World Level Of Detail max

  • Road Reflection Detail (ползунок с четырьмя возможными значениями) — судя по названию, настройка изменяет качество отражений на дорожных покрытиях в игре. А, судя по полученным картинкам, можно сказать, что речь о specular бликах. При нулевом значении (крайнем левом), блики отражений на дороге низкодетализированные, а при максимальном значении они присутствуют в полном качестве. Не совсем понятны детали реализации, так как разница в качестве картинки при разных настройках Road Reflection Detail не так и велика, равно как и получаемая разница в производительности. 3-5% — это слишком близко к значению погрешности, особенно при таких «точных» тестах при помощи FRAPS. А по качеству сильно отличается только первое положение, посмотрите на скриншоты и найдите большую разницу между 3 и 4 значением, например:

    Road Reflection Detail 1     Road Reflection Detail 2

    Road Reflection Detail 3     Road Reflection Detail 4

  • Shadow Detail (три возможных значения) — настройка, изменяющая детализацию теней. В крайнем левом положении динамические тени не рендерятся, есть только темное пятно под автомобилем. При среднем значении машины и некоторые мелкие объекты (обратите внимание на скамейки) отбрасывают полноценные динамические тени, но таковые полностью отсутствуют у деревьев и других крупных объектов. При максимальном значении настройки уже все объекты игры отбрасывают геометрически правильные динамические тени друг на друга.

    Shadow Detail 1     Shadow Detail 2

    Shadow Detail 3

    Влияние на производительность при наиболее высоком значении достаточно велико, на слабых системах возникают замедления в сценах с большим количеством объектов, и плавность игры снижается. Особенно заметны подобные тормоза в случаях с множеством деревьев и моделей автомобилей, на которые они отбрасывают свои тени. Для владельцев маломощных видеокарт и всех других, жаждущих получения максимальной плавности, могу посоветовать отключить тени. Так можно получить прирост производительности более чем на 10-15%.

  • Car Geometry Detail (Low/High) — настройка, служащая для изменения количества полигонов в моделях автомобилей. Судя по настройке, должно существовать два набора моделей (уровней детализации), при установке в нижнее значение должны использоваться менее качественные модели, которые нужны для баланса между производительностью и качеством, все равно в игре на больших скоростях модели рассматривать не удается. А при значении «High», модели автомобилей должны быть максимально детализированы. Я не нашел никакой разницы в моделях автомобилей при разных значениях настройки, в качестве доказательства прикладываю скриншоты в режиме wireframe. Соответственно, влияния настройки Car Geometry Detail на скорость рендеринга также обнаружено не было.

    Car Geometry Detail Low     Car Geometry Detail High

  • Car Reflection Detail (Low/High) — настройка для изменения качества отражений на моделях автомобилей. Значение «High» включает отражения максимально возможного в игре качества, когда почти все окружающие объекты отражаются на поверхности кузова, и это отражение реалистично изменяется динамически. В режиме «Low» используется упрощенный рендеринг, при котором реальные динамические отражения отсутствуют.

    Car Reflection Detail Low     Car Reflection Detail High

    Car Reflection Detail Low     Car Reflection Detail High

    Настройка оказывает заметное влияние на скорость, она оказалась одной из наиболее требовательных на нашей тестовой системе. При максимальных настройках в разрешении 1024x768 и включенным антиалиасингом, разница между «Low» и «High» составила более 25%. На минимальных настройках в 640x480 отличие оказалось еще значительнее — до 35% разницы! Поэтому, на мой взгляд, Car Reflection Detail — самый первый кандидат из всех настроек, на которые стоит обратить внимание в случае недостатка производительности. Разница в изображении не настолько велика, как разница в производительности.

  • Car Reflection Update Rate (ползунок с четырьмя возможными значениями) — настройка, тесно связанная с предыдущей. Имеет смысл только в случае установки «Car Reflection Detail» в значение «High», когда на машинах отрисовываются динамические отражения, при значении «Low» никакого влияния не будет. Значение рассматриваемой настройки показывает, как часто игра будет обновлять содержимое динамических карт отражения. Иными словами, чем меньше значение, тем отражения будут менее реалистичны, их отображение будет запаздывать на несколько кадров.

  • Rain Effect (Off/On) — настройка, включающая эффект капель дождя на экране. Никак не влияет на падающие капли дождя, а только на эффект постобработки, отображающий капли дождя на объективе игровой камеры, с имитацией эффекта преломления. Этот вид постобработки почти не влияет на итоговую производительность на большинстве игровых систем, разве что на самых медленных его стоит отключить, если в игре наблюдается снижение производительности именно во время непогоды.

    Rain Effect Off     Rain Effect On

  • Over Bright (Off/On) — значение этой настройки также ответственно за постобработку, только уже более привычную — эффект, носящий названия overbright или bloom. Он наиболее заметен на ярких областях изображения, таких, как небо. Основное влияние фильтр оказывает на яркость неба и солнца, bloom — это такой эффект постобработки, когда вокруг ярких участков изображения появляется свечение, поверхности получают дополнительную яркость, а свет от них воздействует на соседние темные области.

    Over Bright Off     Over Bright On

    Влияние эффекта хорошо видно на зданиях заднего плана, расположенных на скриншотах слева, свет от яркого неба как бы заливает их края. Многие игроки путают этот эффект с HDR рендерингом, но это всего лишь эффект постобработки, который может использовать как LDR, так и HDR. Влияние фильтра overbright на производительность практически отсутствует для большинства современных систем, на нашей не было даже разницы в один средний кадр в секунду. Так что возможность его выключения больше пригодится для настройки картинки по вкусу, чем для повышения производительности.

  • Visual Treatment (Low/High) — настройка, отвечающая за несколько фильтров постобработки, которые слегка изменяют общую гамму цветов, и придают картинке более мягкий «кинореалистичный» вид. При настройке, выставленной в «Low», цвета освещения в игре «обычные», какие мы видим во всех играх, а при «High» — цвета становятся такими, какими захотели их сделать в EA Canada, более мягкими и теплыми. Некоторым людям нравится получаемый эффект, а другим — нет, именно поэтому разработчики и дали возможность его отключения. Эта же настройка управляет включением эффекта размытия в движении (motion blur), его можно отключить и отдельно от остальных фильтров из состава Visual Treatment, для этого нужно воспользоваться редактированием реестра, как написано далее. Влияние на общую производительность может отличаться на разных видеокартах, на нашей тестовой системе значительной разницы не было обнаружено, а медленные видеокарты могут и не потянуть всю постобработку, и часть ее придется отключить.

    Visual Treatment Off     Visual Treatment On

На тестовой системе с NVIDIA GeForce 7800 GTX и ATI RADEON X1800 XL вполне играбелен режим с максимальными настройками, в том числе антиалиасингом 4x и анизотропной фильтрацией 16x, в разрешении 1024x768, среднее количество кадров в секунду при этом более 45 FPS, а минимальное не опускается ниже 25 (хотя в некоторых сценах не помешали бы еще несколько лишних кадров в секунду). Разрешению 1600x1200 с такими же настройками будет мало даже топовых видеокарт, таких как ATI RADEON X1900 XTX и NVIDIA GeForce 7900 GTX. На системах среднего уровня, начиная с NVIDIA GeForce 7600 GS/GT и ATI RADEON X1600 PRO/XT, придется снижать некоторые из настроек, а может быть, еще и понизить разрешение и отключить антиалиасинг.

Дополнительные возможности настройки

Для предыдущих игр серии Need For Speed фанатами создавались различные моды и утилиты для изменения некоторых параметров. Для Most Wanted существуют сторонние утилиты, открывающие некоторые из настроек игры, недоступных из меню, а также моды для изменения положения камеры и включения оконного режима для игры. Впрочем, некоторые из возможностей, предоставляемых этими программами, можно использовать и без них, просто изменив соответствующие ключи реестра, которые используются игрой. При помощи этих ключей можно изменить настройки качества игры, доступные в меню и некоторые из скрытых.

Ключи, используемые в Most Wanted, располагаются в системном реестре по адресу: HKEY_LOCAL_MACHINE\SOFTWARE\EA GAMES\Need for Speed Most Wanted

Многие из значений копируют те, что есть в «Advanced» меню настройки графики в игре. Так, Car Reflection Detail в игре соответствует ключу реестра g_CarEnvironmentMapEnable, Car Reflection Update Rate — ключу g_CarEnvironmentMapUpdateData. То же самое касается настроек Resolution (g_RacingResolution), Full-Screen Anti-Aliasing (g_FSAALevel), Texture Filtering (g_TextureFiltering), Vsync (g_VSyncOn), World Level Of Detail (g_WorldLodLevel), Road Reflection Detail (g_RoadReflectionEnable), Shadow Detail (g_ShadowDetail), Car Geometry Detail (g_CarLodLevel), Rain Effect (g_RainEnable), Over Bright (g_OverBrightEnable). Ключ g_PerformanceLevel соответствует общей настройке «Level Of Detail» из раздела видеонастроек «Basic». Но не все ключи представлены в меню, некоторые там отсутствуют в явном виде или одной игровой настройкой включается сразу несколько из них.

Например, g_MotionBlurEnable и g_VisualTreatment. В игре есть настройка Visual Treatment, влияющая на определенные виды постобработки, которая не дает отключить Motion Blur отдельно, предлагая только значение Low, при котором, похоже, этот вид обработки остается включенным. Но в реестре они разнесены и если нужно отключить только фильтр motion blur, можно изменить значение соответствующего ключа (g_MotionBlurEnable), в то время как вся остальная постфильтрация Visual Treatment будет регулироваться значением g_VisualTreatment. g_MotionBlurEnable отвечает только за эффект смазывания изображения на высоких скоростях, его отключение понравится тем, кого волнует высокая четкость изображения. Для отключения эффекта смазывания на высокой скорости, нужно выставить значение ключа в «0», а для включения — в «1».

Второй настройкой, напрямую недоступной из меню игры, является g_ParticleSystemEnable. Этот ключ реестра отвечает за работу системы частиц в игре. Как и в предыдущем случае, чтобы отключить частицы, нужно выставить значение ключа в «0», чтобы включить — «1». Эффекты системы частиц включают в себя дым от прокручивающихся колес, поездок по пересеченной местности, капли дождя, туман и т.п. На слабых системах они могут быть одним из основных ограничивающих производительность факторов, и если частота кадров падает именно в таких сценах, можно попробовать отключить систему частиц, требовательную к пропускной способности памяти, так как частицами используется альфа-блендинг.





Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.