Что нам сулит DX10-патч для Company of Heroes?

Автор: Topol Суббота, Апрель 21st, 2012 Нет комментариев

Рубрика: Операционные системы

Windows Vista и семь месяцев спустя релиза первой DX10-карты начали появляться DX10-игры. В связи с этим разработчики студии Relic решили обновить свой бестселлер — стратегию Company of Heroes — выпустив патч, добавляющий в игру поддержку DX10. По словам разработчиков установка патча делает графику живой, но что насчет потребления системных ресурсов?

Такая задержка выхода DX10-игр огорчает, но, к сожалению, нисколько не удивляет. Недавно мы тестировали демо Lost Planet: Extreme Condition, которая будет выпущена как в версии для DX9, так и для DX10. Если вы прочтете статью, вы увидите, что мы были крайне опечалены тем, что предлагает DX10: отличий в качестве не видно, зато очевидна разница в производительности. Даже у новейшей DX10-карты от ATI есть серьезные проблемы с демо. Понятно, что это лишь демо, но и сама игра и графические драйвера Nvidia и ATI требуют особого внимания.

В сети появились и Halo 2 и Shadowrun, но первой DX10-игрой оказалась восхитительная стратегия в духе второй мировой войны Company of Heroes. В наших графических обзорах мы использовали встроенный бенчмарк именно из этой игры просто потому, что он наиболее технологически-совершенный. Теперь разработчики Relic Entertainment выполнили некогда данное обещание, добавив патчем в игру поддержку DirectX 10. Давайте посмотрим, что это дает игре и как влияет на производительность.

Нововведения DX10
Одновременно с выпуском патча версии 1.7, добавляющим поддержку DirectX 10, разработчики Relic опубликовали крайне полезный FAQ, описывающий изменения, привнесенные DirectX 10. Разработчики вполне грамотно объяснили эти изменения, поэтому мы решили привести самые значимые. Если вы владеете DX10-картой, включив при этом в настройках графического адаптера DX10, вот то, что вы увидете в первую очередь:

  • Смешивание Soft FX
    В играх предыдущего поколения для создания взрывов часто использовались 2D-спрайты. Но когда они пересекались с землей или иными объектами, становилось очевидным, что это 2D-карты, а не реальные 3D-объекты. CoH перед визуализацией FX использует несколько мишеней визуализации для сохранения информации о глубине во второй текстуре. Используя информацию о глубине, графический процессор сможет грамотнее проводить смешивание в области пересечения поверхностей, создавая иллюзию 3D. Данный режим включается по умолчанию и отключается, когда ресурс графической памяти исчерпан. При тестировании на высоком разрешении и при включенном анти-альясинге крайне важно проверять на наличие сбоев при создании текстур, вызванные недостатком графической памяти, файл warnings.log, точнее проверить, отключается ли данная функция. Если да, то это дает небольшой прирост производительности картам, память которых в той или иной игре исчерпывается.
  • Мусорные элементы
    В играх предыдущего поколения, как правило, земля (или иная поверхность) была плоской с несколькими беспорядочно расположенными объектами (деревьями или иными). В CoH был добавлен генерируемый «мусор». Мусор добавляется ко всем существующим уровням, не требуя от создателей карт дополнительной работы по созданию объектов, зависящих от типа поверхности. Благодаря Direct3D 10 на картах появятся реальные 3D-модели растущих растений или 3D-модели камней на дороге, которые, безусловно, предпочтительнее просто нарисованных на плоской поверхности камней. Количество таких моделей привязано к слайдеру качества моделей в видео-настройках.
  • Низкая трава
    В дополнение к мусору, области, где растет трава, обзаведутся 3D-травой. ‘Ячейки травы’ рисуются над поверхностью с помощью Draw Instanced API. Таким образом, солдаты на полях сражений будут ходить в «настоящей» траве, а не нарисованной на поверхности. За данную функцию в меню отвечает настройка детализации «Ultra».
  • Точечные тени
    В режиме Direct3D 10 любой свет рождает тени. Неважно, взрывы ли это, уличные фонари или зажженная сигарета — любой свет имеет свойство давать тень.

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

  • Общие нововведения
    Так как весь свет в Direct3D 10 визуализируется попиксельно, тени стали более мягкими, сам свет стал более детальным, а самих теней стало больше. Пиксельные шейдеры стали в пять раз больше по сравнению с версией из Direct3D 9. Большинство этих инструкций используются не в типичных дневных миссиях, в которых всего несколько источников света, а в ночных, когда требуется более детальная прорисовка карты теней и, соответственно, визуализация сцены с активными картами теней.

    В Direct3D 9 лишь солнечный/лунный свет наносится на карту, а окружающий свет просчитывается повертексно. Это наиболее заметно в случае, если объект, на который вы смотрите, находится в тени и на него падает лишь окружающий свет.

