МИР NVIDIA / Сравнительный анализ карт на чипах GeForce2 Ti, GeForce4 MX440 и GeForce3 Ti200 

Сравнительный анализ карт на чипах GeForce2 Ti, GeForce4 MX440 и GeForce3 Ti200

04.05.2002




Введение

Положение витязя, с одноименной картины В.М. Васнецова, точь-в-точь характеризует ситуацию, в которой сейчас находятся многие пользователи, считающие, что пришло время обновить видеосистему своего железного коня. Выбор правильного пути крайне осложнен туманностью инструкций, выбитых на камне. Перспектива - еще более загадочна. Пользователи так же ходят вокруг камней (бумажных и интернет изданий и онлайн конференций) озабоченные правильностью вложения денег в ту или иную карту, оценивают как их перспективы, так и вечно заманчивую возможность "подождать еще немного". Ждет и витязь, подозрительно поглядывая и еще на одну перспективу, лежащую у подножья камня и всем своим видом словно обыгрывающую рекламный слоган: - "он тормознул, не сникерснул" :)

Ситуация, таким образом, сложилась благодаря выходу, на уровень майнстрим, поочередно сменяя друг друга, на протяжении короткого промежутка времени, сразу нескольких решений компании NVIDIA. В своем стремлении представить свои продукты на всех рынках видеокарт, начиная от интегрированных решений, заканчивая профессиональными, NV добилась определенных успехов. Но, конкурентная борьба привела ее к выпуску незапланированных, "сиюминутных" решений, призванных служить ответом на выходящие продукты конкурента, которые могли стать лучшим выбором. Линейки чипов компании, таким образом, стали "раздуваться" и почти пересекаться. Самые дорогие решения на базе GeForce2 Ti приближаются по цене к стоящим на ступеньку выше, рожденным в конкурентной борьбе, GeForce3 Ti200. Но мало того, в эту узкую ценовую щель между ними, встал еще один продукт - новый чип компании, GeForce4 MX, призванным заменить их обоих на уровне майнстрим, отправив GeForce2 Ti на уровень Value, а GeForce3 Ti200 в … небытие.

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

Спецификации чипов:

  GeForce2 Ti GeForce4 MX440 GeForce3 Ti200
Чип:
Кодовое имя NV15A NV17 NV20
Технологический процесс, мкм 0.18 0.15 0.15
Рабочая частота, МГц 250 270 175
Конвейеров 4 2 4
Текстурных блоков в конвейере 2 2 2
Наложение текстур за проход 2 2 4
Скорость заполнения в режиме мультитекстурирования, млн. пикселей (текселей) 1000(2000) 540(1080) 700(1400)
Память:
Тип DDR SDRAM DDR SGRAM DDR SDRAM
Объем, МБ 64 64 64
Шина обмена с чипом, бит 128 128 128
Рабочая частота, МГц (с учетом DDR) 400 400 400
Технологии экономии полосы пропускания памяти нет Light Speed Memory Architecture 2 Light Speed Memory Architecture
3D-возможности:
Наложение рельефа:      
- Emboss + + +
- Environment - - +
- DOT3 Product + + +
Кубические карты среды (CEM) + + +
Объемные текстуры - - +
Компрессия текстур + + +
Анизотропная фильтрация + + +
Уровни анизотропии 2 2 2, 4, 8
Антиалиасинг:      
- Суперсэмплинг + - -
- Мультисэмплинг - + +
Вершинные шейдеры - 1.1(?) 1.1
Пиксельные шейдеры - - 1.0, 1.1
2D-возможности:
RAMDAC, МГц 350 350x2 350
DVI + + +
TV-out + + +
Возможность работы одновременно с двумя мониторами/монитором и TV -/- +/+ -/-
Аппаратная декомпрессия MPEG2 - VPE engine -

В первую очередь, конечно, интересен чип GeForce4 МХ, поскольку он, как уже было сказано, призван, со временем, вытеснить с рынка и GeForce2 Ti, и GeForce3 Ti200. Чип содержит довольно много нововведений, как в сравнении с GeForce2 Ti, так и в сравнении с GeForce3 Ti200. Рассмотрим наиболее важные из них.

nView:

Мультимониторные конфигурации:

Наиболее интересное и значительное нововведение - полноценная поддержка работы с несколькими мониторами (как цифровыми, так аналоговыми) и TV. Открываемые возможности заинтересуют, прежде всего, людей, профессионально работающих с двухмерной графикой, постоянно имеющих дело с многочисленными окнами приложений (дизайнеры, программисты и т.п.). Простых же пользователей, не оставит равнодушными расширенные возможности TV-Out.

В чип GeForce 4MX интегрированы:

  • два CRTC-контроллера,
  • два 350MHz RAMDAC
  • TMDS-передатчики для управления цифровыми мониторами
  • LVDS -передатчики для управления LCD-мониторами ноутбуков.
  • система обработки видео VPE
  • поддержка TV-Out

nView представляет несколько режимов работы с несколькими мoнитoрaми.

Обычный режим копирования изображения на второй монитор:

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

Расширение и растягивание рабочего стола на второй монитор:

Расширение

Растягивание

Эти два режима очень похожи. Разница лишь в том, что в первом случае мы получаем просто дополнительное рабочее место, а во втором растягиваем рабочее пространство первого монитора (обратите внимание на панель задач). Разрешение на обоих мониторах, как и в случае клонирования изображения, может быть различным.

Рабочее пространство второго монитора, можно использовать не только для работы, но и, например, просмотра фильмов. В качестве второго монитора, может выступать и телевизор, подключенный к TV-Out карты.

Это только чисто аппаратные возможности nView. Помимо них, есть и возможности программные, управлять которыми призвана утилита NVIDIA Desktop Manager (менеджер рабочего стола). Эта утилита входит в дистрибутив драйверов NVIDIA и обеспечивает дополнительные удобства при работе как с одним, так и с несколькими мониторами, давая возможность управлять окнами, эффектами, создавать виртуальные рабочие столы и назначать горячие клавиши основным функциям управления:



VPE - Video Processing Engine

Чип GeForece4 MX440 содержит аппаратный декодер MPEG-2. Наиболее значимой его особенностью является поддержка адаптивного попиксельного деинтерлэйсинга - механизма переработки потока, состоящего из чередующихся "четных" и "нечетных" строк, в "единое" изображение. Ранее, для этого использовались два наиболее простых и общих метода деинтерлэйсинга - weave and bob.

Weave - комбинирует две смежных области, чтобы создать кадр. Этот метод хорошо работает с неподвижным изображением, но дает артефакты в виде "зубцов" в движении.

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

Попиксельный адаптивный деинтерлэйсинг - посредством применения специальных алгоритмов чип определяет, есть ли движение для данного пикселя на экране и, в зависимости от этого, использует для него методы BOB и Weave. Это дает лучшее качество воспроизведения DVD.

Однако, на данный момент, с VPE Engine у GeForce4 MX вышла небольшая заминка. На данный момент нам не известно ни одного проигрывателя, способного работать с этим новым движком декодирования MPEG-2, за исключением бета версия программы NVDVD, от самой NVIDIA. Но этот проигрыватель недоступен простым пользователям, которым пока предлагается лишь прочесть официальный пресс-релиз, рассказывающий о возможностях NVDVD и насладится скриншотом его интерфейса.

Итак, 2D-возможности GeForce4 MX, значительно улучшены, как в сравнении с GeForce2 Ti, так и в сравнении с GeForce3 Ti200. В чипе сохранены все 2D-новшества GeForce4 Ti, и даже добавлены новые! Движок VPE - это прерогатива GeForce4 MX, и у GeForce4 Ti он отсутствует.

LightSpeed Memory Architecture II

Основным отличием чипа GeForece4 MX440 от GeForce2 Ti, применительно к скорости обработки трехмерной графики, является в корне переработанный контроллер памяти, включенный в целую систему оптимизаций по работе с ней, под общим названием Light Speed Memory Architecture II (LMA II).

LMA II включает в себя:

  • Crossbar Memory Controller - "Перекрестный" контроллер памяти:
  • Quad Cache - кэширования данных памяти
  • Z-Occlusion Culling - удаление скрытых поверхностей
  • Lossless Z Compression - компрессия данных Z-буфера без потерь
  • Fast Z-Clear - быстрая очистка Z-буфера
  • Auto Pre-Charge - предварительная активация страниц памяти

"Перекрестный" контроллер памяти

GeForce3 обладал контроллером памяти, расщепленным на четыре независимых 32-битных контроллера, что обеспечивает ему максимальную эффективность при обращении к блокам данных, размерами 64, 128 и 256bit. Это позволяет, теоретически, поднять пропускную способность памяти в четыре раза, в сравнении со стандартными решениями. На практике все, конечно, зависит от "интеллектуальности" самого контроллера, выбирающего наиболее оптимальный, для каждого обращения, шаблон.

GeForce4 MX, так же обладает расщепленным контроллером памяти, но уже не четыре, а лишь на два контроллера (64-битных).

Это обеспечивает ему максимальную эффективность при обращении к блокам данных размерами 128 и 256bit. К 64-битным же, обращение пойдет в лучшем случае по 128битному шаблону, что вдвое снизит эффективность такого обращения к памяти, в сравнении с контроллером GeForce3. Тем не менее, такое решение хоть и не столь мощно, но позволяет повысить эффективность контроллера памяти, теоретически, до двух раз, в сравнении со стандартными решениями.

Пример же "стандартного решения" - это как раз GeForce2 Ti, который проводит все операции с памятью только 256-битными блоками и, поэтому, теряющий 100-процентную эффективность каждого обращения, при котором размер данных в блоке меньше 256-ти бит.

Подсистема кэширования памяти QuadCache

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

Z-Occlusion Culling

Тот самый, HSR - технология удаления скрытых поверхностей. В трехмерных сценах, одни объекты, практически всегда, перекрывают другие. Чипы "стандартной" архитектуры (например, GeForce2) рисуют каждый пиксель каждого треугольника, независимо от того, виден ли он сейчас или закрыт пикселем другого треугольника. Это значительно нагружает шину памяти передачей "ненужных" данных, ведь для определения значений цвета и глубины всех пикселей (в том числе, и невидимых в сцене) требуется обращение к кадровому буферу. Система Z-Occlusion Culling пытается определить "видимость" пикселя и, если она обнаружит, что пиксель не видим, то обращения к памяти, за данными о его цвете и глубине, не происходит. Экономится полоса пропускания памяти. Эта замечательная особенность появилась еще в GeForce3 и, судя по информации NVIDIA, поддерживается чипом GeForce4 MX

Компрессия данных Z-буфера без потерь

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

Быстрая очистка Z-буфера

Очистка "устаревших" данных Z-буфера (забивание их нулями) отнимает время и пропускную способность памяти. Чип GeForce4 MX440 включает технологии, минимизирующие время на эту операцию.

Предварительная активация страниц памяти

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

Многие из представленных возможностей уже знакомы нам по чипу GeForce3, но некоторые появились впервые. Новинками в архитектуре LMA II в сравнении с LMA можно считать:

  • Подсистема кэширования памяти QuadCache
  • Быстрая очистка Z-буфера
  • Предварительная активация страниц памяти

Но, на ряду с улучшением архитектуры памяти, в сравнении с GeForce2, чип Geforce4 MX, как бюджетный, коснулось и ее обрезание, в сравнении с GeForce4 и даже GeForce3. В первую очередь обращает на себя внимание "упрощенный" контроллер памяти. Далее, точно не известно, все ли перечисленные оптимизации присутствуют в чипе GeForce4 MX, равно как неизвестно, все ли они отсутствовали ранее у GeForce3. Например, подсистема кэширования QuadCache, по мнению NVIDIA - это новшество LMA II (в архитектуре LMA, у GeForce3, никаких "Quad-кэшей" заявлено не было, но это совсем не значит, что их там нет). Скорее всего, их, в свое время, просто не сочли нужным представить, а теперь выкатили как новинку, "приплюсовав" к особенностям LMA II. Более того, определенная система кэширования данных есть даже у GeForce2 (кэш вершин, по крайней мере!). Все это мы говорим к тому, чтобы вы не судили о качестве подсистемы памяти карт только по количеству заявленных производителем для нее "фич". Никакие, самые подробные спецификации, не заменят реального сравнения карт, поэтому, завязываем с теорией и переходим к практике.

Знакомьтесь, ASUS V8170

Карта имеет AGP 2.0 конструктив и выполнена почти по референс-дизайну NVIDIA. Отступлением от "эталона" является лишь пара джамперов, задающих систему цветности сигнала для TV-Out (PAL/SECAM/NTSC) и не предусмотренных дизайном NVIDIA.

Первое, что обращает на себя внимание при осмотре карты - отсутствие заявленной для чипа работы с несколькими мониторами и DVI. Можно предположить, что это сделано ASUS для удешевления своего продукта, но это крайне сомнительно, ибо "сэкономлен", в данном случае, лишь … VGA (или DVI) разъем. И это при всем притом, что вся необходимая разводка на плате имеется, а кроме нее ничего не требуется. Такие элементы, как TMDS-передатчик и второй RAMDAC, обеспечивающие поддержку DVI и работу с несколькими мониторами, интегрированы в сам чип GeForce4 MX. Этот странный казус нельзя оставить только на совести ASUS, обвинив его в "экономии на скрепках". На данный момент, ни один другой производитель не выпустил "двухголовый" вариант MX440, что позволяет предполагать попытку искусственно разделить, таким образом, карты на "обычные" и "продвинутые", выпустив последние позже с минимальными затратами и по большей цене. Второй причиной, этой действительно ставшей всеобщей "экономии", могут быть проблемы в самом чипе(!) GeForce4 MX440, который, кстати, называется совсем не так:

Вот такой чип, выпущенный в декабре 2001года и маркированный не официальным названием, а кодовым именем "NV17", установлен на серийной карте ASUS V8170. Аналогично маркированные чипы стоят на картах и других производителей. Помня, что кодовыми именами обычно маркируют чипы, выпущенные еще до официального анонса, или их инженерные сэмплы, можно предположить, что у NVIDIA, каким-то образом, скопилось большое количество таких "ранних" чипов, которые имеют проблемы, например, со вторым RAMDAC. Впоследствии, ревизия чипа может быть по-тихому обновлена и мы получим долгожданную мультимониторность. Но, все это, разумеется, лишь догадки и не стоит их воспринимать слишком серьезно. :-)

На карте установлена DDR SGRAM память производства Samsung, со временем выборки 5ns, что точно соответствует заявленным для карты частотам ее работы - 400MHz.

Такая "точность" не может не огорчать оверклокеров, ибо память, уже работающая на своей штатной частоте, без малейшего запаса, вряд ли будет обладать выдающимся разгонным потенциалом. На картах других производителей можно встретить тот же Samsung, но уже 4ns, что соответствует уже 500MHz, что, разумеется, более предпочтительно для разгона. Это предупреждение оверклокерам, при покупке обращайте внимание на память - благо, радиаторами она не закрыта. Впрочем, радиаторы на памяти MX440 действительно ни к чему. Она практически не греется, в сравнении с GeForce3 Ti200 или GeForce2 Ti, несмотря на то, что работает на той же частоте 400MHz.

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

Разгон:

При наличии дополнительного охлаждения (вентилятор, установленный на радиатор), карта устойчиво работала на частотах 310MHz ядро и 460MHz память. Если потенциал ядра довольно неплох (достигается частота GeForce4 MX460), то разгон памяти можно назвать посредственным, но вполне предсказуемым для памяти Samsung 5ns. Частоты MX460, таким образом, оказались недостижимы, что не дало возможность "смоделировать" эту карту на базе имеющейся MX440. От тестирования разогнанного варианта MX440 было решено отказаться и провести сравнение только на штатных частотах.

Система:

Процессор AMD Duron (Spitfire) 1000MHz (133x7.5)
Материнская плата Abit KT7A
Системная память 256MB SDRAM PC133 (CL2)
Жесткий диск IBM DTLA 305020
Звуковая карта Creative Sound Blaster Live! 1024 Value
Монитор Samsung SyncMaster 700IFT
Программная часть Windows98 SE, DirectX8.1
Версии драйверов Detonator 27.42
Видеокарты ASUS V7700Ti Deluxe 64MB,
ASUS V8170 64MB,
ASUS V8200T2 Pure 64MB

Тестирование 2D:

После выхода обзора "Сравнительный анализ Radeon 8500LE и GeForce3 Ti200", мы получали письма, в которых читатели выражали несогласие с утверждением о достаточно быстром 2D современных карт. Многие видят разницу в скорости прорисовки 2D-графики в тех или иных приложениях. Возможно это так. Но, проблема состоит в том, что на данный момент не существует тестов, пригодных для объективного сравнения скорости 2D-графики в современных приложениях. Единственный тест, использующий реальные движки популярных офисных программ - Ziff Davis Media WinBench 99 уже заметно устарел. Результаты используемых им для тестирования офисных программ, таких как MS Office 97, Lotus SmartSuite 97, Corel WordPerfect Suite 8 и профессиональных Photoshop 4.0 Premiere 4.2 и т.п. довольно смутно коррелируют с современными версиями этого ПО. Правда, должен признать, что заявлять об "отсутствии разницы", как минимум, не попытавшись доказать этого, было не совсем корректным. Поэтому - встречайте, тесты скорости 2D по WinBench 99:


Разницы не видно. Имеет ли смысл гонять WinBench в дальнейшем? Думаю, нет. Нам остается только ждать, когда же ребята из Ziff Davis выпустят что-нибудь новое, соответствующее духу времени.

Что же касается качества 2D, могу отметить только отсутствие какой-либо разницы между рассмотренными картами, на мониторе Samsung 700IFT. В "крейсерском" для него режиме 1024х768х32 100Hz они дают одинаково четкую картинку. Напомню, так же, о субъективности подобного рода сравнения, а так же, о возможной зависимости его результатов от конкретной связки "монитор-видеокарта", или даже конкретного экземпляра карты.

Тестирование 3D:

Настало время выяснить, кто есть кто, среди рассмотренных карт, в плане качества и скорости 3D-графики, оценить перспективы их приобретения, а также возможного апгрейда. Основными соперниками будут, разумеется, GeForce2 Ti и GeForce4 MX440. Брэндовый GeForce3 Ti200 стоит несколько дороже, и его производительность будет служить, скорее, ориентиром на перспективность вложения "лишних" 30у.е. при покупке новой карты или возможности апгрейда GeForce2 Ti.

Также будет рассмотрена производительность карт в 16-битном цвете. Это "дань" тому же GeForce2 Ti и его владельцам, подчас предпочитающим играть именно при таких настройках, получая, тем самым, максимальную производительность, часто превышающую производительность GeForce3 Ti200 в 32-битном цвете. Об этом, возможно, еще не все знают, и не будет лишним еще раз прояснить всем владельцам GeForce2, чего им ждать от GeForce3 (ну и, разумеется, от GeForce4 MX440).

Синтетические тесты 3DMark 2001:

Fill Rate

Максимальной скоростью заполнения, по спецификациям, обладает чип GeForce2 Ti. Для него было заявлено 2 гигатекселя в секунду! Но результат получился в два раза ниже теоретического, поскольку чип не может накладывать более двух текстур за такт (а тест поддерживает такую возможность). Аналогично, двукратно "заниженным", оказался и результат MX440. GeForce 3Ti200, с его 4-мя текстурами за такт, показал, во-первых, максимальный результат, во вторых - близкий к теоретически возможному.

В 32-битном цвете, GeForce2 Ti совсем плох. Этот мощный, четырехконвейерный чип, показывает результат, сродни двухконвейерному MX440, которого удержала от падения его LightSpeed II архитектура памяти. GeForce3 Ti200 недосягаем и снова показывает результат, близкий к теоретически возможному.

High Polygon Count

Тест демонстрирует чистую мощность блока T&L карты. Его результаты зависят, в основном, от частоты GPU и минимально от других параметров. Тем не менее, для его проведения выбрано небольшое разрешение, чтобы минимизировать влияние скорости заполнения. Результат неудивителен - MX440, имея самую высокую частоту GPU, имеет наибольшую скорость работы блока T&L, а GeForce3 Ti200 наименьшую.

Vertex Shader

Тест демонстрирует скорость выполнения вершинных шейдеров, но перед тем, как перейти к анализу результатов, необходимо сделать небольшое отступление. Вершинными шейдерами задается трансформация и освещение модели, и они могут эмулироваться программно. GeForce2 Ti вершинные шейдеры не поддерживает и, соответственно, для него, запуск этого теста, в режимах "Software T&L" и "Hardware T&L", будет равнозначен. Для GeForce4 MX440, официально поддержка вершинных шейдеров так же не была заявлена, но по некоторым источникам он таки их поддерживает (версию 1.1).

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

Аппаратная поддержка вершинных шейдеров в GeForce4 MX440 однозначно есть. Несколько смущает только низкая скорость их программной эмуляции на этой карте. Что-то ей мешает, …быть может, кривой драйвер.


Результат же аппаратного исполнения вершинных шейдеров, на GeForce3 Ti200, превосходит их программную эмуляцию, на Duron 1000MHz, лишь на 10%. Не значит ли это, что вершинные шейдеры, исполняются программно (или "почти программно") и на GeForce3 Ti200!? Проверим это, значительно снизив частоту центрального процессора.

Если разрыв между аппаратным и программным исполнением в этом случае сохраниться прежним (~10%) то это может говорить о почти полном программном исполнении вершинных шейдеров на GeForce3 Ti200.

Если же результат аппаратной обработки, на более слабом CPU, значительно не упадет и, соответственно, разница между аппаратной и программной обработкой возрастет, значит можно говорить, как минимум, о том, что скорость исполнения вершинных шейдеров, чипом GeForce3 Ti200, не сильно превосходит их эмуляцию современными CPU.

Получается именно второй вариант. При использовании более слабого CPU, скорость аппаратной обработки шейдеров упала незначительно (на 8%), программная же эмуляция стала медленнее на 26%. Аппаратное исполнение шейдеров стало превосходить эмуляцию на 37%, а не на 10%, как это было при использовании процессора Duron 1000 MHz. Итак, шейдеры GeForce3 Ti200 исполняются действительно аппаратно, но на скоростях, близких к возможностям современных CPU. Это может показаться разочаровывающе низким результатом, но не стоит забывать, что тест синтетический, измеряющий скорость расчета вершинных шейдеров независимо от всего остального. В реальной же игре, программный расчет шейдеров не будет иметь перед другими задачами, выполняемыми CPU, никакого приоритета. Поэтому, возможность переложить часть работы CPU на GPU (например, морфинг объектов в трехмерной сцене, описанный вершинным шейдером), принесет намного большие преимущества. Ведь GPU рассчитает морфинг через шейдер не хуже CPU, в то время как сам CPU считает, например, физику.

DOT3 Bump Mapping

Скромно опустив тестирование пиксельных шейдеров и наложение рельефа методом EMBM, как неподдерживаемые ни GeForce2 Ti, ни GeForce4 MX440, переходим сразу к DOT3 Bump Mapping.

Быстрее всех, рельеф методом DOT3 Product накладывает GeForce3, что может ему дать преимущества в играх, активно использующих этот метод текстурирования (например Giants).

Direct3D тесты:

Начнем тестирование Direct3D-приложений, продолжив изучение тестов 3DMark 2001, но теперь уже игровых

Общий результат:


Общий результат позволяет лишь довольно грубо оценить производительность карт. По нему не понятно, кто, где, у кого и сколько выиграл. Ясно только, что ВЫИГРАЛ. :-) Причем, эта "ясность" довольно обманчива, поскольку приведенные выше "попугаи", рассчитываются по результатам всех игровых тестов, по следующей формуле:

(Game1LowDetail+Game2LowDetail+Game3LowDetail)x10 +
+ (Game1HighDetail+Game2HighDetail+Game3HighDetail+Game4)x20

Отсюда следует, что, например, GeForce3 получит больше попугаев, чем GeForce2 Ti хотя бы только потому, что на первом прошел тест "Game4 Nature". При этом, даже если в остальных тестах результат был равным, "попугаев" у GeForce3 все равно будет больше! Не думаю, что это корректная методика сравнения скорости карт. Переходим непосредственно к игровым тестам, в которых можно сравнивать скорость карт, независимо от того, запустилась на них "натура" или нет.

Рассмотрим только LowDetail тесты, как наиболее зависимые именно от скорости ускорителя, а не от CPU.

Game 1 - Car Chase


Почти равные результаты всех карт в 16-битном цвете. Лишь GeForce4 MX440 чуть "проваливается" в 1600х1200. Связано это, вероятно, с его самой низкой скоростью заполнения. Оптимизации по работе с памятью не дают ему преимущества над GeForce2 Ti, для которого пропускная способность памяти еще не является узким местом в 16-битном цвете. В 32-битах все меняется кардинально. GeForce4 MX440 уже не просто обходит GeForce2 Ti, но и приближается к GeForce3 Ti200.

Game 2 - Dragothic


В 16-битах та же ситуация, что мы уже наблюдали в Game1, только здесь MX440 сдает позиции GeForce2 Ti, уже начиная с 1280х1024. В 32битах, напротив, полная победа GeForce4 MX440 над GeForce2 Ti и, разумеется, победа GeForce3 Ti200 над ними обоими.

Game 3 - Lobby


Этот тест повторяет предыдущие два в самой гипертрофированной форме. В 16-ти битах MX440 проигрывает GeForce2 Ti, уже начиная с 1024x768. В 32-х битах, GeForce4 MX440 обходит GeForce2 Ti, но результат уже очень далек от GeForce3 Ti200.

Unreal Return to NaPali v.2.26

Для тестирования использовалось демо, знакомое по первому Unreal (flyby). В меню игры были включены "Detail Textures", в конфиге "UseTrilinear=True".


Результаты теста очень похожи на те, что мы уже наблюдали в игровых тестах 3Dmark 2001. GeForce4 MX440 в 16-битном цвете не хватает скорости заполнения и он значительно отстает от GeForce2 Ti. В 32-битном же цвете, его отрыв от GeForce2 Ti должен был быть значительно больше, за счет оптимизации работы с памятью, в частности, Z-Occlusion Culling (сцена имеет приличный overdraw), но никакого значительного выигрыша не наблюдается. Мы имеем лишь 6% разницы, да и то, в самом высоком разрешении. Ну а GeForce 3 Ti200 бьет их обоих очень прилично - до 37% в 1600х1200х32.

К сожалению, здесь, тестирование скорости работы карт, в Direct3D, придется завершить, ибо количество самих Direct3D-игр, имеющих бенчмарки, очень ограничено. Переходим к OpenGL-тестам, благо их гораздо больше.

OpenGL тесты:

Quake3 Arena v.1.17

Серию OpenGL-тестов начнем, по традиции, со старого - доброго Quake3, который, хотя уже и прилично устарел, тем не менее, до сих пор, остается ведущим "промышленным" OpenGL-бенчмарком. На его результаты, в первую очередь, смотрят озабоченные проблемой выбора карты геймеры, под него, в первую очередь, затачивают драйверы "программисты" ведущих компаний-производителей чипов для видеокарт. Это, кстати, является его недостатком, но не мешает нам одновременно рассматривать и другие игры, в том числе и на его движке.

При тестировании использовались максимальные настройки качества, доступные из меню игры. Компрессия текстур не отключалась.


GeForce4 MX демонстрирует прекрасные, можно даже сказать, феноменальные для себя результаты в этом тесте, обогнав GeForce2 Ti в 16-битном цвете, несмотря на значительно большую его скорость заполнения и даже почти догнав GeForce3 Ti200! И, хотя в 32битах он уже и медленнее GeForce3 Ti200, до 13% в 1600х1200, при этом он одновременно опережает GeForce2 Ti на 39%! Посмотрим, повторяться ли такие результаты в игре на движке Quake3 - Return to Castle Wolfenstein

Return to Castle Wolfenstein v.1.0

