Каталог
ZV
ездный б-р, 19
+7 (495) 974-3333 +7 (495) 974-3333 Выбрать город: Москва
Подождите...
Получить токен
Соединиться
X
Сюда
Туда
x
Не выбрано товаров для сравнения
x
Корзина пуста
Итого: 
Оформить заказ
Сохранить заказ
Открыть корзину
Калькуляция
Очистить корзину
x
Главная
Магазины
Каталог
Мои заказы
Корзина
Магазины Доставка по РФ
Город
Область
Ваш город - ?
От выбранного города зависят цены, наличие товара и
способы доставки

Среда, 28 января 2009 00:00

Реальная польза DirectX 10 на примере Far Cry 2

короткая ссылка на новость:
[N1-1. Введение] Пожалуй, сложно представить себе программный продукт, отзывы по которому были бы столь же неоднозначными, как по Windows Vista. С выпуском очередной операционной системы, лагерь сторонников Microsoft разделился оппозиционно на тех, кому сделанные нововведения были по душе, и на тех, кто не видел в них смысла. Что и говорить – возрастающие аппаратные требования никогда не радовали пользователей, а уж когда маркетинговая компания по продвижению новой ОС построена на совсем неочевидных плюсах, вроде DirectX 10…

Этот API на пару с переработанной моделью драйверов, явился одним из самых значимых новшеств Vista. Для функционирования DX10 помимо самой операционной системы было необходимо и совместимое оборудование. Однако покупка дорогого 3D-ускорителя и переход на Vista долгое время сложно было назвать оправданными, так как DirectX 10 был слабо распространен, и для большинства игр служил лишь бонусным довеском, но никак не предлагал обещанный Microsoft новый уровень графической визуализации (конечно, мы говорим в первую очередь о Direct3D).

Но время не стоит на месте, и по прошествии двух лет ситуация коренным образом изменилась. Если раньше DX9 был однозначно предпочтительнее в плане производительности, при этом, в общем-то, ничем не уступал DX10 в качестве картинки (вспомним один только твик настроек Crysis, который сводил на нет преимущества DX10 и Very High настроек), сегодня в большинстве современных хитов потенциал DirectX 10 раскрыт разработчиками. Благодаря оптимизациям драйверов и изначальной заточке новых игр для работы в среде DX10, мы можем наблюдать заметные невооруженным глазам улучшения. Это и видимая разница в качестве, и в скорости работы, а где-то – доступность антиалиайсинга, невозможного при работе в DX9 из-за сложных техник рендеринга. В этой статье на примере одной из современных игр, а именно Far Cry 2, мы рассмотрим, какие реальные плюсы можно получить от использования DX10. [N2-2. Настройки игры] Far Cry 2 служит хорошей игрой для анализа, так как настройки графического движка игры предлагают идентичные опции как для режима DirectX 9, так и для 10. Экран настроек с DX9 выглядит следующим образом:

Настройки с DX9

А так – с DX10:

Настройки с DX10

В качестве графических карт использовались GeForce GTX 280 и Radeon HD 4870 1 Гб. Разницы в качестве рендеринга между этими видеокартами с использованными нами версиями драйверов попросту нет (хотя раньше производители частенько грешили нечестными оптимизациями). Скриншоты сравнения изделий AMD и NVIDIA мы даже не будем приводить, а сфокусируемся именно на различиях DX9 и DX10. [N3-3. Тестовая конфигурация] Для того, чтобы CPU не стал узким местом в игровом тестировании, мы использовали четырехядерный Intel Core 2 Extreme QX9650, разогнанный до 3.66 ГГц. Остальные комплектующие были подобраны соответствующего уровня:

Тестовая конфигурация

В качестве операционной системы выступала 64-битная Windows Vista Ultimate SP1, драйвера использовались последние на момент тестирования – ForceWare 180.48 WHQL и Catalyst 8.11 WHQL для GPU NVIDIA и AMD соответственно. [N4-4. DX9 vs. DX10 – сравнение качества теней] Мы хотели бы начать сравнение с качества прорисовки теней в Far Cry 2, так как оно является одним из наиболее заметных различий в уровнях графики при разных API. В Far Cry 2 качество теней выставляется в игровом меню. Самый высокий из предусмотренных разработчиками уровней – “Ultra High”, он доступен как в DX9, так и в DX10. Присутствуют и менее требовательные “Very High” и “High”. Имеет смысл сравнивать тени именно в самом высоком качестве, так как даже их полное отключение на слабых видеокартах не позволит насладиться комфортной игрой. В тоже время, на использованных нами GTX 280 и HD 4870 даже Ultra High не являлся для видеокарт непреодолимой трудностью. Представленные ниже скриншоты сделаны при разрешении 1680x1050 и максимальных настройках качества, единственная разница – в используемой версии DirectX.

Прорисовка теней 1

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

Прорисовка теней 2

На второй картинке представлена похожая ситуация, однако здесь большее внимание стоит уделить при рассмотрении теням на траве. К сожалению, скриншот не может полноценно передать ощущения от мягких DX10 теней, которое возникает при движении. Однако даже на такой картинке заметно, что благодаря сглаженным краям, алиасинг на траве заметен куда меньше, чем с DirectX 9.

Прорисовка теней 3

Третий скриншот показывает максимально приближенное отображение тени дерева на дороге. Хорошо заметно, что LOD не совсем корректно работает в Far Cry 2, и виден довольно резкий переход от высококачественных теней на переднем плане к теням более низкого качества на заднем. При этом граница перехода при DX10 видна особенно четко, это не недостаток DX10, а проблема самой игры. В DX9, где сглаживание теней отсутствует, этой границы не видно, зато можно очень хорошо сравнить разницу в мягкости при DX10 и DX9.

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

Мягкость изображения 1

А вот на следующей картинке можно наблюдать интересный артефакт, который присутствует только при работе под DirectX 10. На песчаных мешках, как и ранее, DX10 тени выглядят мягче, но стоит обратить внимание на цементный блок за ними, и сразу будет видна некорректная прорисовка. Данный недостаток проявляется как на видеокарте NVIDIA, так и AMD, так что это не проблема с видеокартой конкретного производителя. При этом обнаруженный артефакт отсутствует в DX9, так что грешить стоит именно на неверную обработку DX10 в данном конкретном случае.

Мягкость изображения 2

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

Мягкость изображения 3

На последнем изображении мы “поймали” довольно спорную ситуацию. С использованием DX10 тени на заднем плане сглажены (отсутствует вышеупомянутая проблема с Level of Detail), но обратная сторона медали состоит в том, что из-за этого попросту не видны детали. Какой из режимов в данном случае выглядит лучше – довольно субъективно.

Мягкость изображения 4


Уровни качества теней

Только что мы сравнили качество теней в Ultra High режиме с использованием API различных поколений. Выводы для себя читатель сделает сам, но, в общем и целом ясно – DirectX 10 позволяет добиться намного более плавных, мягких и за счет этого куда более реалистичных теней. Посмотрим же теперь, насколько различаются внутриигровые уровни качества теней в самом Far Cry 2 (использован DX10).
Уровни качества теней
Уровни качества теней

Отчетливо видно, что понижая уровень качества теней, мы фактически не меняем их характер отображения, а лишь регулируем дальность прорисовки (скорее всего именно из-за этого понижение уровня настроек теней не дает существенной прибавки производительности на слабых картах, как это обычно бывает в других играх). [N5-5. DX9 vs. DX10 – сравнение качества освещения и антиалиасинга] Следующим значимым отличием между рендерингом DX9 и DX10 стало качество освещения. Во многих современных играх проработка света уровня DX10 ощутимо преображает игровой мир. Far Cry 2 не стал исключением, и освещение в DirectX 10 выглядит в нем заметно лучше. Как и раньше, все игровые настройки были установлены в максимально доступные положения, скриншоты снимались при разрешении 1680x1050, а единственная разница в них – задействованы различные API.

Проработка света 1

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

Проработка света 2

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

Различие в контрастности

Первое изображение из игры даже не нуждается в комментариях, различие в контрастности очень хорошо заметно.

Проработка засветки облаков солнечными лучами

На втором скриншоте видна более качественная проработка засветки облаков солнечными лучами, за счет этого картинка более живая и насыщенная. Также обратите внимание и на довольно существенную разницу во фреймрейте между DX9 и 10 при одной и той же, в общем-то, несложной сцене. Эти 11 кадров в секунду в жарком бою могут стать критичными при недостатке минимального FPS и запросто лишить игрока виртуальной жизни.

Детали на светлом фоне, цветовая насыщенность и контрастность 1
Детали на светлом фоне, цветовая насыщенность и контрастность 2

Третий и четвертый скриншоты также говорят сами за себя, разница в деталях на светлом фоне, цветовая насыщенность и контрастность – все это в пользу DirectX 10.

