Итак, спустя пять месяцев после релиза 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, вот то, что вы увидете в первую очередь:
Это реализовано путем рендеринга всех шести граней кубической карты каждого источника света всей сцены, используя комбинацию Draw Instanced API и геометрических шейдеров. При включении теней данная функция включается автоматически.
В 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.
Источник: http://www.extremetech.com
Tags: catalyst, Windows Vista