Игра основана на "переработанном" Raven Software движке Quake3 Arena и покорила многих "почти живыми" фрицами, неплохим геймплэем, присутствующим сюжетом и ностальгическими воспоминаниями о Wolf3D. :-) Игра изобилует сложными (относительно Quake3) моделями игроков и большими текстурами. Последняя особенность вылилась в некоторую проблему при тестировании игры на машине с 256MB оперативной памяти. При прогоне теста, при максимальных настройках качества, игра иногда обращалась к жесткому диску, что делало разброс результатов (а следовательно, сами результаты) неприемлемыми для сравнения. Чтобы иметь возможность сравнить таки карты, было принято решение провести тестирование, установив в настройках игры 16-битные текстуры, как для 16-ти битных, так и для 32-битных режимов. Своп, таким образом, был побежден, но с некоторой деградацией качества и повышением скорости в 32-битных режимах.


GeFocre3 чуть проигрывает GeForce2 Ti в 16-ти битном цвете при сверхвысоких разрешениях. MX440 же, как и в Quake3, не сдает своих позиций даже в 16-битах, что вступает в противоречие с результатами проведенных Direct3D тестов и значением его скорости заполнения. В 32-битах все вполне логично: MX440, как и ранее, уверенно обогнал GeForce2 Ti, благодаря оптимизациям архитектуры памяти.

Serious Sam - The Second Encounter v.1.05

Сэм вернулся к нам в несколько подкрашенном и подретушированном виде и с еще большим количеством бегающей по уровням геометрии. :-) Для тестирования использовалась официальная демо-версия (v.1.05) и демо, входящее в нее - "Little Trouble", представляющее собою deathmatch на одноименном уровне. Настройки качества графики устанавливались на HighQuality, за исключением анизотропии, которая не использовалась. Влияние же анизотропии на скорость и качество мы рассмотрим отдельно, чуть ниже.


В 16-битном цвете, карты показывают почти одинаковые результаты, что опять же несколько удивительно для MX440. В 32-х битном цвете, МХ становится четко посередине между GeForce2 Ti и GeForce3 Ti200. Обратите внимание на появившееся в этом тесте понятие "минимальный fps". По нему, косвенно можно судить об играбельности и который, в данном случае, показывает отсутствие у всех карт явных проблем с AGP-текстурированием, например. Реально же, играбельность определяет отнюдь не та доля секунды, на которую пришелся минимальный пик. Важен fps в каждую секунду, т.е. график зависимости его от времени, которого Serious Sam предоставить нам не может. К счастью, не Сэмом единым…

Сложные OpenGL-тесты

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

X-Isle Dinosaur Adventure

"Остров динозавров" вышел год назад и призван был демонстрировать возможности GeForce3 в работе со сложной геометрией и пиксельными шейдерами. В кадре, в среднем, находится 150-200тыс. полигонов, что минимум в 3-4 раза превосходит то, что нам демонстрируют самые последние игрушки. Нас будет интересовать только геометрия, поскольку пиксельные шейдеры на MX440 не поддерживаются. Все карты сравнивались в равных условиях, при настройках "5th generation hardware".


Чипы MX440 и GeForce2 Ti, имеющие самые быстрые блоки HWT&L (вследствие своей высокой частоты), опережают GeForce3 Ti200 в 16-битном цвете. Но в 32-битном они уже сдают свои позиции, поскольку, при этом, на первое место уже выходит не мощность блока T&L, а скорость заполнения или пропускная способность памяти, а контроллер памяти у GeForce4 MX (не говоря уже о GeForce2 Ti) не столь эффективен, как у GeForce3.

Посмотрим, не возникало ли у карт каких-либо специфических проблем при отображении каких-либо сцен (например, очень высоко полигонных) или эффектов (например, попиксельное освещение), используемых в этой демке. Эту информацию, представленную на диаграммах выше, "минимальный fps" дать не может, поэтому построим графики зависимости fps от времени. Разрешение возьмем самое популярное сегодня - 1024х768х32 и прогоним один цикл демки:

Как видно, никаких проблем у рассмотренных карт не наблюдалось. Ни одна сцена не поставила "в стопор" ни одну карту, одновременно, при этом, легко "переварившись" другой.

Vulpine GLMark

Тест, как и предыдущий, вышел год назад, с той же самой целью - демонстрировать возможности GeForce3. Состоит из двух сцен, геометрически очень сложной (150тысяч полигонов в кадре), демонстрирующую остров, густо усаженный пальмами, на манер XI: DA и требовательную, в первую очередь, к скорости блока T&L. Вторая сцена, геометрически более простая, демонстрирует некий "инопланетный бункер" на манер Unreal и требовательна, в первую очередь, к скорости заполнения.

Тесты всех карт проведены при настройках "Advanced Features", детализация максимальная, компрессия текстур включена.


GeForce2 Ti и GeForce4 MX440 неожиданно сильно проиграли GeForce3 Ti200 в этом тесте, во всех разрешениях, даже в 16-битном цвете, несмотря на мощный блок T&L и отсутствие недостатка скорости заполнения (у GeForce2 Ti, по крайней мере). Неожиданными оказались и результаты GeForce4 MX440, в сравнении с GeForce2 Ti. MX440 не смог оторваться, несмотря на все свои оптимизации по работе с памятью и более мощный блок T&L. Возможно, такое "равенство" можно объяснить спецификой тестовых сцен, с которых недостатки и достоинства обоих чипов просто уравновесили друг друга. Мощный блок T&L, но более низкий филрэйт МХ440, против более слабого блока T&L, но большего филрэйта GeForce2 Ti. Никакого другого, более разумного объяснения такого поведения карт в этом тесте, найдено не было.

Рассмотренные сложные, в плане геометрии, тесты не выявили явных преимуществ мощного блока T&L GeForce4 MX440 и GeForce2 Ti перед более слабым, GeForce3 Ti200. Очевидно, скорость блока HWT&L не является узким местом, ограничивающим скорость не только достаточно простых, в геометрическом плане, игр сегодняшнего дня, но и значительно более сложных игр дня завтрашнего. Реальная скорость заполнения карты, по-прежнему остается важнейшим параметром, определяющим скорость той или иной игры.

Качество 3D-графики

Антиалиасинг

GeForce3, год назад, сделал эту технологию повышения качества изображения доступной в высоком (1024х768) разрешении и 32битном цвете, посредством использования хитрого шаблона выборки сэмплов, названого "Quincunx", который работал быстрее, чем простой мультисэмплинг 4х и, уж тем более, чем суперсэмплинг 4х у GeForce2. Подробнее, об особенностях реализации методов антиалиасинга, вы можете прочитать в нашей статье "Антиалиасинг сегодня". GeForce4 MX использует усовершенствованные технологии мультисэмплинга, в частности, измененное расположение сэмплов в шаблоне выборки Quincunx (относительно GeForce3) и оптимизации по его скорости. Это дает ему хорошие шансы не только значительно обогнать "тормозной" суперсэмплинг 4x у GeForce2 Ti, но и даже побороться с Quincunx GeForce3!