Да, нововведения, принесенные DX10, звучат солидно и впечатляюще. Однако, в реальных играх они едва различимы. Попиксельный свет и точечные тени, наверное, наиболее заметны, хотя нельзя не отметить «мусорные объекты». Тем не менее, не стоит думать, что вы будете играть в совершенно новую игру. Большинство объектов игры остались теми же, а сам движок и карты создавались исходя из ограничений кода DX9.

На приведенных скриншотах можно видеть, что окружающее освещение идентично. Но взгляните на солдатов, находящихся рядом с фонарем около домика. В случае использования DX9 они освещаются лишь общим источником света. В режиме DX10 они правильно освещены фонарем от фермерского домика и имеют две тени: одна от источника в небе, другая от фонаря. Кроме того, на скриншоте с DX10 можно заметить разбросанные камешки — пример вышеописанных «мусорных объектов».

В ходе игры разница между DX9 и DX10 была такой же незначительной, как на вышеприведенных скриншотах. DX10-версия, наверное, более грамотно освещена, а также в ней использовано чуть больше камней, разбросанных по картам.

Производительность DX10
Как сказано выше, нам очень нравится встроеннный в Company of Heroes бенчмарк, поэтому мы используем его во всех своих графических тестах. Однако, это не совсем то, чего мы искали для тестирования игры жанра RTS. Встроенный в CoH тест на производительность имитирует несколько батальных сцен, которые прилично нагружают графический процессор, но в которых не выполняются требовательные к ресурсам CPU расчеты передвижений юнитов и действия AI, которые присутствуют в нормальном геймплее. Тем не менее, тест интенсивный и повторяемый и именно поэтому мы используем его для измерения производительности. Поэтому, но и потому, что FRAPS пока не работает с DX10. Все тесты проводились на следующей системе:

Новый патч версии 1.7 требует выполнения двух действий. Во-первых, теперь vsync включен по умолчанию и для его отключения требуется добавить в ярлык флаг –novsync, что мы и сделали. Во-вторых, рекомендуем использовать последнюю версию драйверов Nvidia, вышедших под номером 158.45. Предыдущие версии драйверов, скорее всего, будут работать, но возможно возникновение визуальных артефактов. Для карты Radeon 2900 XT мы воспользовались только что выпущенным Catalyst 7.5.

Оба графических решения от Nvidia, как и карта ATI показали отличные результаты при использовании DX9. Radeon HD 2900 XT продемонстрировала на удивление высокую производительность, обогнав более дорогостоящее решение GeForce 8800 GTX (при отключенном антиальясинге).

Включаем DirectX 10 и наблюдаем, как падает производительность. Даже эти средненькие результаты достаточны для комфортной игры, но это лишь усредненные значения. Количество кадров в секунду упало, как минимум, в два раза. Производительность карты HD 2900 XT теперь ниже, чем у 8800 GTS.

Режим DX10 делает активным новый режим детализации «Ultra», который по показаниям бенчмарка стоит около 2-3 кадров в секунду. Однако, причины его включать нет.

Сплошные разочарования?
В данном случае разработчики решили реализовать в Company of Heroes возможности DirectX 10 ценой производительности. Количество кадров в секунду упало примерно на треть по сравнению с режимом DX9, что, откровенно говоря, не так уж и малоe. Используемые нами high-end карты обеспечили приемлимую производительность в режиме DX10 вплоть до разрешения в 1920×1200, но даже на этих отнюдь недешевых картах картах мы заметили подтормаживание. К сожалению, так как FRAPS пока не поддерживает DX10-режим, в ходе игры крайне сложно измерить реальные показатели fps. Производительность в игре, на наш взгляд, достаточна, чтобы комфортно поиграть, хотя иногда происходят зависания. Вряд ли бюджетные DX10-видеокарты и карты среднего ценового диапазона позволят вам комфортно играть в CoH в DX10-режиме. Разве что на низких разрешениях.

Предпочтение богатой графики падению производительности было отдано преднамеренно, хотя, возможно, что оно попросту неизбежно. CoH разрабатывалась под DirectX 9, а поддержка DX10 была добавлена позже. Впечатления от добавления DX10 рознятся от «вряд ли могу сказать» до «кажется, что стало лучше» в зависимости от того, что в данный момент происходит на экране. Поэтому увеличение качества графики вряд ли стоит такого серьезного падения производительности.

Company of Heroes гораздо лучше работает с DX10, чем демо Lost Planet. По крайней мере, игра корректно отображается на графических решениях ATI/AMD и Nvidia, и действительно можно видеть отличия, обусловленные использованием DX10. Трудно сказать наверняка, но мы очень надеемся, что с помощью драйверов или дополнительного обновления к самой игре проблема низкой производительности будет решена, потому что на текущий момент DX10 можно описать фразой «новый уровень графики всего за 2/3 производительности вашего компьютера». Это вовсе не то, чего мы ждали от нового графического API DX10.

Источник: thevista.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты