Опубликовано 10 января 2006, 00:33

Антиалиасинг и анизотропная фильтрация сегодня: что, где и почем? Часть вторая

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

Читайте также первую часть обзора.

Мы исследовали практическую сторону работы антиалиасинга и анизотропной фильтрации у современных графических ускорителей ATI и NVIDIA. Чтобы выяснить, у кого работа AA и Aniso реализована наиболее эффективно, мы взяли две совершенно стандартные видеокарты на чипах ATI Radeon X800 Pro и NVIDIA GeForce 6800GT и протестировали их в наиболее популярных компьютерных играх, которые использовали разные разрешения и различные уровни AA и Aniso.

Тестовый стенд

  • материнская плата: MicroStar K 7 N 2 Delta (nForce 2 Ultra 400);
  • процессор: AMD Athlon XP 3200+ Barton (200 x 11 = 2200 МГц);
  • память: 2 x 512 MB DDR PC 3200 Kingston (двухканальный режим, тайминги 5-3-3-2);
  • винчестер: Maxtor Diamond 9 Plus 120 GB (8 MB Cashe).

Операционная система, тестовые программы, драйверы и настройки

  • Система: Microsoft Windows XP SP1 ENG
  • DirectX 9.0b
  • драйвер для видеокарт NVIDIA – ForceWare 71.82 WHQL;
  • драйвер для видеокарт ATI – Catalyst 5.3 WHQL;
  • драйверы NVIDIA: оптимизации трилинейной фильтрации включены, анизотропной также включены по умолчанию;
  • драйверы ATI – оптимизации трилинейной фильтрации включены по умолчанию.

Все излишества и «красивости» в операционной системе убирались, система настраивалась на максимальное быстродействие.

Vsync принудительно отключался через драйверы как в OpenGL, так и в Direct 3 D-приложениях. Технология сжатия текстур S3TC также отключалась.

Тестовые программы

  • Valve Software/Vivendi Universal Games Half-life 2 (DirectX 9.0, пиксельные и вершинные шейдеры версии 2.0);
  • Activision/id Software Doom 3 (OpenGL, мультитекстурирование);
  • Irrational Games/Vivendi Universal Games Tribes: Vengeance (DirectX 9.0, пиксельные и вершинные шейдеры 2.0 для карт ATI, Hardware T&L);
  • Crytek / UbiSoft FarCry 1.3 (DirectX 9.0, пиксельные и вершинные шейдеры версии 2.0, мультитекстурирование);
  • Digital Extreme/Epic Games Unreal Tournament 2004 (Direct3D, Hardware T&L, Dot3, cube texturing).

Результаты тестирования

Для начала давайте рассмотрим эффективность работы ATI Radeon X800 Pro и NVIDIA GeForce 6800GT при различных режимах антиалиасинга.

Отчётливо наблюдается падение производительности, особенно в высоких разрешениях. Если в 1024х768 общее количество кадров в секунду в Far Cry снижается на пару процентов, то в 1600х1200 падение для продукта ATI составляет 15% при включении AA4x и на 30% при AA6x. В то же время производительность NVIDIA GeForce 6800GT в разрешении 1024х768 значительно падает лишь при включении AA8xS. Что касается более высоких разрешений, то в 1600х1200 падение производительности составляет: AA4x – 15 % и AA8xS – 30%. Сравнивать падение производительности у продуктов ATI и NVIDIA корректно лишь при AA4x, более требовательные режимы различаются. На практике всё обстоит именно так, качество картинки в Far Cry действительно лучше на NVIDIA GeForce 6800GT при использовании AA8xS. При антиалиасинге AA4x обе видеокарты показывают одинаковое качество картинки. Что касается падения производительности, то при переходе к AA4x оба продукта показывают результат в 15%.

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

Давайте посмотрим и сравним общую производительность.

При небольших разрешениях и режиме антиалиасинга 2х продукты ATI и NVIDIA демонстрируют примерно одинаковый уровень производительности, однако стоит повысить разрешение до 1600х1200, как GeForce 6800GT показывает 5 fps преимущества над своим канадским конкурентом.

Включаем AA4x – картина примерно та же, однако преимущество продукта NVIDIA начинает проявляться уже в разрешении 1280х1024, а в 1600х1200 оно и вовсе приближается к 25 %.

Увеличиваем нагрузку: режим AA6x, возрастают требования к пропускной способности памяти, и как видим, с этим у GeForce 6800GT дела обстоят лучше, нежели у Radeon X800 Pro, однако приемлемый уровень fps последнего не падает даже в самом высоком разрешении. Даже в 1600х1200 при AA6x Radeon обеспечивает минимальный fps для комфортной игры.

В Doom 3 падение производительности наблюдается у обеих видеокарт даже в самых лёгких режимах. При включении AA6x, ATI Radeon X800 Pro теряет 42–56 % fps в зависимости от разрешения, в то время как конкурент в лице GeForce 6800GT показывает в идентичных условиях тестирования производительность на 15–39% fps. Как видим, на этом тесте продукт NVIDIA показывает более эффективную работу с антиалисиногом, нежели видеокарта ATI, ну а если вспомнить про политические игры и про любовь DooM III и карт NVIDIA, то данный вывод становится вполне логичным. А что с качеством картинки? Здесь NVIDIA также опережает ATI, картинка, выдаваемая продуктом канадской компании, несколько хуже той, которую можно лицезреть на GeForce.

Включение в Doom 3 AA 6 x у ATI Radeon X800 Pro и AA 8 xS у NVIDIA GeForce 6800GT противопоказано обеим видеокартам, fps падает катастрофически, и если в разрешении 1024х768 играть можно, то в более высоких разрешениях fps падает до непозволительно низкого уровня, который попросту является неиграбельным.

В компьютерных играх Unreal Tournament 2004 и Doom 3 картина с общим fps идентична увиденной нами в FarCry: разница между общим количеством fps NVIDIA GeForce 6800GT и ATI Radeon X800 Pro увеличивается явно не в пользу последнего, по мере того как растёт нагрузка на пропускную способность памяти и на пиксельные конвейеры. Однако и тут стоит вспомнить про одно «но»: дело в том, что у ATI X800 Pro 12 пиксельных конвейеров, в отличие от NVIDIA GeForce 6800GT, у которого их 16, да и вообще X800 Pro слегка дешевле своего конкурента, хотя оба они позиционируются как средний ценовой класс.

В Half-Life 2 NVIDIA опять же имеет небольшое, но всё-таки преимущество над ATI, что, как мы говорили выше, неудивительно. Падение производительности Radeon X800 Pro (6-18%) несколько выше такового у GeForce 6800GT (1-14%). Однако качество картинки лучше у ATI.

Что касается общего fps, то Half-Life 2 демонстрирует существенно меньшее преимущество калифорнийской компании над её канадским конкурентом, и всё же в некоторых разрешениях и режимах AA преимущество NVIDIA достигает 8-10 fps. И снова вспомним про политику. Если DooM III  – это продукт, посвящённый платам NVIDIA, то с HL 2 всё с точностью до наоборот, и его скорость и качество проявляется гораздо лучше на платах ATI.

Теперь давайте рассмотрим производительность видеокарт при различных режимах анизотропной фильтрации.

Компьютерная игра FarCry показывает примерно одинаковые результаты у обеих видеокарт. Ни у одной из карт практически не наблюдается падения производительности. Общий fps падает всего на один – два процента, что вписывается в рамки погрешности тестирования. Как видим, обе видеокарты одинаково хорошо справляются с анизотропной фильтрацией. Однако стоит отметить, что качество картинки лучше у NVIDIA.

А в некоторых режимах и разрешениях Unreal Tournament 2004 мы наблюдаем преимущество NVIDIA GeForce 6800GT. Однако, и падение fps немного выше у карты NVIDIA. Преимущество в качестве выводимой картинки также в активе последнего.

Легендарный Doom 3 показывает явное преимущество продукта NVIDIA, однако это не говорит о более эффективном использовании антиалиасинга калифорнийским продуктом. Ни для кого не секрет, что Doom 3 лучше работает с продуктами GeForce, и разрабатывался он в тесном сотрудничестве с NVIDIA. Оценить эффективность работы антиалиасинга нам поможет анализ падений производительности у видеокарт ATI и NVIDIA при включении различных режимов анизотропной фильтрации. Картина аналогична увиденной нами в Far Cry: общий fps падает всего на половину – один процент, что вписывается в рамки погрешности тестирования: обе видеокарты одинаково хорошо справляются с анизотропной фильтрацией.

В Half-Life II общий fps, демонстрируемый ATI Radeon X800 Pro, падает на 8-16%, в то время как NVIDIA GeForce 6800GT показывает несколько меньшее падение производительности (3–11 %), нежели конкурент. Стало быть, GeForce 6800GT лучше справляется с анизотропной фильтрацией в Half Life II. Однако качество картинки, демонстрируемое Radeon X800 Pro, превосходит таковое у продукта NVIDIA.

Напоследок мы решили посмотреть, как проявят себя графические решения ATI и NVIDIA в смешанном режиме работы, то есть при включении AA и Aniso.

Подобьём результаты по падению производительности:

  • Far Cry: 5 – 28 % у ATI и 6-21% у NVIDIA;
  • Unreal Tournament 2004: 5 – 18 % у ATI и 6-11% у NVIDIA;
  • Doom 3: 34 – 50 % у ATI и 2-40% у NVIDIA;
  • Half Life II: 7 – 29 % у ATI и 4-20% у NVIDIA.

Напомним, что сравнивать падение производительности при антиалиасинге у продуктов ATI и NVIDIA корректно лишь при AA4x.

Напоследок отметим, что включение тяжёлых режимов, таких как AA6x+Aniso16x у ATI и AA8xS+Aniso16x у NVIDIA, очень сильно снижает производительность видеокарт – частенько она опускается до критической отметки меньше 30 fps. Это отчётливо видно на примере Doom 3 и Half Life II в высоких разрешениях.

Итого

Выводы делать очень сложно. Однозначно сказать, какой продукт, ATI или NVIDIA, справляется с антиалиасингом и анизотропной фильтрацией лучше, очень сложно. Оба вендора используют различные оптимизации. Компания NVIDIA это признала и, что самое главное, пояснила алгоритм оптимизаций. Что касается канадского производителя графических чипов, то компания ATI не только не признала использования оптимизаций, но и не удосужилась пояснить алгоритмы оптимизаций. Сами же оптимизации направлены на увеличение производительности без заметного ухудшения качества изображения. Однако вопрос качества изображения всегда был достаточно спорным: в одном случае действие оптимизаций незаметно, в другом – заметно, и достаточно сильно. Порой скриншоты не могут сказать много, но стоит запустить игру, и в некоторых из них оптимизации начинают «шалить», появляются такие неприятные моменты, как мерцание или муар.

Производители графических решений не стараются сделать продукты лучше, не работают над улучшением картинки при использовании антиалиасинга и анизотропной фильтрации, все их усилия (см. оптимизации) направлены исключительно на то, чтобы «сделать конкурента по общему количеству fps в очередном творении игроделов». Всё это печально. И если оптимизации в Middle-end продуктах ещё можно понять, то Hi-End сектор… Зачем? Ведь те же NVIDIA GeForce 6800GT и ATI Radeon X800 Pro могут обеспечить достаточное количество кадров в секунду даже в самых тяжёлых режимах, без оптимизаций, с полноценными антиалиасингом и анизотропной фильтрацией. На деле получается, что потребитель платит огромные деньги, а в итоге не имеет даже полноценной трилинейной фильтрации. Поэтому подход компании NVIDIA, которая сделала возможность отключения оптимизаций в своих драйверах, кажется наиболее правильным – пользователь сам может выбирать, нужны ему те или иные оптмизации или нет. У компании ATI с выбором дела обстоят несколько хуже, однако установив Catalyst Control Center, у пользователя также появляется возможность отключения оптимизаций под конкретную игру (Catalyst A. I.), что же касается оптимизаций, которые нельзя отключить в драйвере никаким способом, то тут таковые имеются и у ATI, и у NVIDIA.