i3D-Quality — Под микроскопом: Декабрь 2008, Драйверы GeForce 180.48 vs Catalyst 8.12


В начале декабря уходящего 2008-го года компания NVIDIA представила первый официальный релиз драйвера версии 180 — 180.48, в котором нам были обещаны существенные приросты производительности (а также кое-какая не столь любопытная нашему разделу новая функциональность):

Повышает производительность многих 3D приложений. Ниже представлены примеры доработок и исправлений, присутствующих в драйверах Release 180 WHQL в сравнении с Release 178 WHQL (результаты зависят от вашего GPU, системной конфигурации и установок игры):

  • Почти 10%-ный прирост производительности в 3DMark Vantage (установки для измерения производительности).
  • Почти 13%-ный прирост производительности в Assassin's Creed.
  • Почти 13%-ный прирост производительности в BioShock
  • Почти 15%-ный прирост производительности в Company of Heroes: Opposing Fronts
  • Почти 10%-ный прирост производительности в Crysis Warhead.
  • Почти 25%-ный прирост производительности в Devil May Cry 4.
  • Почти 38%-ный прирост производительности в Far Cry 2.
  • Почти 18%-ный прирост производительности в Race Driver: GRID
  • Почти 80%-ный прирост производительности в Lost Planet: Colonies.
  • Почти 18%-ный прирост производительности в World of Conflict.

Не стала долго сидеть без ответа и компания AMD, пообещав не меньшие приросты производительности в драйвере Catalyst версии 8.12:

The following performance gains are noticed with this release of Catalyst

  • 3DMark Vantage DX10 — performance gains of up to 5% for Single and Crossfire mode. Performance gains were noticed on HD46xx, HD4550 and HD4350.
  • Call of Duty: World at War DX9 — performance gains of up to 21% for Single and Crossfire mode. Performance gains were noticed on all Radeon HD48xx.
  • Crysis DX10 — performance gains of up to 25% for Single and Crossfire mode. Performance gains were noticed on all Radeon HD4xxx.
  • Crysis Warhead DX10 — performance gains of up to 13% for Single card mode and up to 16% for Crossfire mode. Performance gains were noticed on all Radeon HD4xxx.
  • Devil May Cry 4 DX10– performance gains of up to 6% for Single and Crossfire mode. Performance gains were noticed on all Radeon HD4xxx and HD38xx.
  • Fallout 3 — performance gains of up to 15% for Single card mode.
  • Far Cry 2 DX10 — performance gains of up to 10% for Single card mode and up to 57% in Crossfire mode. Performance gains were noticed on all Radeon HD4xxx and HD38xx.
  • FEAR DX9 — performance gains of up to 6% for Single and Crossfire mode. Performance gains were noticed on Radeon HD4870X2 and HD4870.
  • Hellgate: London DX10 — performance gains of up to 6% for Single card mode and up to 10% for Crossfire mode. Performance gains were noticed on all Radeon HD4xxx.
  • Left 4 Dead DX9– performance gains of up to 10% for Single card mode and up to 5% for Crossfire mode. Performance gains were noticed on all Radeon HD4870 series.
  • Lost Planet Colonies DX10 — performance gains of up to 10% for Single and Crossfire mode. Performance gains were noticed on all Radeon HD4xxx and HD38xx.
  • Prey OGL — performance gains of up to 15% for Crossfire mode. Performance gains were noticed on Radeon HD4870 1GB products, HD46xx, HD45xx.
  • S.T.A.L.K.E.R.: Clear Sky — performance gains of up to 10% for Crossfire mode. Performance gains were noticed on all Radeon HD4xxx and HD38xx.
  • Unreal Tournament 3 DX9 — performance gains of up to 18% for Single card mode and up to 15% in Crossfire mode, especially in cases where AA is enabled. Performance gains were noticed on all Radeon HD4xxx and HD38xx.

Нас, разумеется, заинтересовало, насколько «бесплатно» с т.з. качества обеспечили эти приросты обе компании — если, конечно, они их вообще обеспечили.

Поэтому мы постарались свести оба списка к какому-то общему знаменателю и, вновь вооружившись утилитой Fraps, сели делать скриншоты. Для того, чтобы оценить максимально возможный отрезок совершенствования драйверов, мы решили сравнить «ускоренные» 180.48 и 8.12 с «релизными» 177.41 и 8.8 — первыми официальными драйверами, в которых появилась поддержка новых видеокарт — GeForce GTX 280 и Radeon HD 4870 X2 соответственно.

Конфигурация системы

  • Intel Core 2 Quad Q9550 / Intel X48 / 4 ГБ DDR2-667 ОЗУ
  • ОС Microsoft Windows Vista 64-bit Service Pack 1
  • AMD Radeon HD 4870 X2, драйвер Catalyst версий 8.08 и 8.12
  • NVIDIA GeForce GTX 280, драйвер версий 177.41 WHQL и 180.48 WHQL

В этом тестировании принимали участие следующие игры:

Внимание: полноразмерные версии скриншотов представлены в формате PNG в полноценном качестве. Размер скриншотов варьируется от 2 до 4 МБ!

Assassin's Creed v1.02 (DX9, DX10)

Прирост производительности в Assassin's Creed упоминается только у NVIDIA, однако нам любопытно посмотреть и на прогресс драйверов AMD в этой довольно требовательной игре.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

Сразу хорошие новости для NVIDIA: наблюдается прирост моментального fps с 37 до 39 в DX9-режиме и с 35 до 37 в DX10-режиме — при этом какая-либо разница в качестве отсутствует, т.е. увеличение производительности достигается без снижения качества рендеринга.

Несколько хуже обстоят дела у Radeon: в DX9-режиме производительность снизилась с 34 до 33 fps, а в DX10 — выросла с 26 до 27. Всё это, разумеется, является не более чем колебаниями в рамках погрешности измерений, т.е. можно сделать вывод, что производительность не изменилась — в принципе, ничего иного AMD и не заявляла (хотя мы не смотрели release notes для драйверов между 8.8 и 8.12 — вполне возможно, что в одном из них AMD и обещала приросты в этой игре).

Картинки между видеокартами отличаются крайне незначительно, а зафиксированная нами разница объясняется отличиями в алгоритмах мип-мэппинга и разными подходами к оптимизации текстурной фильтрации (напомним, что драйверы используют умолчательные настройки, при которых обе видеокарты используют оптимизации трилинейной фильтрации).

Между DX9- и DX10-рендерерами мы зафиксировали две заметных разницы:

  • во-первых, в DX10-рендерере игрой, похоже, используется более высокая степень анизотропной фильтрации, что выражается в более высокой чёткости текстур в сцене;
  • во-вторых, в DX10-рендерере осуществляется фильтрация карт теней — это хорошо заметно на 2-м LOD-уровне тени в левой части скриншота на земле и на стене строения в верхней части.

Любопытно также отметить, что Radeon HD 4870 X2 показала существенно бОльшее падение при переходе в DX10-режим по сравнению с GeForce GTX 280 — GeForce описанная фильтрация теней и повышение уровня AF стоили 5,2% производительности, а Radeon потеряла аж 18,2% при переходе в DX10-режим.

Bioshock v1.1 (DX9, DX10)

Вторая игра сегодняшнего исследования опять-таки фигурирует в обещаниях компании NVIDIA, однако поскольку в ней используется широко распространённый движок Unreal, то нам опять не менее интересно посмотреть и на результаты Radeon.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

GTX 280 вновь показала незначительно ускорение в обоих версиях рендерера — с 68 до 69 fps в DX9 и с 59 до 62 fps в DX10. 4870 X2 свою производительность не изменила: 73 и 51 fps в DX9 и DX10 соответственно (из чего можно сделать вывод, что заявленные AMD приросты в UT3 на другие игры на примерно той же версии движка Unreal не распространяются).

Обе карты в DX9-рендерере и GeForce в DX10-рендерере показали примерно одинаковое качество рендеринга, а вот Radeon в DX10-режиме при использовании Catalyst 8.8 неожиданно «замылила» все текстуры с бамп-мэппингом. В Catalyst 8.12 компания AMD эту проблему устранила и результирующее качество стало идентичным тому, которое продемонстрировала GTX 280 и сама 4870 X2 в DX9-режиме (небольшие отличия, как обычно, списываются на разницу в алгоритмах мип-мэппинга и оптимизаций фильтрации).

Вновь отметим гораздо более существенное падение производительности 4870 X2 при переходе от DX9- к DX10-рендереру — более 40% против 10,2% у GTX 280. Собственно, из-за этого внушительного падения в DX10 Radeon оказывается медленнее GeForce, хотя в DX9 ситуация обратная.

Это тем более странно, учитывая, что мы не зафиксировали какой-либо разницы в качестве рендеринга между DX9- и DX10-рендерерами Bioshock. Давайте поищем её на другой сцене:


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

В этой сцене разница между DX9- и DX10-режимами более очевидна:

  • во-первых, в DX10-рендерере иначе отфильтрована тень на колонне в центре скриншота — она более детализирована;
  • во-вторых, в DX10-рендерере сглажены участки пересечения текстуры дыма с трубой в левой части скриншота — убрана резкая граница, «прорезаемого» трубой дыма.

Метаморфозы случились и с производительностью, причем, вновь отличилась GeForce, ускорение которой на драйвере версии 180.48 в этой сцене в DX10-режиме составило аж 24%, со 108 до 134 fps — в результате чего DX10-рендерер в этой сцене стал на 9% быстрее (!) DX9-рендерера — 134 vs 122 fps. В DX9-режиме же производительность выросла незначительно — со 120 до 122 fps.

Radeon не изменила свой результат в DX9-режиме (180 fps) и чуть понизила его в DX10 (135 -> 133). Возможно, небольшое падение производительности в DX10-режиме связано с тем, что здесь вновь, как и в первой сцене, устранена явная ошибка Catalyst 8.8 с чрезмерным «замыливанием» текстур.

Итоговое качество рендеринга GTX 280 вновь отличается от качества рендеринга 4870 X2 лишь разницей в алгоритмах мип-мэппинга и оптимизаций фильтрации. И вновь внушительное падение производительности на 4870 X2 при переходе к DX10-режиму (на 27%) привело к тому, что явный выигрыш в DX9 сменился равенством с GTX 280 в DX10.

Call of Duty: World at War v1.0 (DX9)

Приросты производительности в этой игре заявлены у компании AMD — до +21% для одночиповых и Crossfire-конфигураций.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9

У игры есть всего один рендерер, который использует API DirectX 9c. Какой-либо разницы в качестве нам обнаружить не удалось. В плане производительности видеокарта Radeon действительно показала прирост по показателю Fraps (примерно на 11%), однако ориентироваться под моментальному fps в этой сцене вряд ли правильно — она динамична, и этот fps постоянно меняется в зависимости от происходящего на экране.

Crysis Warhead v1.0 (DX9, DX10)

Crysis Warhead — первая игра нашего теста, в которой прирост производительности заявлен как AMD, так и NVIDIA.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

В плане производительности результаты неоднозначные: в DX9-режиме GTX 280 даже потеряла 1 fps (21->20), а в остальных режимах прирост минимален и, в целом, вряд ли заметен глазу (GF DX10: 18->20; R DX9: 40->42; R DX10: 33->34).

В плане качества на 4870 X2 в DX9-режиме на обеих версиях Catalyst и DX10-режиме на Catalyst 8.12 текстура земли отрисована с существенно более высокой детализацией, нежели на всех скриншотах с видеокарты GTX 280, а также на скриншоте с 4870 X2 DX10 Catalyst 8.8.

Чем вызвана подобная разница — мы можем лишь предполагать. Гипотезы у нас две: либо на Radeon в DX9 и в DX10 на 8.12 неправильно работает шейдер POM (из-за которого текстуры земли в Crysis и Warhead и выглядят такими размытыми при взгляде под острым углом), либо в трёх из четырёх режимов на Radeon по какой-то не вполне понятной причине включается анизотропная фильтрация.

Разницу между DX9- и DX10-рендерерами Crysis Warhead мы разбирали в одном из предыдущих выпусков и, проще говоря, пришли к выводу, что её фактически нет.

Любопытно опять-таки отметить внушительное падение производительности при переходе в DX10-рендерер на Radeon — теряется почти 20% производительности при том, что GeForce GTX 280 демонстрирует фактически равный результат вне зависимости от используемого рендерера.

Devil May Cry 4 v1.0 (DX9, DX10)

DMC4 — еще одна игра, приросты в которой заявлены у обоих вендоров.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

На GeForce наблюдается ощутимый рост производительности при использовании нового драйвера: с 99 до 104 и с 86 до 90 fps в DX9- и DX10-режимах соответственно.

На Radeon игра, похоже, упирается в программный ограничитель максимальных fps — все 4 скриншота показали результат в 120 fps.

GeForce и Radeon отличаются в этой сцене алгоритмом фильтрации текстур, причем, на GeForce вообще возникает ощущение отсутствия мип-мэппинга на текстуре пола — возможно, что в этой игре владельцам видеокарт GeForce стоит включать опцию Clamp LOD Bias.

В DX9-режиме ни на GTX 280, ни на 4870 X2 мы не обнаружили разницы по качеству между старыми и новыми версиями драйверов.

Зато в DX10-режиме на Radeon при использовании Catalyst 8.8 оказалась существенно сильнее размыта текстура решётки огражения. Давайте посмотрим на другую сцену из этой игры:


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

В этой сцене вновь становится очевидна ошибка Catalyst 8.8, уже проявлявшая себя в Bioshock и исправленная в версии 8.12: все текстуры на 4870 X2 при использовании старой версии драйвера оказываются «замыленными».

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

Что касается производительности, то в DX9 все 4 скриншота показали одинаковый результат в 120 fps, а в DX10 на GTX 280 мы вновь отметили небольшой прирост — со 113 до 119 fps. 4870 X2 в DX10-режиме опять упёрлась в ограничитель fps.

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

Fallout 3 v1.0.0.15 (DX9)

Приросты в Fallout 3 заявлены у компании AMD.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9

Судя по всему, Fallout 3 упирается в возможности CPU — да, даже нашего четырёхядерного Q9550. Именно поэтому все карты на всех драйверах показали практически одинаковые результаты: 61->62 fps у GTX 280 и 64 fps у 4870 X2.

В связи с этим, в общем-то, не совсем понятно, что именно ускоряла AMD в этой игре при помощи драйверов — видимо, искать результаты этой работы следует на видеокартах среднего или низового рыночного сегмента, которые будут достаточно слабыми для того, чтобы игра упёрлась не в CPU, а уже в них. На наш взгляд, лучше бы они задумались об исправлении ошибки в работе шейдера tone mapping.

В плане качества мы не нашли разницы между двумя драйверами на GTX 280 и обнаружили небольшую разницу в качестве текстурирования на Radeon — но нельзя сказать, что на 8.12 качество стало ниже, скорее, наоборот, оно приблизилось к тому, которое демонстрирует GeForce.

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

Far Cry 2 v1.02 (DX9, DX10)

Приросты в Far Cry 2 заявлены обоими вендорами — и весьма щедрые, до 38% у NVIDIA и аж до 57% у AMD.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

В DX9-режиме следов обещанного NV прироста производительности на 38% обнаружить не удалось — как было 33 fps на драйвере 177.41, так и осталось 33 fps на драйвере 180.48. У Radeon производительность подросла с 54 до 60 fps — однако этот прирост весьма далёк от обещанных +57%. Впрочем, стоит отметить, что уже сам факт работы Crossfire в новой игре Far Cry 2 при использовании старого драйвера Catalyst 8.8 довольно примечателен.

По качеству какой-либо разницы в DX9-режиме между всеми скриншотами мы не обнаружили.

В DX10-режиме нашёлся обещанный нам прирост на GTX 280: с 33 до 42 fps — не +38, но хотя бы +27 процентов. Качество при этом не изменилось (еще во время выхода Far Cry 2 NVIDIA подробно описывала, за счёт чего был достигнут этот прирост в новых драйверах — поэтому результат был ожидаем), а DX10-рендерер на GeForce уже второй раз за наше исследование оказался ощутимо быстрее DX9-рендерера (а вот это является неожиданностью).

Сообразно с DX9-режимом в DX10 ускорилась и 4870 X2: c 52 до 55 fps. При этом, правда, 42 fps на GeForce выглядят куда как более «честными», чем 55 fps на Radeon — видимо, Far Cry 2 относится к тем играм, в которых сравнивать производительность одночиповых и AFR-видеокарт по fps неправильно, потому как более высокие моментальные и средние fps не гарантируют бОльшей плавности видеоряда.

Наконец, в третий раз за это исследование показал голову баг Catalyst 8.8, выражающийся в чрезмерном размытии некоторых текстур сцены при использовании API DirectX 10 — и опять был исправлен в драйвере версии 8.12. Впрочем, одновременно с этим Catalyst 8.12 стал отрисовывать некоторые объекты ощутимо темнее, чем Catalyst 8.8 и оба драйвера на GeForce. Ошибка, оптимизация или просто на виртуальное солнце набежало виртуальное облако?..

Видеокарты друг от друга вновь отличаются минорной разницей в наложении и фильтирации текстур.

DX9- и DX10-рендереры обеспечивают почти идентичное качество. По сути, единственным замеченным нами отличием стала более «мощная» в DX10-режиме фильтрация теней, очевидная на втором LOD-уровне тени на земле на нашем скриншоте. Забавной особенностью здесь является то, что хоть на эту фильтрацию под DX10 и ушло (предположительно) больше ресурсов, нежели под DX9, её DX9-вариант выглядит предпочтительнее, потому как в нём не столь велика разница между первым и вторым LOD-уровнем тени, которые постоянно маячат перед глазами играющего.

Grid v1.2 (DX9)

18% прироста производительности в Grid были обещаны компанией NVIDIA.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9

Поскольку в Grid используется довольно продвинутый алгоритм пост-обработки, изрядно «замазывающий» всю сцену приятным для глаза блёром, то искать здесь какую-то малозаметную разницу в плане качества почти бесполезно — она вся скрыта пост-фильтром.

В смысле производительности найти на GTX 280 обещанные 18% прироста нам не удалось: было 50 fps, стало 51 fps. Аналогичный «прирост» показала Radeon — 55->56 fps.

Давайте поищем приросты на другой сцене:


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9

Здесь рост производительности у GTX 280 чуть более выраженный — с 62 до 65 fps, однако всё еще довольно далёкий от заявленных 18%. На Radeon показатель в 62 fps остался без изменений.

В этой сцене, несмотря на тонны пост-штукатурки, стала заметной некоторая разница в качестве текстурирования между GTX 280 и 4870 X2 — на Radeon переход на первый мип-уровень, видимо, начинается чуть позже, из-за чего чёткость текстур дороги вблизи плоскости экрана несколько выше, чем на GeForce.

Между версиями драйверов разницы по качеству мы опять не обнаружили.

Выводы

Их опять будет несколько:

  • Версия драйвера 180.48 для GeForce действительно принесла приросты производительности (от еле заметных до весьма ощутимых) и при этом никак не повлияла на качество рендеринга.

    Стоит отметить, что наиболее выраженные приросты мы зафиксировали в DX10-рендерерах ряда игр — и эти приросты в некоторых случаях оказались таковы, что DX10-рендерер начал обеспечивать более высокую производительность, нежели DX9-рендерер.

    Вполне возможно, что задача совершенствования DX9-части драйверов в данное время имеет меньший приоритет для NVIDIA, нежели задача совершенствования DX10-части — в этом случае подобные результат перестают казаться странными.

    Стоит также помнить о том, что в теории DX10-рендерер должен быть как минимум не медленнее DX9-рендерера в случае одинаковости обеспечиваемого ими качества финальной сцены — и тут практически одинаковый результат GTX 280 в той же Crysis Warhead начинает выглядеть как правильный.

    Вместе с этим следует отметить, что повальных приростов производительности при переходе с драйвера 177.41 к драйверу 180.48 мы не обнаружили — ряд тестовых сцен не показал вообще никаких приростов, а в некоторых случаях производительность даже чуть снизилась.

    Это позволяет сделать вывод, что зафиксированные (и заявленные NVIDIA) приросты стали, всё-таки, больше результатом целенаправленной оптимизации драйверов под избранные приложения, а не общей оптимизации функций драйвера — хотя и последняя, несомненно, присутствует в той или иной степени, что легко определяется по наличию приростов производительности в приложениях, не заявленных NVIDIA в release notes драйвера 180.48.

  • На Catalyst 8.12 мы зафиксировали существенно меньшие приросты относительно Catalyst 8.8, нежели в случае с драйверами компании NVIDIA.

    Отчасти подобный результат, возможно, объясняется большей производительностью видеокарты Radeon HD 4870 X2, из-за которой она чаще, чем GeForce GTX 280 упирается в использованный нами в исследовании CPU.

    Вместе с этим стоит отметить, что заявленные для Catalyst 8.12 приросты производительности мы не обнаружили даже в сценах, которые явно не упираются в CPU (например, в Crysis Warhead).

    В целом по нашему тестированию, драйвер 8.12 принёс Radeon HD 4870 X2 существенно меньше производительности, чем драйвер 180.48 — GeForce GTX 280, однако как и в случае GeForce эти приросты были достигнуты без снижения качества рендеринга — и даже более того, в отдельных случаях оно повысилось одновременно с приростом производительности за счёт устранения очевидных ошибок старой версии драйвера.

  • Любопытный и несколько неожиданный подвывод этого исследования заключается в том, что видеокарта Radeon HD 4870 X2 по-прежнему (как и видеокарты поколений HD 2000 и HD 3000) теряет сравнительно много производительности при переходе от DX9- к DX10-рендерерам.

    Фактически, подобные переходы в нескольких случаях позволяют видеокарте GeForce GTX 280 нивелировать отставание от Radeon HD 4870 X2 и сравняться с ней по производительности.

    Это довольно грустный вывод для видеокарт компании AMD, потому как вполне очевидно, что чем дальше, тем всё больше и больше игр будет использовать функции API DirectX 10.

    Причём, стабильность подобных результатов Radeon на протяжении последних полутора лет позволяет предположить, что сама архитектура этих видеокарт (которая между HD-поколениями изменялась относительно мало) хуже, чем архитектура GeForce подходит для исполнения шейдеров DirectX 10.

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

Общий же итог нашего исследования таков: и NVIDIA, и AMD обеспечили рост производительности в последних версиях своих драйверов без вреда качеству рендеринга.

Надеемся, что и в наступившем 2009 году обе компании останутся верны этому принципу.





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

i3D-Quality - Под микроскопом - Декабрь 2008 - Драйверы GeForce 180.48 vs Catalyst 8.12

i3D-Quality — Под микроскопом: Декабрь 2008, Драйверы GeForce 180.48 vs Catalyst 8.12

В начале декабря уходящего 2008-го года компания NVIDIA представила первый официальный релиз драйвера версии 180 — 180.48, в котором нам были обещаны существенные приросты производительности (а также кое-какая не столь любопытная нашему разделу новая функциональность):

Повышает производительность многих 3D приложений. Ниже представлены примеры доработок и исправлений, присутствующих в драйверах Release 180 WHQL в сравнении с Release 178 WHQL (результаты зависят от вашего GPU, системной конфигурации и установок игры):

  • Почти 10%-ный прирост производительности в 3DMark Vantage (установки для измерения производительности).
  • Почти 13%-ный прирост производительности в Assassin's Creed.
  • Почти 13%-ный прирост производительности в BioShock
  • Почти 15%-ный прирост производительности в Company of Heroes: Opposing Fronts
  • Почти 10%-ный прирост производительности в Crysis Warhead.
  • Почти 25%-ный прирост производительности в Devil May Cry 4.
  • Почти 38%-ный прирост производительности в Far Cry 2.
  • Почти 18%-ный прирост производительности в Race Driver: GRID
  • Почти 80%-ный прирост производительности в Lost Planet: Colonies.
  • Почти 18%-ный прирост производительности в World of Conflict.

Не стала долго сидеть без ответа и компания AMD, пообещав не меньшие приросты производительности в драйвере Catalyst версии 8.12:

The following performance gains are noticed with this release of Catalyst

  • 3DMark Vantage DX10 — performance gains of up to 5% for Single and Crossfire mode. Performance gains were noticed on HD46xx, HD4550 and HD4350.
  • Call of Duty: World at War DX9 — performance gains of up to 21% for Single and Crossfire mode. Performance gains were noticed on all Radeon HD48xx.
  • Crysis DX10 — performance gains of up to 25% for Single and Crossfire mode. Performance gains were noticed on all Radeon HD4xxx.
  • Crysis Warhead DX10 — performance gains of up to 13% for Single card mode and up to 16% for Crossfire mode. Performance gains were noticed on all Radeon HD4xxx.
  • Devil May Cry 4 DX10– performance gains of up to 6% for Single and Crossfire mode. Performance gains were noticed on all Radeon HD4xxx and HD38xx.
  • Fallout 3 — performance gains of up to 15% for Single card mode.
  • Far Cry 2 DX10 — performance gains of up to 10% for Single card mode and up to 57% in Crossfire mode. Performance gains were noticed on all Radeon HD4xxx and HD38xx.
  • FEAR DX9 — performance gains of up to 6% for Single and Crossfire mode. Performance gains were noticed on Radeon HD4870X2 and HD4870.
  • Hellgate: London DX10 — performance gains of up to 6% for Single card mode and up to 10% for Crossfire mode. Performance gains were noticed on all Radeon HD4xxx.
  • Left 4 Dead DX9– performance gains of up to 10% for Single card mode and up to 5% for Crossfire mode. Performance gains were noticed on all Radeon HD4870 series.
  • Lost Planet Colonies DX10 — performance gains of up to 10% for Single and Crossfire mode. Performance gains were noticed on all Radeon HD4xxx and HD38xx.
  • Prey OGL — performance gains of up to 15% for Crossfire mode. Performance gains were noticed on Radeon HD4870 1GB products, HD46xx, HD45xx.
  • S.T.A.L.K.E.R.: Clear Sky — performance gains of up to 10% for Crossfire mode. Performance gains were noticed on all Radeon HD4xxx and HD38xx.
  • Unreal Tournament 3 DX9 — performance gains of up to 18% for Single card mode and up to 15% in Crossfire mode, especially in cases where AA is enabled. Performance gains were noticed on all Radeon HD4xxx and HD38xx.

Нас, разумеется, заинтересовало, насколько «бесплатно» с т.з. качества обеспечили эти приросты обе компании — если, конечно, они их вообще обеспечили.

Поэтому мы постарались свести оба списка к какому-то общему знаменателю и, вновь вооружившись утилитой Fraps, сели делать скриншоты. Для того, чтобы оценить максимально возможный отрезок совершенствования драйверов, мы решили сравнить «ускоренные» 180.48 и 8.12 с «релизными» 177.41 и 8.8 — первыми официальными драйверами, в которых появилась поддержка новых видеокарт — GeForce GTX 280 и Radeon HD 4870 X2 соответственно.

Конфигурация системы

  • Intel Core 2 Quad Q9550 / Intel X48 / 4 ГБ DDR2-667 ОЗУ
  • ОС Microsoft Windows Vista 64-bit Service Pack 1
  • AMD Radeon HD 4870 X2, драйвер Catalyst версий 8.08 и 8.12
  • NVIDIA GeForce GTX 280, драйвер версий 177.41 WHQL и 180.48 WHQL

В этом тестировании принимали участие следующие игры:

Внимание: полноразмерные версии скриншотов представлены в формате PNG в полноценном качестве. Размер скриншотов варьируется от 2 до 4 МБ!

Assassin's Creed v1.02 (DX9, DX10)

Прирост производительности в Assassin's Creed упоминается только у NVIDIA, однако нам любопытно посмотреть и на прогресс драйверов AMD в этой довольно требовательной игре.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

Сразу хорошие новости для NVIDIA: наблюдается прирост моментального fps с 37 до 39 в DX9-режиме и с 35 до 37 в DX10-режиме — при этом какая-либо разница в качестве отсутствует, т.е. увеличение производительности достигается без снижения качества рендеринга.

Несколько хуже обстоят дела у Radeon: в DX9-режиме производительность снизилась с 34 до 33 fps, а в DX10 — выросла с 26 до 27. Всё это, разумеется, является не более чем колебаниями в рамках погрешности измерений, т.е. можно сделать вывод, что производительность не изменилась — в принципе, ничего иного AMD и не заявляла (хотя мы не смотрели release notes для драйверов между 8.8 и 8.12 — вполне возможно, что в одном из них AMD и обещала приросты в этой игре).

Картинки между видеокартами отличаются крайне незначительно, а зафиксированная нами разница объясняется отличиями в алгоритмах мип-мэппинга и разными подходами к оптимизации текстурной фильтрации (напомним, что драйверы используют умолчательные настройки, при которых обе видеокарты используют оптимизации трилинейной фильтрации).

Между DX9- и DX10-рендерерами мы зафиксировали две заметных разницы:

  • во-первых, в DX10-рендерере игрой, похоже, используется более высокая степень анизотропной фильтрации, что выражается в более высокой чёткости текстур в сцене;
  • во-вторых, в DX10-рендерере осуществляется фильтрация карт теней — это хорошо заметно на 2-м LOD-уровне тени в левой части скриншота на земле и на стене строения в верхней части.

Любопытно также отметить, что Radeon HD 4870 X2 показала существенно бОльшее падение при переходе в DX10-режим по сравнению с GeForce GTX 280 — GeForce описанная фильтрация теней и повышение уровня AF стоили 5,2% производительности, а Radeon потеряла аж 18,2% при переходе в DX10-режим.

Bioshock v1.1 (DX9, DX10)

Вторая игра сегодняшнего исследования опять-таки фигурирует в обещаниях компании NVIDIA, однако поскольку в ней используется широко распространённый движок Unreal, то нам опять не менее интересно посмотреть и на результаты Radeon.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

GTX 280 вновь показала незначительно ускорение в обоих версиях рендерера — с 68 до 69 fps в DX9 и с 59 до 62 fps в DX10. 4870 X2 свою производительность не изменила: 73 и 51 fps в DX9 и DX10 соответственно (из чего можно сделать вывод, что заявленные AMD приросты в UT3 на другие игры на примерно той же версии движка Unreal не распространяются).

Обе карты в DX9-рендерере и GeForce в DX10-рендерере показали примерно одинаковое качество рендеринга, а вот Radeon в DX10-режиме при использовании Catalyst 8.8 неожиданно «замылила» все текстуры с бамп-мэппингом. В Catalyst 8.12 компания AMD эту проблему устранила и результирующее качество стало идентичным тому, которое продемонстрировала GTX 280 и сама 4870 X2 в DX9-режиме (небольшие отличия, как обычно, списываются на разницу в алгоритмах мип-мэппинга и оптимизаций фильтрации).

Вновь отметим гораздо более существенное падение производительности 4870 X2 при переходе от DX9- к DX10-рендереру — более 40% против 10,2% у GTX 280. Собственно, из-за этого внушительного падения в DX10 Radeon оказывается медленнее GeForce, хотя в DX9 ситуация обратная.

Это тем более странно, учитывая, что мы не зафиксировали какой-либо разницы в качестве рендеринга между DX9- и DX10-рендерерами Bioshock. Давайте поищем её на другой сцене:


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

В этой сцене разница между DX9- и DX10-режимами более очевидна:

  • во-первых, в DX10-рендерере иначе отфильтрована тень на колонне в центре скриншота — она более детализирована;
  • во-вторых, в DX10-рендерере сглажены участки пересечения текстуры дыма с трубой в левой части скриншота — убрана резкая граница, «прорезаемого» трубой дыма.

Метаморфозы случились и с производительностью, причем, вновь отличилась GeForce, ускорение которой на драйвере версии 180.48 в этой сцене в DX10-режиме составило аж 24%, со 108 до 134 fps — в результате чего DX10-рендерер в этой сцене стал на 9% быстрее (!) DX9-рендерера — 134 vs 122 fps. В DX9-режиме же производительность выросла незначительно — со 120 до 122 fps.

Radeon не изменила свой результат в DX9-режиме (180 fps) и чуть понизила его в DX10 (135 -> 133). Возможно, небольшое падение производительности в DX10-режиме связано с тем, что здесь вновь, как и в первой сцене, устранена явная ошибка Catalyst 8.8 с чрезмерным «замыливанием» текстур.

Итоговое качество рендеринга GTX 280 вновь отличается от качества рендеринга 4870 X2 лишь разницей в алгоритмах мип-мэппинга и оптимизаций фильтрации. И вновь внушительное падение производительности на 4870 X2 при переходе к DX10-режиму (на 27%) привело к тому, что явный выигрыш в DX9 сменился равенством с GTX 280 в DX10.

Call of Duty: World at War v1.0 (DX9)

Приросты производительности в этой игре заявлены у компании AMD — до +21% для одночиповых и Crossfire-конфигураций.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9

У игры есть всего один рендерер, который использует API DirectX 9c. Какой-либо разницы в качестве нам обнаружить не удалось. В плане производительности видеокарта Radeon действительно показала прирост по показателю Fraps (примерно на 11%), однако ориентироваться под моментальному fps в этой сцене вряд ли правильно — она динамична, и этот fps постоянно меняется в зависимости от происходящего на экране.

Crysis Warhead v1.0 (DX9, DX10)

Crysis Warhead — первая игра нашего теста, в которой прирост производительности заявлен как AMD, так и NVIDIA.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

В плане производительности результаты неоднозначные: в DX9-режиме GTX 280 даже потеряла 1 fps (21->20), а в остальных режимах прирост минимален и, в целом, вряд ли заметен глазу (GF DX10: 18->20; R DX9: 40->42; R DX10: 33->34).

В плане качества на 4870 X2 в DX9-режиме на обеих версиях Catalyst и DX10-режиме на Catalyst 8.12 текстура земли отрисована с существенно более высокой детализацией, нежели на всех скриншотах с видеокарты GTX 280, а также на скриншоте с 4870 X2 DX10 Catalyst 8.8.

Чем вызвана подобная разница — мы можем лишь предполагать. Гипотезы у нас две: либо на Radeon в DX9 и в DX10 на 8.12 неправильно работает шейдер POM (из-за которого текстуры земли в Crysis и Warhead и выглядят такими размытыми при взгляде под острым углом), либо в трёх из четырёх режимов на Radeon по какой-то не вполне понятной причине включается анизотропная фильтрация.

Разницу между DX9- и DX10-рендерерами Crysis Warhead мы разбирали в одном из предыдущих выпусков и, проще говоря, пришли к выводу, что её фактически нет.

Любопытно опять-таки отметить внушительное падение производительности при переходе в DX10-рендерер на Radeon — теряется почти 20% производительности при том, что GeForce GTX 280 демонстрирует фактически равный результат вне зависимости от используемого рендерера.

Devil May Cry 4 v1.0 (DX9, DX10)

DMC4 — еще одна игра, приросты в которой заявлены у обоих вендоров.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

На GeForce наблюдается ощутимый рост производительности при использовании нового драйвера: с 99 до 104 и с 86 до 90 fps в DX9- и DX10-режимах соответственно.

На Radeon игра, похоже, упирается в программный ограничитель максимальных fps — все 4 скриншота показали результат в 120 fps.

GeForce и Radeon отличаются в этой сцене алгоритмом фильтрации текстур, причем, на GeForce вообще возникает ощущение отсутствия мип-мэппинга на текстуре пола — возможно, что в этой игре владельцам видеокарт GeForce стоит включать опцию Clamp LOD Bias.

В DX9-режиме ни на GTX 280, ни на 4870 X2 мы не обнаружили разницы по качеству между старыми и новыми версиями драйверов.

Зато в DX10-режиме на Radeon при использовании Catalyst 8.8 оказалась существенно сильнее размыта текстура решётки огражения. Давайте посмотрим на другую сцену из этой игры:


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

В этой сцене вновь становится очевидна ошибка Catalyst 8.8, уже проявлявшая себя в Bioshock и исправленная в версии 8.12: все текстуры на 4870 X2 при использовании старой версии драйвера оказываются «замыленными».

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

Что касается производительности, то в DX9 все 4 скриншота показали одинаковый результат в 120 fps, а в DX10 на GTX 280 мы вновь отметили небольшой прирост — со 113 до 119 fps. 4870 X2 в DX10-режиме опять упёрлась в ограничитель fps.

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

Fallout 3 v1.0.0.15 (DX9)

Приросты в Fallout 3 заявлены у компании AMD.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9

Судя по всему, Fallout 3 упирается в возможности CPU — да, даже нашего четырёхядерного Q9550. Именно поэтому все карты на всех драйверах показали практически одинаковые результаты: 61->62 fps у GTX 280 и 64 fps у 4870 X2.

В связи с этим, в общем-то, не совсем понятно, что именно ускоряла AMD в этой игре при помощи драйверов — видимо, искать результаты этой работы следует на видеокартах среднего или низового рыночного сегмента, которые будут достаточно слабыми для того, чтобы игра упёрлась не в CPU, а уже в них. На наш взгляд, лучше бы они задумались об исправлении ошибки в работе шейдера tone mapping.

В плане качества мы не нашли разницы между двумя драйверами на GTX 280 и обнаружили небольшую разницу в качестве текстурирования на Radeon — но нельзя сказать, что на 8.12 качество стало ниже, скорее, наоборот, оно приблизилось к тому, которое демонстрирует GeForce.

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

Far Cry 2 v1.02 (DX9, DX10)

Приросты в Far Cry 2 заявлены обоими вендорами — и весьма щедрые, до 38% у NVIDIA и аж до 57% у AMD.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9
DX10

В DX9-режиме следов обещанного NV прироста производительности на 38% обнаружить не удалось — как было 33 fps на драйвере 177.41, так и осталось 33 fps на драйвере 180.48. У Radeon производительность подросла с 54 до 60 fps — однако этот прирост весьма далёк от обещанных +57%. Впрочем, стоит отметить, что уже сам факт работы Crossfire в новой игре Far Cry 2 при использовании старого драйвера Catalyst 8.8 довольно примечателен.

По качеству какой-либо разницы в DX9-режиме между всеми скриншотами мы не обнаружили.

В DX10-режиме нашёлся обещанный нам прирост на GTX 280: с 33 до 42 fps — не +38, но хотя бы +27 процентов. Качество при этом не изменилось (еще во время выхода Far Cry 2 NVIDIA подробно описывала, за счёт чего был достигнут этот прирост в новых драйверах — поэтому результат был ожидаем), а DX10-рендерер на GeForce уже второй раз за наше исследование оказался ощутимо быстрее DX9-рендерера (а вот это является неожиданностью).

Сообразно с DX9-режимом в DX10 ускорилась и 4870 X2: c 52 до 55 fps. При этом, правда, 42 fps на GeForce выглядят куда как более «честными», чем 55 fps на Radeon — видимо, Far Cry 2 относится к тем играм, в которых сравнивать производительность одночиповых и AFR-видеокарт по fps неправильно, потому как более высокие моментальные и средние fps не гарантируют бОльшей плавности видеоряда.

Наконец, в третий раз за это исследование показал голову баг Catalyst 8.8, выражающийся в чрезмерном размытии некоторых текстур сцены при использовании API DirectX 10 — и опять был исправлен в драйвере версии 8.12. Впрочем, одновременно с этим Catalyst 8.12 стал отрисовывать некоторые объекты ощутимо темнее, чем Catalyst 8.8 и оба драйвера на GeForce. Ошибка, оптимизация или просто на виртуальное солнце набежало виртуальное облако?..

Видеокарты друг от друга вновь отличаются минорной разницей в наложении и фильтирации текстур.

DX9- и DX10-рендереры обеспечивают почти идентичное качество. По сути, единственным замеченным нами отличием стала более «мощная» в DX10-режиме фильтрация теней, очевидная на втором LOD-уровне тени на земле на нашем скриншоте. Забавной особенностью здесь является то, что хоть на эту фильтрацию под DX10 и ушло (предположительно) больше ресурсов, нежели под DX9, её DX9-вариант выглядит предпочтительнее, потому как в нём не столь велика разница между первым и вторым LOD-уровнем тени, которые постоянно маячат перед глазами играющего.

Grid v1.2 (DX9)

18% прироста производительности в Grid были обещаны компанией NVIDIA.


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9

Поскольку в Grid используется довольно продвинутый алгоритм пост-обработки, изрядно «замазывающий» всю сцену приятным для глаза блёром, то искать здесь какую-то малозаметную разницу в плане качества почти бесполезно — она вся скрыта пост-фильтром.

В смысле производительности найти на GTX 280 обещанные 18% прироста нам не удалось: было 50 fps, стало 51 fps. Аналогичный «прирост» показала Radeon — 55->56 fps.

Давайте поищем приросты на другой сцене:


  GTX 280, 177.41 GTX 280, 180.48 4870 X2, 8.8 4870 X2, 8.12
DX9

Здесь рост производительности у GTX 280 чуть более выраженный — с 62 до 65 fps, однако всё еще довольно далёкий от заявленных 18%. На Radeon показатель в 62 fps остался без изменений.

В этой сцене, несмотря на тонны пост-штукатурки, стала заметной некоторая разница в качестве текстурирования между GTX 280 и 4870 X2 — на Radeon переход на первый мип-уровень, видимо, начинается чуть позже, из-за чего чёткость текстур дороги вблизи плоскости экрана несколько выше, чем на GeForce.

Между версиями драйверов разницы по качеству мы опять не обнаружили.

Выводы

Их опять будет несколько:

  • Версия драйвера 180.48 для GeForce действительно принесла приросты производительности (от еле заметных до весьма ощутимых) и при этом никак не повлияла на качество рендеринга.

    Стоит отметить, что наиболее выраженные приросты мы зафиксировали в DX10-рендерерах ряда игр — и эти приросты в некоторых случаях оказались таковы, что DX10-рендерер начал обеспечивать более высокую производительность, нежели DX9-рендерер.

    Вполне возможно, что задача совершенствования DX9-части драйверов в данное время имеет меньший приоритет для NVIDIA, нежели задача совершенствования DX10-части — в этом случае подобные результат перестают казаться странными.

    Стоит также помнить о том, что в теории DX10-рендерер должен быть как минимум не медленнее DX9-рендерера в случае одинаковости обеспечиваемого ими качества финальной сцены — и тут практически одинаковый результат GTX 280 в той же Crysis Warhead начинает выглядеть как правильный.

    Вместе с этим следует отметить, что повальных приростов производительности при переходе с драйвера 177.41 к драйверу 180.48 мы не обнаружили — ряд тестовых сцен не показал вообще никаких приростов, а в некоторых случаях производительность даже чуть снизилась.

    Это позволяет сделать вывод, что зафиксированные (и заявленные NVIDIA) приросты стали, всё-таки, больше результатом целенаправленной оптимизации драйверов под избранные приложения, а не общей оптимизации функций драйвера — хотя и последняя, несомненно, присутствует в той или иной степени, что легко определяется по наличию приростов производительности в приложениях, не заявленных NVIDIA в release notes драйвера 180.48.

  • На Catalyst 8.12 мы зафиксировали существенно меньшие приросты относительно Catalyst 8.8, нежели в случае с драйверами компании NVIDIA.

    Отчасти подобный результат, возможно, объясняется большей производительностью видеокарты Radeon HD 4870 X2, из-за которой она чаще, чем GeForce GTX 280 упирается в использованный нами в исследовании CPU.

    Вместе с этим стоит отметить, что заявленные для Catalyst 8.12 приросты производительности мы не обнаружили даже в сценах, которые явно не упираются в CPU (например, в Crysis Warhead).

    В целом по нашему тестированию, драйвер 8.12 принёс Radeon HD 4870 X2 существенно меньше производительности, чем драйвер 180.48 — GeForce GTX 280, однако как и в случае GeForce эти приросты были достигнуты без снижения качества рендеринга — и даже более того, в отдельных случаях оно повысилось одновременно с приростом производительности за счёт устранения очевидных ошибок старой версии драйвера.

  • Любопытный и несколько неожиданный подвывод этого исследования заключается в том, что видеокарта Radeon HD 4870 X2 по-прежнему (как и видеокарты поколений HD 2000 и HD 3000) теряет сравнительно много производительности при переходе от DX9- к DX10-рендерерам.

    Фактически, подобные переходы в нескольких случаях позволяют видеокарте GeForce GTX 280 нивелировать отставание от Radeon HD 4870 X2 и сравняться с ней по производительности.

    Это довольно грустный вывод для видеокарт компании AMD, потому как вполне очевидно, что чем дальше, тем всё больше и больше игр будет использовать функции API DirectX 10.

    Причём, стабильность подобных результатов Radeon на протяжении последних полутора лет позволяет предположить, что сама архитектура этих видеокарт (которая между HD-поколениями изменялась относительно мало) хуже, чем архитектура GeForce подходит для исполнения шейдеров DirectX 10.

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

Общий же итог нашего исследования таков: и NVIDIA, и AMD обеспечили рост производительности в последних версиях своих драйверов без вреда качеству рендеринга.

Надеемся, что и в наступившем 2009 году обе компании останутся верны этому принципу.