Посмотрим, как обстоит дело на практике. Для тестирования скорости антиалиасинга в Direct3D воспользуемся игровым тестом Game3 - Lobby, в низкой детализации и разрешениях 800x600 и 1024x768 в 16-ти и 32-х битном цвете.


Прежде всего, обращает внимание тот факт, что скорость Quincunx, у GeForce4 MX, равна скорости его же мультисэмплинга 2х, чего не наблюдается у GeForce3. Это говорит о действительно проведенной NVIDIA оптимизации, минимум по скорости. Во-вторых, скорость же GeForce4 MX в режиме 4х, оказалась значительно ниже, чем можно было предположить. Она почти равна 4x GeForce2Ti, что очень странно. Но суперсэмплинг 4х GeForce2 Ti оказался повержен режимом Quincunx GeForce4 MX. Даже в низком разрешении 800х600 и в 16-битном цвете (это очень "тепличные" условия для суперсэмплинга), GeForce4 MX, в режиме Quincunx, обгоняет GeForce2 Ti, в режиме 4х, почти на 30%!.

Что же будет в 32-битах, когда суперсэмплингу GeForce2 совсем наступит на горло пропускная способность памяти?


Здесь, как нетрудно было догадаться по результатам тестирования в 16-битном цвете, суперсэмплинг GeForce2 Ti оказался просто раздавлен режимом Quincunx GeForce4 MX440. Последний быстрее, на 83% в разрешении 800х600 и 117%(!) в разрешении 1024х768. Но, результаты GeForce4 MX, в режиме 4х, по-прежнему неоправданно низки.

Посмотрим теперь скорость антиалиасинга в OpenGL, на примере Serious Sam - The Second Encounter


В OpenGL, GeForce4 MX провалил тест антиалиасинга в режиме 2x и Quincunx, в разрешении 800х600х16. Изображение мерцало, просвечивались 2D-элементы рабочего стола, поэтому тестирование в этих режимах просто не проводилось. Это не беда именно игры Serious Sam SE, поскольку та же проблема была и в Quake3 Arena, что уже указывает на проблему драйверов. В разрешении 1024х768х16 таких проблем не возникло и результаты MX440, в режиме Quincunx, относительно режима 4x на GeForce2 Ti, оказались аналогичными тем, что мы уже видели на примере 3DMark 2001 Game3. Несколько странным выглядит отсутствие падения производительности у GeForce3Ti 200, при переходе с Quincunx на 4x.

GeForce4 MX, в режиме 4х, демонстрирует результаты, близкие к 4х на GeForce2 Ti, которые мы наблюдали в 3DMark2001, теперь и в OpenGL.


В том, что MX440, в режиме Quincunx, и здесь обгоняет GeForce2 Ti в режиме 4х, уже ничего удивительного нет. Удивительно то, что в этих тестах, Quincunx MX440 уже догоняет (и даже обгоняет в 800х600 на 3.5%) Quincunx на GeForce3 Ti200!

Ну что же, NVIDIA действительно хорошо потрудилась над оптимизацией алгоритмов антиалиасинга 2x и Quincunx по скорости, предлагая теперь уже действительно "играбельное" решение, на уровне mainstream, не в пример GeForce2 MX (или даже GeForce2), где антиалиасинг декларировался, но его играбельность, все же часто была сомнительной. Однако, низкая скорость GeForce4 MX, в режиме 4х, во всех проведенных тестах, пока не находит никакого разумного объяснения ...

Качество антиалиасинга:

Скорость - это конечно хорошо, но не менее важно и качество. Интересно выяснить, не связана ли одинаковая скорость GeForce4 MX в режимах антиалиасинга 2x и Quincunx, c обычной подменой второго режима, первым. А если нет, то не сказались ли проведенные оптимизации режима Quincunx по скорости, на качестве, в сравнении с Quincunx у GeForce3 Ti200. Попробуем сравнить качество сглаживания на примере игры, в которой антиалиасинг действительно полезен - авиасимулятор "ИЛ2-Штурмовик".

Фрагмент

Данный фрагмент интересен тем, что демонстрирует сразу два вида алиасинга:

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

В зоне, обозначенной как "b", мы видим совсем другой вид алиасинга. Два выделенных в ней элемента представлены не трехмерной их моделью, а нарисованы на прозрачных текстурах и натянуты на полигоны, образующие прямоугольники. Границ же полигонов не видно, ибо края текстуры прозрачные. Это дань оптимизации, поскольку отобразить такую мелочь, как "круг", полигонной (трехмерной) моделью слишком дорого, в плане количества потраченных на это полигонов, что не рационально в данном случае.

Если вы уже прочли статью "Антиалиасинг сегодня", то уже знаете об особенностях таких его видов, как суперсэмплинг и мультисэмплинг, о достоинствах и недостатках этих методов, а также конкретных их режимов. Скрины ниже иллюстрируют их:

 

GeForce2 Ti

GeForce4 MX440

GeForce3 Ti200

AA off

2x AA

Quincunx AA

нет

4x AA

2x антиалиасинг:

Сглаживание границ полигонов (зона "а"), у мультисэмплинга GeForce4 MX и GeForce3 несколько лучше, чем у суперсэмплинга GeForce2 (обратите внимание, например, на угол близкий к вертикали, образуемый винтом самолета). Что же касается антиалиасинга на текстурах (зона "b"), то GeForce2 здесь фаворит, ибо мультисэмплинг GeForce4 MX и GeForce3 вообще не оказывает на текстуры никакого влияния. Можно заметить также, у GeForce3 небольшой артефакт. При включении антиалиасинга, "вылезла" граница полигона, чего не произошло ни у GeForce4 MX, так же использующего мультисэмплинг, ни у GeForce2, использующего суперсэмплинг.

Quincunx антиалиасинг:

Качества сглаживания границ полигонов у GeForce4 MX и GeForce3, как и в предыдущем случае, одинаковое. Алиасинг на текстурах, Quincunx тоже не устраняет, но в отличие от прочих режимов, он их "размыливает", из-за специфической маски (используется слишком много субпикселей от "чужих" пикселей). Однако можно заметить, что GeForce4 MX размыливает текстуры чуть меньше, чем GeForce3 (сравните изображение в зоне "b"). Поскольку при снятии скринов GeForce4 MX и GeForce3 использовался один и тот же драйвер, значит, скорее всего, проблема решена у GeForce4 MX именно аппаратно, хотя и далеко не полностью. Однако нельзя исключить и оптимизацию режима Quincunx на уровне драйвера и привязку ее (оптимизации) только к новейшим чипам компании GeForce4 MX и GeForce4 (как, например, привязка режима 4хS в Direct3D только к этим чипам). Чуть ниже мы проясним ситуацию.

4x антиалиасинг:

Качество сглаживания границ полигонов примерно одинаково у всех трех чипов. Результат же, показанный GeForce4 MX на текстурах, просто обескураживает. В режиме "4х", МХ сумел устранить антиалиасинг на текстурах (!), причем с качеством, не уступающим суперсэмплингу 4x GeForce2! Этого мультисэмплинг не мог сделать по определению (посмотрите на GeForce3, который не затронул текстуры). Вывод здесь напрашивается простой - GeForce4 MX, в режиме 4х, использует не мультисэмплинг, а суперсэмплинг. К тому же выводу мы пришли и анализируя код Direct3D-драйвера NVIDIA. В нем есть массив дескрипторов режимов антиалиасинга, каждый из которых содержит информацию о чипах, поддерживающих этот режим, коэффициенты масштабирования буфера кадра для суперсэмплинга, информацию о мультисэмплинге и т.д. Кроме этого, в драйвере есть три lookup таблицы, содержащие индексы дескрипторов режимов антиалиасинга. Каждая таблица содержит 8 элементов, и именно эти таблицы и используются для преобразования ключа AntiAliasQuality, в используемый дескриптор режима антиалиасинга. Т.е. драйвер считывает ключ AntiAliasQuality, использует его как индекс в lookup таблице, и считывает по этому индексу ещё один индекс (индекс дескриптора режима антиалиасинга). Самое интересное - дальше. Как уже было сказано, у драйвера есть три lookup таблицы. Первая используется для чипов GeForce256/GeForce2MX/GeForce2, вторая для GeForce3/GeForce4, третья - для GeForce4MX. Так вот, режим 4x для GeForce4MX использует тот-же самый дескриптор, что и режим 4x для GeForce256/GeForce2MX/GeForce2. Т.е. драйвер заставляет чип GeForce4MX использовать в режиме 4х именно суперсэмплинг, что мы и наблюдали на скринах выше. Кроме того, режимы 2x и Quincunx на GeForce3/GeForce4 и GeForce4MX используют разные дескрипторы - это наталкивает на мысли, что и мультисэмплинг и GeForce4MX и GeForce3/GeForce4 отличается в реализации.

Резюмируя скоростные и качественные показатели чипов, в режиме антиалиасинга, можно отметить:

GeForce2 Ti - не очень хорошее качество сглаживания "вертикальных" уголов в режиме 2x, при низкой (относительно MX440) скорости и хорошее качество сглаживания в режиме 4х, при совсем неприемлемой скорости.

GeForce4 MX440 - среднее качество сглаживания границ полигонов в режиме 2х, при хорошей скорости и хорошее качество сглаживания границ полигонов в режиме Quincunx, при той же (!) хорошей скорости. "Размыливание" текстур в режиме Quincunx стало чуть меньше, чем у GeForce3, но тем не менее никуда не пропало. В силу особенностей мультисэмплинга, GeForce4 MX, в режимах 2х и Quincunx, не устраняет антиалиасинг на текстурах, в отличии, например, от суперсэмплинга, но это не представляет собой серьезную проблему, поскольку в большинстве случаев мы видим алиасинг именно на границах полигонов, а не внутри них. Режим 4х, однозначно представлен суперсэмплингом, но возможно этот недостаток будет исправлен со временем.

GeForce3 Ti200 - среднее качество сглаживания границ полигонов в режиме 2х, при хорошей скорости и хорошее качество сглаживания границ полигонов в режиме Quincunx, при несколько меньшей скорости. Режим 4x, представленный мультисэмплингом, в отличие от суперсэмплинга на GeForce4 MX и GeForce2 Ti, можно считать играбельным даже в современных играх, но в разрешениях не выше, чем 800х600х32.

Анизотропная фильтрация.

Эта технология улучшения качества изображения представлена во всех рассмотренных чипах. К сожалению, GeForce4 MX, как чипа бюджетного, коснулось обрезание и этой технологии, относительно GeForce4 (и GeForce3). Максимальная степень анизотропии МХ-а ограничена лишь level 2. GeForce2 не поддерживал, уровней анизотропии выше второго, изначально. GeForce3 поддерживает анизотропию 2, 4 и 8-го уровней. Посмотрим скорость и качество, которые показывают карты при использовании анизотропии, на примере игры Serious Sam 2 SE, которая поддерживает анизотропию и позволяет управлять ее уровнями средствами самой игры:


GeForce3 Ti200 быстрее обеих карт без использования анизотропии, но при ее активации падение производительности у него больше. Это следствие меньшей скорости чипа GeForce3 Ti200 и лучшей сбалансированности его архитектуры. В результате этого, отрыв его от GeForce4 MX440, в 32-битном цвете, минимален, а в 16-битном он проигрывает даже GeForce2 Ti.

Посмотрим, нет ли разницы в качестве реализации фильтрации у рассмотренных чипов:

Фрагмент

 

GeForce2 Ti

GeForce4 MX440

GeForce3 Ti200

Trilinear

Anisotropy
Level 2

Никакой разницы в качестве реализации фильтрации у чипов не наблюдается, а значит, MX440 получает дополнительный плюс в свою копилку, а именно - скорость, близкую к GeForce3 Ti200, при использовании анизотропии level 2 в играх. Но необходимо отметить, что GeForce3 Ti200, как чип, поддерживающий анизотропию уровнями выше 2, имеет перед МХ440 преимущество в качестве.

GeForce3 Ti200

anisotropy level 4 anisotropy level 8

Однако, при столь глубоких уровнях анизотропии, на картах GeForce3 Ti200, играбельность в современных играх может уйти за минимально допустимый уровень. Поэтому, перед ее применением в той или иной игре, придется постоянно оглядываться на скорость (особенно это касается level8). Подход "форсировал и забыл" здесь не пройдет.

Компрессия текстур

Эта технология разрабатывалась, в первую очередь, для повышения качества текстур, используемых в играх. Но разработчики упорно не желают снабжать свои творения специальным набором высоко детализированных текстур, способных серьезно поднять визуальное качество игр на картах, поддерживающих эту технологию. Пока, эта технология служит лишь повышению скорости, через сжатие "обычных" текстур "на лету", что приводит к некоторой деградации их качества. Такое использование технологии сжатия представляется весьма сомнительным на картах, имеющих 64МБ оперативной памяти, тем не менее, мы посмотрим, внесла ли NVIDIA какие-либо изменения в алгоритмы распаковки. В первую очередь, интересен печально известный формат DXT1, с котором все чипы компании, начиная с GeForce256, имели некоторые проблемы.

  GeForce2 Ti GeForce4 MX440 GeForce3 Ti200
DXT1
DXT3

Хорошо видно, что проблема с бандингом, возникавшим в местах плавных цветовых переходов у всех чипов GeForce, для GeForce4 решена (не прошло и три поколения :-). Решена она именно на железном уровне, поскольку скрины снимались на одной версии драйверов. Качество же компрессии, в формате DXT3, у всех рассмотренных чипов одинаковое.

Что касается преимущества в скорости, получаемого от использования компрессии текстур, то оно, для карт с 64MB памяти, весьма сомнительно. MX440 и GeForce2 Ti, в данном случае, вообще работают быстрее без использования компрессии. Это, конечно же, не значит, что ситуация будет такой везде. Выигрыш иногда возможен, но прежде, чем использовать компрессию текстур, в любой игре, стоит соотнести получаемое преимущество в скорости к возникающей одновременно деградации качества. Если этого не сделать, есть шансы получить только деградацию.

Перспективность особенностей архитектуры GeForce3