Что касается качества сглаживания, здесь можно говорить о тотальном превосходстве DX10. Проще говоря, в DX9 AA выглядит просто ужасно, тогда как его реализация в DX10 помогает забыть, что перед глазами виртуальный мир, и глубже погрузиться в игровую атмосферу. Для активации антиалиасинга в Far Cry 2 необходимо задействовать настройки игрового меню, форсирование AA из драйверов видеокарты (как Catalyst, так и ForceWare) не работает. Доступен выбор между отсутствием AA, 2x AA, 4x AA и 8x AA. Также недоступно включение сглаживания прозрачных поверхностей из драйвера, но, похоже, данная функция активирована по умолчанию в самом Far Cry 2 (естественно, если антиалиасинг вообще включен).

Тест на качество сглаживания довольно банален, мы просто сравним картинку с отсутствующим AA и наиболее тяжелым режимом 8x AA под DX9 и 10.

Качество сглаживания 1

На первом из очередной тройки скриншотов отлично виден прогнувшийся темный кабель на фоне светлого неба. Даже с довольно высоким разрешением 1680x1050 алиасинг заметен очень хорошо и раздражает глаз. Но даже включение 8x AA в DX9 не делает кабель идеально гладким, он застановится несколько мыленным, но задиристые края все равно отчетливо видны. В DX10 такие недостатки изображения отсутствуют.

Качество сглаживания 2

На второй картинке антиалиансинг в DX9 снова показывает свою полную несостоятельность – он не только плохо справляется со своей основной обязанностью, но и добавляет абсолютно ненужного блюра к ветвям деревьев. В DirectX 10 c 8x AA никакого замыления не наблюдается, а наклонная поверхность становится идеально гладкой.

Качество сглаживания 3

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

Сглаживание полупрозрачных поверхностей 1

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

Сглаживание полупрозрачных поверхностей 2

Финальный скриншот дает представление о сглаживании листьев деревьев. Когда листва колышется, без AA видно сплошное мельтешение. В очередной раз 8x AA в DX9 добавляет лишь смазанности, а вот DX10 выдает качественную картинку. Кстати говоря, разницы в качестве сглаживания между видеокартами NVIDIA и AMD нам найти не удалось, оно находится на одинаково высоком уровне. [N6-6. Дальнейшее сравнение качества] Сейчас, когда мы сравнили бросающиеся в глаза серьезные различия в качестве рендеринга DirectX 9 и 10 Far Cry 2, рассмотрим более подробно реализацию игровых эффектов в разных API и прочие детали, которые все вместе и составляют образ превосходства качества DX10 в реальной игре.

Кровь

Так как Far Cry 2 является шутером от первого лица, большое внимание при разработке было уделено визуализации крови. Следуя модным тенденциям, которые были заданы еще в первом Gears of War, вместо стандартной двухмерной субстанции красного цвета игрок видит брызги довольно реалистичной крови, как бы попавшие на объектив камеры.

Кровь 1
Кровь 2

Впервые можно констатировать, что при прямом сравнении DX9 и DX10 никакой разницы в игре не видно. Эффект абсолютно идентичен в DX9, DX10, на картах Radeon и GeForce.

Огонь

Огонь 1

Огонь – еще один впечатляющий графический элемент Far Cry 2. Игра прославилась своей инновационной системой распространения пламени по траве и деревьям, и так же как в Alone in the Dark огонь в определенные моменты влияет на геймплей. Однако в проработке DX9 и DX10 никакой разницы заметить не удается, сама плазма, края пламени, цвета и контрастность – все идентично.

Огонь 2

На втором скриншоте видны артефакты огня, которые, наверно, присутствуют в играх с момента самого первого появления шейдерной реализации пламени. Некорректное взаимодействие с другими физическими объектами, заметная многослойная структура с видимыми частицами – если бы разработчики задействовали возможности DX10 по созданию мягких частиц, как это было сделано в Bioshock, огонь бы выглядел намного реалистичнее. Однако мы имеем, что имеем, и в данном случае в FC2 DirectX 10, ничем не отличаясь от предыдущей версии API, не позволяет наслаждаться таким высоким уровнем графики, как в случае с нашим анализом антиалиасинга.

Огонь 3

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

Блюр

Блюр

Изменение глубины резкости для определенных частей изображения используется в Far Cry 2, скажем, при приближении прицела оружия к глазам. Никакой разницы между DX9 и 10 кроме несколько отличающейся контрастности нам уловить не удалось.

Следы от пуль на воде

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

Следы от пуль на воде


Деревья

Место действия FC2 – некие абстрактные джунгли, по этому пункту игра должна соперничать с Crysis, в котором Cry Engine 2 “на ура” одновременно отрисовывал десятки деревьев на экране. Вместе с тем, растительность должна быть интерактивной, и это реализовано в Far Cry 2. Между DX10 и 9 в игре разницы снова нет, зато будет интересно сравнить различные варианты настроек движка, чтобы оценить, что дает производительная видеокарта.

Деревья

Можно констатировать, что только лишь с высшим уровнем настроек в приближении листва выглядит корректно. При этом она отлично анимирована и при проходе сквозь джунгли создает ощущение реальности.

Реакция бедного куста на взрыв гранаты

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

Исчезающая трава

Чтобы быть с читателем честными, продемонстрируем и найденный нами недостаток при игре с DirectX 10. Он специфичен лишь для одного уровня и не зависит от использованной видеокарты. По неведомым нам обстоятельствам при включении рендеринга DirectX 10 уменьшается густота травы, причем уменьшается заметно:

Исчезающая трава 1
Исчезающая трава 2
Исчезающая трава 3

Решения для данного недостатка нами не найдено, однако налицо факт несколько меньшей детализации DX10, хотя нигде в других локациях такого не происходило.

Сверхвысокое качество графики

Некоторые энтузиасты отдают предпочтение сверхвысокому качеству графики, так называемому режиму Eye Candy, при котором абсолютно все возможные графические настройки выставляются на максимальный уровень и используются все техники улучшения изображения. Мы также сделали несколько скриншотов в таком режиме с разрешением 2560x1600, 8x AA и 16x AF, они обладают внушительным размером, однако способны раскрыть всю визуальную красоту Far Cry 2. Стоит отметить, что даже при такой высокой нагрузке производительности GeForce GTX 280 достаточно, чтобы обеспечить играбельный фреймрейт.

Сверхвысокое качество графики 1
Сверхвысокое качество графики 2
Сверхвысокое качество графики 3
Сверхвысокое качество графики 4
Сверхвысокое качество графики 5
Сверхвысокое качество графики 6
[N7-7. Выводы и финальные слова] Итак, после всестороннего исследования различий DirectX 9 и 10 в Far Cry 2 можно сделать некоторые выводы.

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

Если говорить о тенях – разница между DirectX 9 и 10 совершенно очевидна и за исключением досадных оплошностей с LOD, из-за которых возможно не совсем правильное сглаживание границ теней разной отдаленности, победа однозначно за DX10. Скорее всего, данный недостаток будет устранен в одном из патчей.

Разница в качестве сглаживания просто огромна. Фактически, сглаживание в DX9 просто не работоспособно, так как оно выдает мыльную картинку, на которой заметны “лесенки”. С DX10 антиалиасинг работает “на отлично”, не сказываясь очень серьезно на фреймрейте, и вместе с этим обеспечивая идеальную ровность наклонных поверхностей. Что удивительно, DirectX 9 с активированным AA умудряется еще и работать медленнее.

Единственный недостаток, найденный нами при игре в Far Cry 2 с DirectX 10 рендерингом, стала исчезающая трава. Несмотря на то, что проблема локальная, она существует. Конечно, заметить разницу можно лишь сопоставляя скриншоты DX9 и 10 напрямую, однако хотелось бы с задействованием API последнего поколения не иметь таких невнятных проблем.

Можно констатировать, что на примере Far Cry 2 были рассмотрены присущие большинству современных игр различия между DX9 и 10. Если у вас есть современная видеокарта, совместимая с DirectX 10, нет никаких причин не задействовать ее в полную силу. Скорее всего, вы получите игры, в первую очередь быстрее работающие, а во вторую – более проработанные в мелочах. Конечно, многие будут спорить, что различия в освещении минимальны, и настройкой гаммы можно добиться того же и с DX9, однако такого трюка не проделать с AA и с тенями. Именно важные мелочи составляют общее впечатление о качестве визуальной составляющей игры, и с DX10 сегодня разработчики отводят им все больше внимания. Конечно, для многих требующийся переход на Vista вызовет много вопросов, и разумнее будет подождать Windows 7, но, для тех, кто ждать не хочет и выжимает из существующего железа все соки, однозначный выбор – DirectX 10.

Источник: enthusiast.hardocp.com

подписаться   |   обсудить в ВК   |