Основными особенностями архитектуры чипа GeForce3, отсутствующей у GeForce4 MX и GeForce2 Ti являются возможность накладывать более двух текстур на пиксель за один проход (а именно четыре), т.е. возможность квадротекстурирования и аппаратная поддержка пиксельных шейдеров DirectX8 (v.1.1). Многих интересует, используются ли эти возможности сегодня и как они будут использоваться завтра. Рассмотрим, что мы имеем сегодня.

Квадротекстурирование

Одной из немногочисленных игр, использующих сегодня наложение четырех текстур на пиксель, и делающих это за один проход, является уже рассмотренный Serious Sam SE. Однако квадротекстурирование используется в этой игре не повсеместно, а лишь для создания некоторых эффектов. Игра позволяет переключать режимы мультитекстурирования и, тем самым, оценить разницу между ними. Вот какова она в используемом выше, для сравнения карт, демо "Little Trouble":

Разницы практически нет. Тот 1%, что мы видим, вполне можно списать на погрешность измерения. Но это может значить, что в данной демке нет эффектов, создаваемых с помощью квадротекстурирования. Мы попробовали поискать места, где, по крайней мере, используется наложение четырех текстур на пиксель и есть место применению квадротекстурирования. Как гласит народная мудрость, "кто ищет, тот всегда найдет", нашли и мы. В Serious Sam SE, четыре текстуры накладываются на пиксель при отображении "зеркальных" поверхностей

Здесь мы видим базовую текстуру, + детализированную текстуру, которая накладывается на базовую, для создания мелких деталей (см. "шершавости" на колонне справа), + карта освещения, + отраженная текстура (все предыдущие вместе, отражающиеся на полу). Бродя по этому помещению, мы записали небольшую демку, условно назвав ее "Mirror". Вот результаты, показанные GF3 при би - и квадро - режимах мультитекстурирования:

Квадротекстурирование дало уже неплохое преимущество, от 11 до 17%, в зависимости от разрешения. Правда, обе части Serious Sam - это чуть ли не единственные игры, использующие такую возможность GeForce3 и ничего конкретного, в перспективе, так же поддерживающего эту возможность, не наблюдается. За исключением, быть может, Doom3, где (по словам его создателей) будет использоваться наложение аж 8-ми текстур на пиксель и ускорителям, использующим стандартное бимультитекстурирование, придется несладко (по словам тех же создателей). Хотя, конечно, трудно оценивать реальные преимущества квадротекстурирования в еще не вышедшей игре. Быть может, его отсутствие у MX440 и GF2 похоронит их обоих, а, быть может, его присутствие не сможет помочь и GF3 поддерживать играбельность на приемлемом уровне.

Пиксельные шейдеры

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

GeForce2Ti & GeForce4 MX440 GeForce3 Ti200

Для отображения металлической поверхности дисков автомобиля на ускорителях, не поддерживающих пиксельные шейдеры, создатели игры решили использовать кубические карты среды (CEM), а для поддерживающих, сами пиксельные шейдеры. В итоге, диск выглядит неплохо, при чем, в обоих случаях. Но, во-первых, несколько неуместно на "квадратных" колесах, во-вторых, неуместно для авиасимулятора в принципе. В стандартной игровой ситуации, в Comanche4, совершенно невозможно различить, какой метод текстурирования используется на колесах мелких моделей джипов, снующих по земле.

CEM или PixelShaders?

Использование, таким образом, шейдеров (да и CEM тоже), скорее призвано улучшить визуальное восприятие анимированных заставок к миссиям, созданных на движке игры, чем повысить визуальное качество самой игры.

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

Заключение

GeForce4 MX показал, что он оправдывает свое название лишь наполовину.

Карты на этом чипе представляют широкие (и ранее невиданные, в предыдущих чипах компании) возможности работы с двухмерной графикой. Прежде всего, это поддержка мультимониторных конфигураций. Возможность эта пока "липовая", для MX440, в случае именно мультимониторных конфигураций и реальная, в случае представления второго монитора, TV. В области 2D, GeForce4 МХ превосходит даже GeForce4, поддержкой нового движка декодирования MPEG2, VPE.

В области 3D, чипа коснулись серьезные "обрезания" не только в сравнении с GeForce4, но и даже в сравнении с GeForce2. В конечном счете, карта на этом чипе представляется сильно разогнанным GeForce2 MX, оснащенной памятью DDR и в корне переделанной подсистемой памяти, которую, в свою очередь, также коснулось некоторое "урезание" (упрощенный контроллер), но уже относительно GeForce4.

Нужно отметить, что баланс "урезаний" и "улучшений" оказался весьма неплох. Чип получился дешевле, чем GeForce2 Ti, при этом практически везде превосходя его как по скорости, так и по возможностям. Проигрывая GeForce2 Ti лишь в 16-битном цвете, в Direct3D, MX440 опережает его в 32битном цвете. В OpenGL, MX440 уже практически не отстает от GeForce2 Ti и в 16-ти битном цвете, непременно опережая в 32-битном.

В качестве и скорости реализации такой интересной особенности, как анизотропная фильтрация, никакой разницы между GeForce4 MX440 и GeForce2 Ti обнаружено не было. В качестве же реализации и скорости антиалиасинга, GeForce4 MX440, безусловно, имеет перед GeForce2 Ti преимущество, в лучшем качестве сглаживания в режиме 2х и наличии режима Quincunx, сглаживающего границы полигонов еще лучше, при равной 2x скорости. Единственная область, где суперсэмплинг GeForce2 Ti выглядит предпочтительнее, нежели мультисэмплинг, это устранение алиасинга на текстурах, но только в плане качества, а никак не скорости.

Сравнение же скоростей GeForce4 MX440 с GeForce3 Ti200, с точки зрения 3D-графики, по результатам проведенных тестов, кажется даже несколько нелепым. GeForce3 Ti200 показал скорость, превосходящую как GeForce2 Ti, так и GeForce4 MX440, с нарастающим, по мере роста разрешения, преимуществом. В режимах антиалиасинга, GeForce3 Ti200 так же оказался недоступен для MX440, но скорость Quincunx у MX440, (равная режиму 2х), несколько уменьшила этот разрыв. Стоит припомнить и небольшое преимущество в качестве Quincunx у MX440, перед GeForce3 Ti200, в плане чуть меньшего "размыливания" текстур. Режим же 4х, представленный у GeForce3 Ti200 мультисэмплингом, дает этой карте явное преимущество в скорости, перед суперсэмплингом 4x GeForce4 MX440. Анизотропия уровнями выше 2, дает GeForce3 Ti200 качественное превосходство над единственно возможной анизотропией level 2 на MX440, но при меньшей скорости.

В конечном счете, единственный момент, в котором GeForce4 MX действительно выглядит заметно интереснее, чем GeForce3 Ti200 - это дополнительные возможности первого в работе с 2D графикой (nView), а конкретно, возможность использовать TV-Out для просмотра фильма и одновременно работать на компьютере.



Андрей Дерябин a.k.a. andser (andser@nvWorld.ru)

Автор выражает благодарность Алексею Николайчуку а.к.а. Unwinder (AlexUnwinder@mail.ru)за информацию об алгоритмах выборки драйвером, режимов антиалисинга, для чипов GeForce.