Обзор видеокарты Creative 3D Blaster Annihilator

Итак, 31 августа, NVIDIA пообещала нам изменить мир. Получилось ли это? Отчасти. Конечно, передела не произошло, но в мире видеоакселераторов графические процессоры (GPU) вышли на массовый рынок. Хотя первой объявила о новом чипсете, тоже имеющем интегрированный геометрический сопроцессор, компания S3, благодаря массированной рекламе GPU и обещаниям "золотых гор" практически все лавры первооткрывателя собрала хитрая NVIDIA. Ну и что же мы получили в NVIDIA GeForce 256? Посмотрим на спецификацию:

  • Частота ядра: 120 МГц
  • Частота работы шины памяти: до 200 МГц
  • Скорость обработки треугольников: 15 млн. треугольников в секунду, sustained DMA, transform/clip/light, setup, rasterize and render rate.
  • Разрядность шины памяти: 128 бит при SDR SDRAM/SGRAM, 256-бит при DDR SDRAM/SGRAM
  • Ширина полосы пропускания шины памяти: до 6,4 Гб/сек (пиковое значение при DDR памяти и шине 200 МГц)
  • Поддерживаемые типы памяти: SDRAM/SGRAM (с поддержкой режима блочной записи) и DDR SDRAM/DDR SGRAM
  • Объем локальной видеопамяти: до 128 Мб
  • RAMDAC: интегрированный, частота 350 МГц с поддержкой коррекции гаммы
  • Поддерживаемые разрешения: вплоть до 2048x1536@75Hz
  • Интерфейс внешней шины: полная поддержка AGP 2x/4x (включая SBA и DME) и PCI 2.2 (включая Bus mastering). Поддерживается режим AGP 4x Fast Writes, который обеспечивает возможность прямого обмена данными между CPU и GPU, минуя системную память компьютера, со скоростью до 1 Гб/сек, что должно положительно сказываться на общей производительности и разгрузить шину системной памяти.
  • Поддерживаются спецификации: последовательная шина I2C и DDC; ACPI D0-D3 режимы и управление питанием PCI; 100% соответствие PC'99 и PC'99a
  • Технологический процесс: 0,22 мкм
  • Число транзисторов: 23 млн.
  • Поддерживается интерфейс DFP с маштабированием, фильтрацией и разрешениями до 1600x1200
  • Поддерживается TV выход с разрешением до 800x600

2D-часть:

  • 256-разрядное 2D-ядро
  • Поддержка акселерации BitBLT, закраски прямоугольников и полигонов, прорисовка линий, аппаратный курсор и масштабирование по горизонтали/вертикали
  • Работа с ускорением графики при 8, 16 и 32 битном представлении глубины цвета

3D-часть:

  • 256-разрядный процессор рендеринга
  • Интегрированный геометрический процессор преобразования координат и установки освещения (T&L)
  • 4 конвейера рендеринга (вывод 4 пикселей за такт)
  • Аппаратная установка 8 источников света для всей сцены
  • Геометрический движок выполняющий операции над вещественными числами и занимающийся расположением полигонов в пространстве
  • Fillrate: 480 млн. пикселей в секунду
  • Скорость текстурирования: 480 млн. текселей в секунду и 240 млн. текселей в секунду в режиме мультитекстурирования
  • Для формирования текселя используется 8 текстурных сэмплов
  • Полная поддержка OpenGL и DX7 — Tranform & Lighting, Cube environment mapping (кубического текстурирования картами окружения), projective textures (проекция текстур) и компрессия текстур
  • Поддерживаются все пять форматов компрессии текстур DX6
  • Аппаратная поддержка рельефного текстурирования. Поддерживаются методы Embossing (выдавливания) и Dot Product (скалярное рельефное текстурирование)
  • Программируемые режимы смешивания нескольких текстур
  • Поддержка Vertex Blending (сочетание вершин полигонов), обеспечивающая естественное отображение сложносоставных объектов в местах склейки полигонов. Например, если нужна модель коленвала из двигателя машины, то использование vertex blending позволит сделать естественные переходы на всех изломах, в противном случае будут видны швы на местах состыковки полигонов.
  • Рендеринг при 32-битном представлении глубины цвета
  • Сглаживание полной сцены (Full scene anti-aliasing)
  • Анизотропная фильтрация с использованием 8 семплов
  • Поддерживается 8-битный стенсель буфер (буфер шаблонов)
  • Поддерживается 16/24/32-битная Z-буферизация
  • Поддерживаются отраженный свет и размытые тени
  • Улучшенные режимы прозрачности и полупрозрачность (Enhanced alpha blending modes)
  • Наложение тумана по вершинам полигонов и попиксельно в определенных областях сцены
  • Поддержка текстур размером 2048х2048 текселей с точностью 32 бита

Поддержка DVD/DTV:

  • Поддержка HDTV (High Definition Television)
  • Поддержка видеооверлеев
  • Масштабирование по вертикали и горизонтали с коэффициентом до 8:1
  • Управление яркостью, насыщенностью, контрастностью цвета на аппаратном уровне
  • Множество конфигураций HDTV, поддерживаемые через DMA и захват управления шиной
  • Поддерживается компенсация движения (хочется надеяться, что будет работать)
  • Аппаратное смешивание и полупрозрачность для субтитров и меню
  • Аппаратная поддержка преобразования цветовых пространств (YUV 4:2:2 и 4:2:0)
  • Многопроходная фильтрация видео изображений (5 степеней по горизонтали и 3 по вертикали)
  • Поддержка преобразования из планарного YUV12 (4:2:0) формата в упакованный формат 4:2:2 и обратно

Как видим, список возможностей весьма широк и заставляет испытателей даже переживать на счет того, а все ли на практике получилось из того, что заложено в опубликованных характеристиках? Вот у S3, например, первые версии Savage2000 получились несколько скромнее в части рабочих частот, нежели было обещано ранее (аргументируется это низким процентом выхода годных кристаллов).

Нам удалось протестировать одну из первых карт на чипе NVIDIA GeForce 256, Creative 3D Blaster Annihilator (Уничтожитель). Эта плата внешне очень похожа на свою предшественницу Creative 3D Blaster Riva TNT2 Ultra, естественно, имеет AGP форм фактор, интерфейс AGP 2x/4x и те же 32 Мбайта 5.5 нс SDRAM, расположенной в 16-ти микросхемах по обеим сторонам карты:

   

Что сразу бросается в глаза? То, что организация памяти осталась такой же, как и на Creative 3D Blaster Riva TNT2 Ultra — чипы те же самые, я даже сравнил маркировку микросхем. Я уже отмечал, что у современных видеоакселераторов самое узкое место — это полоса пропускания шины памяти. Иначе говоря, сколько бутылку не делай шире и больше, при том же самом горлышке, выльется из нее за единицу времени столько же воды, сколько и при гораздо меньшем объеме сосуда. Это уже первый повод для некоторого разочарования. Зачем делать чипсет более мощным, если все равно память не будет успевать за ним? Печальная участь 32-битного цвета так и осталась печальной, ведь, прежде всего из-за недостаточной скорости обмена с памятью мы видим более скромную производительность видеоускорителей при такой глубине представления цвета.

Также заметим, что GeForce 256 имеет 23 млн. транзисторов и изготавливается по 0.22 мкм технологическому процессу. Судя по всему, NVIDIA просто не успела завершить работы по переходу на 0.18 мкм процесс. Я считаю, что именно из-за использования 0.22 мкм процесса и большого числа транзисторов NVIDIA была вынуждена ограничить тактовую частоту ядра GeForce 256 величиной в 120 МГц, так как в противном случае могут возникнуть проблемы с перегревом чипа или даже с электропитанием. В качестве подтверждения скажу, что видеокарта на базе GPU NVIDIA GeForce 256 действительно при отсутствии внешнего охлаждения греется намного больше, чем карта на NVIDIA Riva TNT2 Ultra.

Безусловно, самой примечательной инновацией в NVIDIA GeForce 256 является, конечно же, наличие интегрированного геометрического сопроцессора. Можно спорить о целесообразности внедрения его в чип, а не установки внешней микросхемы, тут много за и против. За — это удешевление разработки дизайна эталонной видеокарты, более быстрое время выхода чипсета на рынок. Против — ограничения, накладываемые перегревом чипсета (сопроцессор ведь немало способствует этому), например, в тактовой частоте чипа.

В процессе 3D-рендеринга, после того, как необходимые данные получены, они проходят через этап преобразования координат, когда исходные координаты объектов 3D-сцены преобразуются в 2D-координаты, которые после рендеринга отображаются на экране монитора. Не следует забывать и о том, что каждая точка в пространстве может быть освещена несколькими источниками света. Все эти данные должны быть преобразованы с учетом угла зрения пользователя, т.н. правильной точки наблюдения в пространстве и перспективы. Только после этого происходит вывод результата на экран монитора одновременно с удалением всех деталей сцены, которые не будут видны на экране (т.н. clipping) с целью избежать ненужной работы при последующем рендеринге. Операции по преобразованию координат и расчету освещения требуют очень больших вычислительных ресурсов. Выполнять эти операции может CPU, а может и специализированный геометрический сопроцессор. При наличии последнего высвобождаемые ресурсы CPU могут быть использованы в играх для других целей, например, для реализации более продвинутого искусственного интеллекта (AI) или для расчета физики моделируемого мира (сила тяготения, плотность воздуха, и т.д.).

В GeForce 256 геометрическая часть, занимающаяся операциями T&L и Clipping обладает впечатляющими возможностями. Судите сами, GeForce 256 может выдаваться до 15 млн. текстурированных полигонов с z-буфером в секунду! Это очень много. При этом CPU системы может быть полностью освобожден от выполнения операций по преобразованию координат и установке освещения, которые могут отнимать до 70%-90% его ресурсов. Сразу возникает вопрос, а нужны ли нам сейчас видеокарты с GPU? По мнению разработчиков приложений, уже через год ни одна игра не будет хорошо работать без наличия на борту видеокарты геометрического акселератора — слишком уж большая разница между производительностью графического ускорителя с геометрическим сопроцессором и без него и, как следствие, большая разница в качестве отображаемой на экранах мониторов графики. С применением на практике аппаратного преобразования координат вершин полигонов (вертексов) с помощью геометрического сопроцессора все более-менее понятно. Все OpenGL-игры и Direct3D-игры (с небольшой модификацией) могут с большой пользой использовать эту возможность, а вот с расчетом освещения есть вопросы.

Первый источник освещения рассчитывается геометрическим сопроцессором, интегрированным в GeForce 256 бесплатно, т.е. без какого-либо ущерба производительности, а все остальные (в общей сложности, до 8 источников освещения для всей сцены) теоретически снижают производительность, но не более, чем на 5-7% (как все обстоит на практике, мы расскажем ниже). По мнению разработчиков игр, само по себе аппаратное освещение (vertex lighting) пока ещё реализуется слишком шаблонно. Но технологии и инструменты постоянно совершенствуются, так что все впереди, тем более, что сама NVIDIA прогнозирует широкое использование аппаратного освещения лишь ближе к концу следующего года.

Следующей особенностью NVIDIA GeForce256 является наличие 4-х конвейеров (напомню, что у NVIDIA Riva TNT/TNT2 их два). Это означает, что за каждый такт может формироваться четыре пикселя одновременно. При заявленной тактовой частоте GPU в 120 Мгц, мы получаем величину fillrate (скорость заполнения сцены) в 480 млн. пикселей в секунду. Однако, каждый конвейер у GeForce 256 имеет по одному блоку текстурирования. То есть, что в приложениях, использующих технику мультитекстурирования, когда на один пиксель накладывается одновременно две текстуры, величина fillrate при той же тактовой частоте чипа в 120 МГц снизится до уровня в 240 млн. пикселей в секунду. Отметим, что текстуры накладываются уже отфильтрованными, при этом для формирования одного текселя используется 8 текстурных сэмплов, что обеспечивает бесплатную анизотропную фильтрацию. Анизотропная фильтрация на основе 8 текстурных сэмплов — несколько своеобразное решение, слишком уж мало сэмплов. Лучшие результаты от использования анизотропной фильтрации получаются все-таки при использовании 16 или даже 32 текстурных сэмплов для определения результирующего цвета текстуры. Почему NVIDIA использует лишь 8 семплов, а не больше? Потому что для такой реализации нужен всего один блок текстурирования, как и реализовано в GeForce 256. Тем не менее, при использовании даже 8 сэмплов качество выводимого на экран монитора изображения существенно улучшается. Есть все основания предполагать, что будет заметно и улучшение качества картинки даже в существующих играх. Это было подтверждено на примере Quake3 (для наглядности я включил раскрашивание MIP-уровней разными цветами). Напомню, что техника MIP-mapping существует для того, чтобы объекты, находящиеся на разном расстоянии от глаза наблюдателя, отображались с разной степенью детализации (ведь чем дальше от нас объект, тем более расплывчато мы его видим). Поэтому вся сцена разбивается на на MIP-уровни, границы между которыми надо сглаживать, иначе реалистичность 3D-сцены снизится. Для этого существует ряд техник фильтрации, которым мы уделим особое внимание.


NVIDIA GeForce 256
   
NVIDIA Riva TNT2

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


NVIDIA GeForce 256
   
NVIDIA Riva TNT2

Обратили внимание на форму MIP-уровней? У NVIDIA GeForce 256 они округлые, расположены полукругом, в центре которого находится игрок. Естественно, что эта реализация разбиения сцены на MIP-уровни наиболее верная, поскольку границы видения наших глаз также создают полусферу. А у NVIDIA Riva TNT2 эти уровни получаются угловатыми. Прошу заметить, что эти результаты получены на одних и тех же драйверах, а это значит, что проблема решена на аппаратном уровне, что не может не радовать.

Теперь обсудим такой момент как fillrate, т.е. скорость заполнения сцены пикселями. Этот фактор напрямую влияет на производительность любого видеоадаптера. Так вот, после анонса GeForce 256 во многих изданиях высказывались мысли о том, что из-за низкой тактовой частоты графического ядра будет наблюдаться низкая производительность в играх. Чуть позднее на эту тему высказались и конкуренты NVIDIA в лице CTO 3dfx Scott Sellers. В частности, Скотт заметил, что fillrate у GeForce 256 находится на низком уровне, и его величины не хватит для использования карты в современных играх в высоких разрешениях. Разумеется, было замечено, что будущий продукт 3dfx будет обладать гораздо большим fillrate и позволит использовать в играх высокие разрешения без ущерба скорости. Действительно, по слухам стало известно, что fillrate у GeForce должен был быть в 3-4 раза больше, чем у TNT2, но этого не произошло. Например, некоторые карты на базе TNT2 Ultra обеспечивают скорость заполнения в 190 млн. пикселей в секунду при наложении двух текстур на пиксель, т.е. в играх с мультитекстурированием. В тех же играх GeForce 256 обладает потенциалом в 240 млн. пикселей в секунду с наложением двух текселей на пиксель за такт. Можно заметить, что прирост даже чисто теоретически незначителен. Тем не менее, однозначного ответа на вопрос: "Что лучше иметь в видеочипсете: высокую скорость заполнения сцены или геометрический сопроцессор?" пока нет. Понятно, что сопроцессор является очень привлекательной особенностью будущих видеокарт ввиду перекладки на него рутинных вычислений. Однако, до полноценного использования GPU еще далеко. Переделать уже вышедшие на рынок игры под использование GPU почти невозможно (за исключением нескольких OpenGL-игр). А при наличии высокой скорости заполнения сцены (fillrate) можно уже сейчас резко поднять fps в современных играх, либо дать возможность пользователям запускать те же игры на более высоких разрешениях. В качестве примера назвать две известные фирмы: Epic (разработчики Unreal Tournament) и id Software (разработчики Quake3), взгляды которых на эту проблему диаметрально противоположны. В первом случае упор делается на скорость заполнения сцены, то есть требуется просто более мощный акселератор, во втором — на увеличение сложности сцены с возложением вычислений на GPU, то есть требуется акселератор с GPU. Естественно, речь идет о будущих проектах, а не о сегодняшних играх. Хотя показательно и то, что id Software все же решила по возможности "довести" игру Quake3 до максимального использования геометрического сопроцессора у видеокарт, а Epic наотрез отказалась вносить какие-либо изменения в Unreal Tournament по его оптимизации под GPU (наверное, сказывается давняя любовь Epic к 3dfx J). Как пример, можно привести фрагмент из игры Quake3, где при помощи команд r_subdivisions 1 и r_lodCurveError 10000 можно получить более плавные кривые поверхности путем разбиения их на гораздо большее количество полигонов, при этом производительность карты почти не страдает:




Количество полигонов увеличено
   
Количество полигонов по умолчанию

Разумеется, на скорость работы карты влияют и такие факторы, как дополнительные специальные графические эффекты. В частности, ожидается, что при использовании техники сглаживания всей сцены (full scene anti-aliasing) будет заметное снижение величины скорости заполнения сцены, а значит и величина fps в играх снизится. Однако NVIDIA делает ставку на другое свойство GeForce 256, которое должно помочь улучшить качество выводимого изображения в играх, даже без применения эффекта full scene anti-aliasing. NVIDIA делает ставку на возможность обработки большего количества полигонов. Известно, что чем большее число треугольников используется при тесселяции поверхностей, тем более естественными получаются отображаемые графические модели. По сути, NVIDIA предлагает разработчикам игр использовать более сложные геометрические модели и большее число полигонов для каждой сцены, чтобы повысить общее качество изображения. И этим изящно должна решиться проблема снижения производительности при использовании техники full scene anti-aliasing. Фактически NVIDIA предлагает использовать в сцене 60000 треугольников и даже более, за счет чего должно улучшиться качество, а скорость fps при этом будет на желаемом уровне в 60 кадров в секунду. Только вот вопрос, будут ли разработчики следовать рекомендациям NVIDIA, пока остается открытым. Тем не менее, ниже мы приводим скриншот из одной демо-программы от NVIDIA:

   

Здесь видно, что создать модель почти реалистичного лица человека вполне возможно, что, несомненно, должно поднять уровень игр типа 3D-шутеров. Естественно, верхом совершенства в данном случае может явиться появление мимики на моделируемых лицах, что придаст играм такого класса больший натурализм.

Теперь о воде :). Да, этот объект в 3D-мире волнует многих проектировщиков, прежде всего из-за своей динамичности. Вода, в отличие от, например, стен, постоянно изменяется. Matrox предлагает использовать метод EMBM (рельефное текстурирование с использованием карт окружающей среды) для придания реалистичности движению воды. Согласен, этот способ действительно уникален и обеспечивает должный эффект. Однако, к сожалению, этой технологией владеют только чипсеты Matrox G400, поэтому разработчики не спешат с воплощением EMBM в играх. А есть ли способ повысить реалистичность отображения воды без особых технологий? Да есть, однако требуются достаточно большие вычислительные способности процессора. Вот тут и приходит снова на выручку наличие геометрического сопроцессора. Ниже представлены три скриншота, которые демонстрируют качество моделирования водной поверхности при наложении различных эффектов, воплощающих отражения и полупрозрачность:

   
 

Что мы видим? Полный штиль. А если воду слегка возмутить?

Эффект от появления волн налицо, причем все очень даже реалистично. Как же это получается? При помощи карты смещения, которая представляет собой своего рода решетку, где узлы определяют значения прозрачности среды. Рассчитываются также векторы отражения и преломления света. Таким образом, при наличии достаточно мощных вычислительных ресурсов у видеокарты данный метод доступен не только чипсетам с уникальными технологиями, но и всем остальным, а значит, вполне может использоваться при разработке 3D-игр.

Идем далее. Чтобы повысить реализм, NVIDIA предлагает разработчикам использовать технику моделирования отражений в реальном времени, для чего предлагается использовать технику cube environment mapping. Техника наложения кубических карт окружающей среды (cube environment mapping) поддерживается в интерфейсах DirectX 7 и OpenGL 1.2 и, по мнению NVIDIA, эту технику легко использовать. Вообще, карты окружающей среды применяются для воспроизведения зеркальных отражений и отраженного света. До недавнего времени применялись только плоские (planar) и сферические карты окружающей среды. Однако такие техники не обеспечивают реалистичности отражений и отраженного света, при этом использование сферических карт требует довольно много усилий от разработчиков, и такие карты сложно накладывать в режиме реального времени. Помочь разработчикам добиться реализма в режиме реального времени должна техника использования кубических карт окружающей среды.

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

Вот что мы видим на примере одной из демо-программ от NVIDIA:


Сферическая карта
   
Кубическая карта

Разница видна налицо.

Теперь о самой карте. Установка Creative 3D Blaster Annihilator прошла без проблем, драйверы инсталлировались сразу и просто. Кстати, начиная с версии 3.*, NVIDIA изменила дизайн драйверов и их содержание. Поэтому поговорим о новых драйверах немного подробнее. Отмечу, что эксперименты с удалением нужных опций из драйверов, начатые NVIDIA еще в 2.* версиях, продолжаются. Если установить 3.53 драйверы, то в них не будет никакой возможности манипулировать режимом Vsync (синхронизации частот вывода кадров видеокартой с частотой смены кадров монитора). Старые решения по правке Registry, которые успешно применялись на 2.* драйверах, теперь не работают. Поэтому укажу тот ключ, который надо внести в Registry для того, чтобы появилась возможность использования дополнительных опций, которые по умолчанию недоступны: REGEDIT4 [HKEY_LOCAL_MACHINE\Software\NVIDIA Corporation\Global\NVTweak] "CoolBits"=dword:00000003

После внесения этого ключа появляется возможность по настройке Vsync:

и появляется закладка для изменения частот работы платы (оверклокингу):

Рассмотрим оставшиеся закладки:

На этой панели выводится информация о видеокарте и версиях компонентов драйверов.

Эта закладка посвящена настройке Direct3D. По умолчанию включены опции эмуляции табличного тумана и Z-буфера. Лавры 3dfx, показывающей свой логотип при инициализации Glide, видимо, не дают покоя NVIDIA, которая решила вставить опцию показа ее логотипа при работе с Direct3D-программами. Остальные настройки драйверов мало чем отличаются от 2.* драйверов, за исключением замены опции трилинейной фильтрации на 8-точечную анизотропную в разделе MIP-mapping.

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

Ну что ж, на этом мы и закончим рассмотрение особенностей как чипсета NVIDIA GeForce 256, так и первой платы на его основе. Замечу, что плата от Creative создавалась в качестве референс-дизайна, т.е. как рекомендованный к клонированию шаблон для других производителей.

И, наконец, преходим к тестам, которые проводились на следующей системе:

  • процессор Intel Pentium III 600;
  • системная плата ASUS P3B-F;
  • оперативная память 128MB PC100;
  • жесткий диск Quantum FB CR 6.4GB;
  • монитор ViewSonic P810;
  • операционная система Windows 98.

Помимо этого, в нескольких тестах принимал участие и другой компьютер:

  • процессор AMD K6-2 450;
  • системная плата Chaintech 5AGM2;
  • оперативная память 128MB PC100;
  • жесткий диск Quantum FB CR 6.4GB;
  • монитор Nokia 447Xav;
  • операционная система Windows 98.

Тестирование проводилось на драйверах версии 3.53. В качестве соперников по скоростным показателям будут выступать Matrox Millennium G400 MAX (драйверы версии 5.30), Hercules Dynamite TNT2 Ultra (NVIDIA Riva TNT2 Ultra, драйверы версии 3.53) и совершенно новая для нас карта ATI RAGE FURY PRO (ATI RAGE 128 PRO, драйверы версии 6.30CDH34e).

Начнем мы с 2D-графики. Говоря о качестве, не могу не упомянуть высокую частоту RAMDAC, которая обеспечивает прекрасное качество изображения в разрешениях до 1600х1200 включительно. Выше проверить не могу, т.к. нет монитора, знающего такие режимы. Скоростные показатели мы снимали в разрешении 1600х1200 в 32-битном цвете при помощи WinBench99. Результаты представлены ниже:

 Business graphics WinmarkHigh-End Graphics Winmark
Creative 3DBlaster Annihilator187651
Hercules Dynamite TNT2 Ultra183568
Matrox Millennium G400 MAX194645
ATI Fury Pro185610

Как можно заметить, по скорости наша карта обогнала все последние новинки, даже Matrox Millennium G400 MAX уступил пьедестал. Поэтому по универсальности и быстроте в 2D видеокарте Creative 3D Blaster Annihilator пока нет равных. Во избежание возражений среди профессионалов, работающих с тончайшими элементами 2D-графики, скажу, что речь идет о лидерстве среди игровых видеокарт. Хотя мой глаз не смог найти особых отличий между качеством графики у Creative 3D Blaster Annihilator и той же Matrox Millennium G400 MAX.

Теперь мы займемся 3D-графикой, прежде всего скоростными показателями. На этот раз мы немного отошли от традиции и добавили ряд новых показателей. Прежде всего, начнем мы с бенчмарка, который с некоторых пор стал олицетворением NVIDIA GeForce 256, а именно NVIDIA TreeMark. Именно этот демо-тест расчитан на все возможности этого чипсета и демонстрирует работу видеоакселератора в весьма напряженных условиях (при многих источниках освещения, а также большом количестве полигонов). Эта программа использует интерфейс OpenGL.

Сравненим работу NVIDIA GeForce 256 и NVIDIA Riva TNT2 Ultra в разных разрешениях на частоте процессора Pentium III 600 МГц (тест запускался при установках по умолчанию: уровень сложности depth равен 5, количество источников освещения lights равно 4):

Видно, что NVIDIA GeForce 256 показал себя просто супергигантом. Мы можем оценить, насколько он может быть силен в играх с аппаратным обсчетом T&L.

Посмотрим на работу NVIDIA GeForce 256 при различных частотах процессоров (были использованы частоты Pentium III — 600 и 450 МГц и Pentium II 300 МГц, а также K6-2 — 450 МГц). Установки бенчмарка по умолчанию:

Видно, что использование геометрического сопроцессора дало блестящие плоды, ибо результат на всех частотах (кроме К6-2 — 450 МГц) один и тот же! Таким образом, можно подтвердить, что при наличии игр, максимально использующих эти особенности NVIDIA GeForce 256, мы можем получить отличные показатели даже на слабых процессорах. Почему же так отстал К6-2? Тут вопрос сложный. Вероятно из-за несовершенства реализации в этой системе шины AGP, плюс слабая поддержка центральным процессором нужд видеокарты, не относящихся к T&L.

Проследим зависимость производительности NVIDIA GeForce 256 от количества источников освещения при одном и том же уровне сложности сцены (по умолчанию depth=5). Тестирование проводилось в разрешении 1024х768:

Как можем видеть, снижение скорости работы NVIDIA GeForce 256 при увеличении количества источников освещения идет по нисходящей кривой. Очевидно, что только малое количество источников освещения дают обещанное падение в 7%, в большинстве же случаев оно составляет 10 и более процентов. Если у GeForce 256 самый низкий показатель скорости при 8-ми источниках освещения примерно в 1,7 раза меньше самого высокого значения, то у NVIDIA Riva TNT2 Ultra это падение почти в 3 раза. Заметим, что результаты для GeForce 256 могут несколько улучшиться после выхода новых версий драйверов.

Посмотрим на зависимость производительности NVIDIA GeForce 256 от уровня сложности сцены, то есть от количества полигонов в кадре. Тестирование проводилось при числе источников освещения (lights) равном 4 (по умолчанию) в разрешении 1024х768:

На данном графике хорошо заметно резкое снижение скорости у NVIDIA Riva TNT2 Ultra уже при незначительном увеличении сложности сцены, а у NVIDIA GeForce 256 хотя кривая достаточно резко идет вниз, однако общая тенденция не столь плачевна. Правда, должен сказать, что причиной столь сильного падения производительности может быть именно узкая шина обмена с памятью.

В качестве следующего теста мы использовали еще одну новинку — Unreal Tournament (демо-версия 3.48) от Epic Games. К сожалению, официального бенчмарка у этой игры нет, поэтому я записал специальный ролик mydemo1.dem, который каждый при желании может у себя попробовать. Сразу же скажу, что демо-ролик создавался не для игры с ботами, а для испытаний видеокарт, поэтому там есть резкие, угловатые движения, выстрелы в пустоту, игра была записана в режиме "God" (бессмертия), дабы не возникали статичные экраны (это все я говорю для того, чтобы заядлые геймеры не возмущались уровнем моей игры :)). Ролик длинный, идет минут 7-10 до победы на одном из уровней игры. Это дает нам возможность наиболее объективно получить итоговую цифру производительности видеокарт.

Посмотрим на цифры. Да, первое место по скорости у NVIDIA GeForce 256, однако, отрыв очень мал. Известно, что эта игра не использует никаких аппаратных T&L, рассчитана только на скорость заполнения сцены видеокартой. Однако даже при значительно большей скорости NVIDIA GeForce 256 не обеспечивает соответствующего выигрыша. Почему? Не позволяет процессор. Да, Unreal Tournament — это игра будущего. Даже 600-мегагерцевого Intel Pentium III ей мало.

А вот тут новость: карта на базе NVIDIA GeForce 256 отстала от карты на базе NVIDIA Riva TNT2 Ultra. Пусть это единицы FPS, однако это показательно. Скорее всего, определяющим фактором в данном случае является то, что частота работы памяти у NVIDIA Riva TNT2 Ultra (200 MHz) выше, чем у карты на базе NVIDIA GeForce 256 (166 MHz), а работа в 32-битном цвете очень зависит именно от скорости работы видеопамяти.

Здесь я хочу немного отклониться от темы и пару слов сказать о разгоне. Дело в том, что мы, как уже стало у нас правилом, испытываем карты не только на штатных частотах, но и в режиме разогна. К сожалению, NVIDIA GeForce 256 является чрезмерно греющимся чипсетом, поэтому возможности его разгона весьма скромны. Нам удалось добиться стабильной работы карты при наличии внешнего дополнительного охлаждения только лишь на частотах 135/185 МГц (первое значение — частота чипсета, второе — памяти).

Теперь мы рассмотрим работу видеокарт на традиционных играх-инструментах тестирования:

  • Rage Expendable;
  • Monolith Shogo (демо — revshogo);
  • id Software Quake2 v.3.20 (демо — massive1.dm2)
  • id Software Quake3 Test v.1.08 (демо — q3demo1.dm3)

Expendable дает возможность увидеть работу видеоакселераторов в Direct3D при включенном режиме мультитекстурирования. Пользуясь этим инструментом я провел четыре теста.

Видно, что NVIDIA GeForce 256 обгоняет соперников только на высоких разрешениях. Судя по всему, ограничением является вычислительная мощность центрального процессора системы, даже в случае с Pentium III 600 МГц. Отметим обгон нашего героя другой новой картой — ATI RAGE FURY PRO в ряде разрешений.

Здесь картина совсем постыдная для карты на базе NVIDIA GeForce 256! Плата на базе ATI RAGE 128 PRO — просто явный лидер в этой номинации, но кроме этого, нетрудно заметить равенство показателей у карт на базе NVIDIA GeForce 256 и NVIDIA Riva TNT2 Ultra. Мне трудно дать объяснение этому феномену. В голову приходят две мысли: более слабая по производительности память, чем у NVIDIA Riva TNT2 Ultra, а также более грамотная оптимизация работы в режиме 32-битного представления цвета у карты на основе ATI RAGE 128 PRO. Что бы там ни было, а компанию ATI можно только поздравить с такой победой. Новой карте от ATI удалось обогнать не только предыдущих лидеров рынка видеокарт, но и карту на базе только что вышедшего чипсета GeForece 256, обладающую самой большой на сегодня скоростью заполнения сцены. Этот успех ATI действительно стоит всяческих похвал.

Посмотрим на падение производительности при переходе на 32-битное представление глубины цвета:

Как и ожидалось по итогам предыдущего теста, ATI RAGE 128 PRO заняла прочное лидерство среди карт при работе с 32-битным цветом, затем идет Matrox Millennium G400 MAX, потом, как ни странно, карта на базе NVIDIA Riva TNT2 Ultra. Что касается карты на базе NVIDIA GeForce 256, то она на последнем месте. Обратите внимание на величину падения скорости. Это подтверждает мои предположения, высказанные в предыдущем тесте, и мысль, изложенную в начале обзора, о том, что делать столь мощный чипсет и наделять его такой узкой шиной памяти — кощунство. Это прямой упрек в адрес компании NVIDIA. Двухконвейерная плата, имеющая более медленную память по частоте (у ATI RAGE 128 PRO частота чипсета — 140, а памяти — 159 МГц), обогнала четырхконвейерную карту! И даже если учесть, что в данном случае работа идет в режиме мультитекстурирования (то есть, по сути, работает в 2 раза меньше конвейеров), это не оправдывает низкие результаты карты на основе NVIDIA GeForce 256.

Мы специально привели эту диаграмму наряду с аналогичными результатами и по тесту TreeMark, использующему возможности GPU, для того, чтобы показать, что карта на базе NVIDIA GeForce 256 при работе с играми, которые не используют возможности геометрического сопроцессора демонстрирует снижение производительности при уменьшении частоты CPU системы, в такой же пропорции, что и ее предшественник — карта на базе NVIDIA Riva TNT2 Ultra.

Двигаемся дальше. Игра Shogo примечательна тем, что дает возможность включения и выключения режима мультитекстурирования, поэтому мы провели два тестирования:

Здесь мы наблюдаем привычную картину, когда карта на базе NVIDIA GeForce 256 при более высоких разрешениях значительно обходит конкурентов. Примечательно то, что ATI RAGE 128 PRO как раз здесь показала самые худшие результаты, что тоже странно.

Картина явно выигрышная для карты на базе NVIDIA GeForce 256. Этот режим в данном примере явно хорошо реализуется GPU GeForce 256. Обратите внимание, что Shogo работает только в 16-битном цвете, поэтому если провести сравнение с предыдущим тестированием в Expendable в этой же глубине цвета, то результаты очень схожи. Судя по всему, если у предыдущих чипсетов от NVIDIA режим мультитекстурирования хотя и давал небольшую прибавку в скорости, он не впечатлял своими результатами из-за того, что были другие чипсеты, у которых мультитекстурирование давало больше прироста в скорости. В данном случае, NVIDIA хорошо поработала над решением этой проблемы, и режим мультитекстурирования перестал быть ахиллессовой пятой у NVIDIA GeForce 256. Это важно, особенно с учетом того, что все больше и больше игр выходят с поддержкой режима мультитекстурирования.

Теперь о Quake2. Исследование работы карты на базе NVIDIA GeForce 256 в OpenGL мы начали с этой игры. Тестирование проводилось в 16- и 32-битном цвете.

Если учесть, что у NVIDIA в последнее время с поддержкой OpenGL было все в порядке, нет ничего удивительного в выдающихся результатах у карты на NVIDIA GeForce 256, которая сильно обогнала конкурентов.

Тут хотя лидерство и осталось за картой на базе GeForce 256, заметно сокращение отрыва от соперников на высоких разрешениях. Снова память? Опять нехватка ширины полосы пропускания? Очень похоже на то. Тут я должен вынести на суд читателей шаг, который предприняла NVIDIA в последней версии драйверов: это принудительное отключение режима мультитекстурирования в 16-битном цвете, и такое же включение его в 32-битном цвете. Я не могу протестировать NVIDIA GeForce 256 на старых драйверах версии 2.08 (они просто не знают этот чипсет), однако скажу, что производительность NVIDIA Riva TNT2 Ultra на новых драйверах версии 3.53 упала по сравнению с версией 2.08. Причем, в 16-битном цвете очень сильно. И если раньше задействование ключа ForceMultitexture давало эффект, то теперь этого эффекта практически нет. Поэтому мне трудно найти подходящие негативные слова, чтобы охарактеризовать этот поступок NVIDIA. Я вообще не могу понять, зачем надо все эти опции прятать от пользователей! Ну нельзя же нас всех считать полными идиотами, и что "мы все равно не поймем"! Зачем же скрывать от нас управляющие функции для работы в 3D?

Quake3 на данный момент представлен тестовой демо-версией v.1.08. Для нужд тестирования используется встроенное в игру демо Q3demo1. В данной игре имеются 4 стандартных режима, поэтому мы провели 4 теста, плюс одно исследование производительности карты на базе NVIDIA GeForce 256 на системе с разными CPU.

Тут все результаты очень похожи на результаты теста при 16-битном цвете в Quake2. Пропорции те же самые, лидерство за NVIDIA GeForce 256, режим разгона этого чипсета дал ощутимый прирост производительности. Не могу пройти мимо того, чтобы не упомянуть слабый ICD OpenGL у ATI RAGE 128 PRO. Это же просто стыдно - в конце 1999-го года выпускать такое программное обеспечение! Если сравнить прекрасные результаты в Direct3D с этими, то становится ясна вина программистов, которые до сих пор не могут написать добротный ICD OpenGL.

Тут снова нечем похвалиться чипсету NVIDIA GeForce 256. Прирост производительности относительно NVIDIA Riva TNT2 Ultra минимален.

Здесь комментарии излишни, все похоже на режим Normal.

Картина в этом тесте не изменилась, единственное заметно то, что ограничением становится уже вычислительная мощность CPU системы.

Исследуем теперь зависимость производительности NVIDIA GeForce 256 от частоты процессора при вершинном освещении (Vertex lighting):

Как было ранее сказано, id Software создает игру Quake3 так, что даже без переделки часть функций по обсчету геометрии и освещения можно возложить на геометрический сопроцессор. В частности, расчет вершинного освещения. Quake3 поддерживает два типа освещенности: при помощи карт освещения (lightmap) и вершинное (вертексное). Последнее, хотя и реализовано довольно убого в Quake3, можно возложить на GPU, а не на центральный процессор. Из диаграммы выше нетрудно заметить, что падение скорости при снижении частоты процессора не столь стремительно, как если бы это была игра, совершенно не пользующаяся преимуществами T&L.

Какой же комплексный вывод мы можем сделать по итогам тестирования? Прежде всего, это отсутствие революционно высоких показателей производительности. Да, прирост по скорости, несомненно, есть, я бы удивился, если бы его вообще не было, учитывая скорость заполнения в 480 Мегапикселей в секунду (напомню, что у NVIDIA Riva TNT2 Ultra на примере Hercules Dynamite TNT2 Ultra — 350 Мегапикселей в секунду). Однако зафиксированы низкие показатели карты на базе NVIDIA GeForce 256 в некоторых тестах, порой даже на уровне карты-предшественницы. А преимуществ у карты на базе NVIDIA GeForce 256 в 32-битном цвете вообще крайне мало. Печально, что такие возможности чипсета гробятся низкой пропускной способностью шины памяти. Тем не менее, мы видим, что возможности этого чипсета резко возрастают при работе с играми, поддерживающими аппаратный расчет T&L. Учитывая тот факт, что на подходе достаточно большое количество таких игр, я могу сказать, что будущее у карт на базе NVIDIA GeForce 256, даже с такой памятью, безусловно, есть. Перспективы у карт на базе GeForce 256, но с памятью типа DDR DRAM вообще видятся прекрасными. Более конкретно пока ничего сказать нельзя — ждем карту с DDR SGRAM памятью на борту.

Теперь поговорим о качестве 3D-графики. Оно, как и ожидалось, на уровне NVIDIA Riva TNT2 Ultra, а значит, высокое. Плюс наконец-то убрана та ложка дегтя, которая долгое время портила впечатление от воспроизведения 3D-графики на чипсетах от NVIDIA — это трилинейная аппроксимация. Выше, когда я рассматривал особенности чипа NVIDIA GeForce 256, я привел скриншоты из Quake3, где четко видна прекрасная реализация анизотропной фильтрации, поэтому на этом чипе мы больше не увидим этих "нелепых точек", явно выбившихся из общего строя. Качество же в целом читатель сможет оценить, посмотрев еще раз приведенные выше скриншоты из разных демонстрационных программ.

Подойдя вплотную к заврешающей стадии нашего обзора, я хочу отметить еще одну новую особенность чипсета от NVIDIA. Это работа с DVD-Video. Как уже говорилось ранее в обзорах по картам на базе NVIDIA Riva TNT2, чипсеты от NVIDIA мало что давали в плане поддержки DVD-видео. Процент загрузки процессора всегда был весьма высоким, хотя четкость изображения (использовалась система оверлеев) была на высоте.

Не так давно вышел новый программный проигрыватель WinDVD версии 1.2.85, с помощью которого мне удалось зафиксировать при проигрывании DVD-диска на карте NVIDIA GeForce 256 процент загрузки процессора ниже 45! Это действительно намного лучше, чем у карт на базе предыдущих чипосетов от NVIDIA. При этом качество изображения ничуть не терялось. Я считаю такие результаты весьма высокими, поэтому карты на NVIDIA GeForce 256 становятся еще более универсальными.

Подведем итоги.

Новый видеочипсет NVIDIA GeForce 256, который знаменует собой новую эру в компьютерных 3D-играх прошел испытания. Обладая большим потенциалом и возлагая рутинные вычисления на интегрированный геометрический сопроцессор, этот чипсет позволит сосредоточиться разработчикам игр на более высоком качестве исполнения элементов игры, введении новых эффектов (типа Cube-environment mapping), увеличении количества полигонов в объектах, что добавит натурализма при моделировании. Мы не можем дать положительную оценку работе NVIDIA GeForce 256 в ныне существующих приложениях, особенно много отрицательных моментов при работе с 32-битной глубиной представления цвета. Отмечу и указанную ранее непоследовательность фирмы NVIDIA в снабжении драйверов необходимыми опциями. Однако не надо забывать, что цена нового продукта подчас даже меньше, чем первых плат на NVIDIA Riva TNT2 Ultra. Это делает GPU NVIDIA GeForce 256 и платы на его основе весьма и весьма привлекательным приобретением. Да, мы понимаем, что рынок уже заполнен разными видеокартами до отказа. Найти нишу для промежуточного продукта очень трудно. Почему промежуточного? Да потому что, я убежден, весной 2000-года разгорится новый виток соперничества. Ведь выходит не только новый продукт от 3dfx, но улучшенный GeForce 256 от NVIDIA, а также Matrox нам сулит нечто сверхъестественное. Поживем — увидим. А пока тем, кто хотел приобрести видеокарту класса NVIDIA Riva TNT2 Ultra, я бы рекомендовал подумать о возможности потратить деньги на карты на базе GPU NVIDIA GeForce 256.

Видеокарта Creative 3D Blaster Annihilator предоставлена восточноевропейским представительством Creative Labs (Варшава).
Выражаем признательность официальному дистрибутору Creative Labs в России концерну Белый Ветер — ДВМ.




1 ноября 1999 Г.

Обзор видеокарты Creative 3D Blaster Annihilator

Обзор видеокарты Creative 3D Blaster Annihilator

Итак, 31 августа, NVIDIA пообещала нам изменить мир. Получилось ли это? Отчасти. Конечно, передела не произошло, но в мире видеоакселераторов графические процессоры (GPU) вышли на массовый рынок. Хотя первой объявила о новом чипсете, тоже имеющем интегрированный геометрический сопроцессор, компания S3, благодаря массированной рекламе GPU и обещаниям "золотых гор" практически все лавры первооткрывателя собрала хитрая NVIDIA. Ну и что же мы получили в NVIDIA GeForce 256? Посмотрим на спецификацию:

  • Частота ядра: 120 МГц
  • Частота работы шины памяти: до 200 МГц
  • Скорость обработки треугольников: 15 млн. треугольников в секунду, sustained DMA, transform/clip/light, setup, rasterize and render rate.
  • Разрядность шины памяти: 128 бит при SDR SDRAM/SGRAM, 256-бит при DDR SDRAM/SGRAM
  • Ширина полосы пропускания шины памяти: до 6,4 Гб/сек (пиковое значение при DDR памяти и шине 200 МГц)
  • Поддерживаемые типы памяти: SDRAM/SGRAM (с поддержкой режима блочной записи) и DDR SDRAM/DDR SGRAM
  • Объем локальной видеопамяти: до 128 Мб
  • RAMDAC: интегрированный, частота 350 МГц с поддержкой коррекции гаммы
  • Поддерживаемые разрешения: вплоть до 2048x1536@75Hz
  • Интерфейс внешней шины: полная поддержка AGP 2x/4x (включая SBA и DME) и PCI 2.2 (включая Bus mastering). Поддерживается режим AGP 4x Fast Writes, который обеспечивает возможность прямого обмена данными между CPU и GPU, минуя системную память компьютера, со скоростью до 1 Гб/сек, что должно положительно сказываться на общей производительности и разгрузить шину системной памяти.
  • Поддерживаются спецификации: последовательная шина I2C и DDC; ACPI D0-D3 режимы и управление питанием PCI; 100% соответствие PC'99 и PC'99a
  • Технологический процесс: 0,22 мкм
  • Число транзисторов: 23 млн.
  • Поддерживается интерфейс DFP с маштабированием, фильтрацией и разрешениями до 1600x1200
  • Поддерживается TV выход с разрешением до 800x600

2D-часть:

  • 256-разрядное 2D-ядро
  • Поддержка акселерации BitBLT, закраски прямоугольников и полигонов, прорисовка линий, аппаратный курсор и масштабирование по горизонтали/вертикали
  • Работа с ускорением графики при 8, 16 и 32 битном представлении глубины цвета

3D-часть:

  • 256-разрядный процессор рендеринга
  • Интегрированный геометрический процессор преобразования координат и установки освещения (T&L)
  • 4 конвейера рендеринга (вывод 4 пикселей за такт)
  • Аппаратная установка 8 источников света для всей сцены
  • Геометрический движок выполняющий операции над вещественными числами и занимающийся расположением полигонов в пространстве
  • Fillrate: 480 млн. пикселей в секунду
  • Скорость текстурирования: 480 млн. текселей в секунду и 240 млн. текселей в секунду в режиме мультитекстурирования
  • Для формирования текселя используется 8 текстурных сэмплов
  • Полная поддержка OpenGL и DX7 — Tranform & Lighting, Cube environment mapping (кубического текстурирования картами окружения), projective textures (проекция текстур) и компрессия текстур
  • Поддерживаются все пять форматов компрессии текстур DX6
  • Аппаратная поддержка рельефного текстурирования. Поддерживаются методы Embossing (выдавливания) и Dot Product (скалярное рельефное текстурирование)
  • Программируемые режимы смешивания нескольких текстур
  • Поддержка Vertex Blending (сочетание вершин полигонов), обеспечивающая естественное отображение сложносоставных объектов в местах склейки полигонов. Например, если нужна модель коленвала из двигателя машины, то использование vertex blending позволит сделать естественные переходы на всех изломах, в противном случае будут видны швы на местах состыковки полигонов.
  • Рендеринг при 32-битном представлении глубины цвета
  • Сглаживание полной сцены (Full scene anti-aliasing)
  • Анизотропная фильтрация с использованием 8 семплов
  • Поддерживается 8-битный стенсель буфер (буфер шаблонов)
  • Поддерживается 16/24/32-битная Z-буферизация
  • Поддерживаются отраженный свет и размытые тени
  • Улучшенные режимы прозрачности и полупрозрачность (Enhanced alpha blending modes)
  • Наложение тумана по вершинам полигонов и попиксельно в определенных областях сцены
  • Поддержка текстур размером 2048х2048 текселей с точностью 32 бита

Поддержка DVD/DTV:

  • Поддержка HDTV (High Definition Television)
  • Поддержка видеооверлеев
  • Масштабирование по вертикали и горизонтали с коэффициентом до 8:1
  • Управление яркостью, насыщенностью, контрастностью цвета на аппаратном уровне
  • Множество конфигураций HDTV, поддерживаемые через DMA и захват управления шиной
  • Поддерживается компенсация движения (хочется надеяться, что будет работать)
  • Аппаратное смешивание и полупрозрачность для субтитров и меню
  • Аппаратная поддержка преобразования цветовых пространств (YUV 4:2:2 и 4:2:0)
  • Многопроходная фильтрация видео изображений (5 степеней по горизонтали и 3 по вертикали)
  • Поддержка преобразования из планарного YUV12 (4:2:0) формата в упакованный формат 4:2:2 и обратно

Как видим, список возможностей весьма широк и заставляет испытателей даже переживать на счет того, а все ли на практике получилось из того, что заложено в опубликованных характеристиках? Вот у S3, например, первые версии Savage2000 получились несколько скромнее в части рабочих частот, нежели было обещано ранее (аргументируется это низким процентом выхода годных кристаллов).

Нам удалось протестировать одну из первых карт на чипе NVIDIA GeForce 256, Creative 3D Blaster Annihilator (Уничтожитель). Эта плата внешне очень похожа на свою предшественницу Creative 3D Blaster Riva TNT2 Ultra, естественно, имеет AGP форм фактор, интерфейс AGP 2x/4x и те же 32 Мбайта 5.5 нс SDRAM, расположенной в 16-ти микросхемах по обеим сторонам карты:

   

Что сразу бросается в глаза? То, что организация памяти осталась такой же, как и на Creative 3D Blaster Riva TNT2 Ultra — чипы те же самые, я даже сравнил маркировку микросхем. Я уже отмечал, что у современных видеоакселераторов самое узкое место — это полоса пропускания шины памяти. Иначе говоря, сколько бутылку не делай шире и больше, при том же самом горлышке, выльется из нее за единицу времени столько же воды, сколько и при гораздо меньшем объеме сосуда. Это уже первый повод для некоторого разочарования. Зачем делать чипсет более мощным, если все равно память не будет успевать за ним? Печальная участь 32-битного цвета так и осталась печальной, ведь, прежде всего из-за недостаточной скорости обмена с памятью мы видим более скромную производительность видеоускорителей при такой глубине представления цвета.

Также заметим, что GeForce 256 имеет 23 млн. транзисторов и изготавливается по 0.22 мкм технологическому процессу. Судя по всему, NVIDIA просто не успела завершить работы по переходу на 0.18 мкм процесс. Я считаю, что именно из-за использования 0.22 мкм процесса и большого числа транзисторов NVIDIA была вынуждена ограничить тактовую частоту ядра GeForce 256 величиной в 120 МГц, так как в противном случае могут возникнуть проблемы с перегревом чипа или даже с электропитанием. В качестве подтверждения скажу, что видеокарта на базе GPU NVIDIA GeForce 256 действительно при отсутствии внешнего охлаждения греется намного больше, чем карта на NVIDIA Riva TNT2 Ultra.

Безусловно, самой примечательной инновацией в NVIDIA GeForce 256 является, конечно же, наличие интегрированного геометрического сопроцессора. Можно спорить о целесообразности внедрения его в чип, а не установки внешней микросхемы, тут много за и против. За — это удешевление разработки дизайна эталонной видеокарты, более быстрое время выхода чипсета на рынок. Против — ограничения, накладываемые перегревом чипсета (сопроцессор ведь немало способствует этому), например, в тактовой частоте чипа.

В процессе 3D-рендеринга, после того, как необходимые данные получены, они проходят через этап преобразования координат, когда исходные координаты объектов 3D-сцены преобразуются в 2D-координаты, которые после рендеринга отображаются на экране монитора. Не следует забывать и о том, что каждая точка в пространстве может быть освещена несколькими источниками света. Все эти данные должны быть преобразованы с учетом угла зрения пользователя, т.н. правильной точки наблюдения в пространстве и перспективы. Только после этого происходит вывод результата на экран монитора одновременно с удалением всех деталей сцены, которые не будут видны на экране (т.н. clipping) с целью избежать ненужной работы при последующем рендеринге. Операции по преобразованию координат и расчету освещения требуют очень больших вычислительных ресурсов. Выполнять эти операции может CPU, а может и специализированный геометрический сопроцессор. При наличии последнего высвобождаемые ресурсы CPU могут быть использованы в играх для других целей, например, для реализации более продвинутого искусственного интеллекта (AI) или для расчета физики моделируемого мира (сила тяготения, плотность воздуха, и т.д.).

В GeForce 256 геометрическая часть, занимающаяся операциями T&L и Clipping обладает впечатляющими возможностями. Судите сами, GeForce 256 может выдаваться до 15 млн. текстурированных полигонов с z-буфером в секунду! Это очень много. При этом CPU системы может быть полностью освобожден от выполнения операций по преобразованию координат и установке освещения, которые могут отнимать до 70%-90% его ресурсов. Сразу возникает вопрос, а нужны ли нам сейчас видеокарты с GPU? По мнению разработчиков приложений, уже через год ни одна игра не будет хорошо работать без наличия на борту видеокарты геометрического акселератора — слишком уж большая разница между производительностью графического ускорителя с геометрическим сопроцессором и без него и, как следствие, большая разница в качестве отображаемой на экранах мониторов графики. С применением на практике аппаратного преобразования координат вершин полигонов (вертексов) с помощью геометрического сопроцессора все более-менее понятно. Все OpenGL-игры и Direct3D-игры (с небольшой модификацией) могут с большой пользой использовать эту возможность, а вот с расчетом освещения есть вопросы.

Первый источник освещения рассчитывается геометрическим сопроцессором, интегрированным в GeForce 256 бесплатно, т.е. без какого-либо ущерба производительности, а все остальные (в общей сложности, до 8 источников освещения для всей сцены) теоретически снижают производительность, но не более, чем на 5-7% (как все обстоит на практике, мы расскажем ниже). По мнению разработчиков игр, само по себе аппаратное освещение (vertex lighting) пока ещё реализуется слишком шаблонно. Но технологии и инструменты постоянно совершенствуются, так что все впереди, тем более, что сама NVIDIA прогнозирует широкое использование аппаратного освещения лишь ближе к концу следующего года.

Следующей особенностью NVIDIA GeForce256 является наличие 4-х конвейеров (напомню, что у NVIDIA Riva TNT/TNT2 их два). Это означает, что за каждый такт может формироваться четыре пикселя одновременно. При заявленной тактовой частоте GPU в 120 Мгц, мы получаем величину fillrate (скорость заполнения сцены) в 480 млн. пикселей в секунду. Однако, каждый конвейер у GeForce 256 имеет по одному блоку текстурирования. То есть, что в приложениях, использующих технику мультитекстурирования, когда на один пиксель накладывается одновременно две текстуры, величина fillrate при той же тактовой частоте чипа в 120 МГц снизится до уровня в 240 млн. пикселей в секунду. Отметим, что текстуры накладываются уже отфильтрованными, при этом для формирования одного текселя используется 8 текстурных сэмплов, что обеспечивает бесплатную анизотропную фильтрацию. Анизотропная фильтрация на основе 8 текстурных сэмплов — несколько своеобразное решение, слишком уж мало сэмплов. Лучшие результаты от использования анизотропной фильтрации получаются все-таки при использовании 16 или даже 32 текстурных сэмплов для определения результирующего цвета текстуры. Почему NVIDIA использует лишь 8 семплов, а не больше? Потому что для такой реализации нужен всего один блок текстурирования, как и реализовано в GeForce 256. Тем не менее, при использовании даже 8 сэмплов качество выводимого на экран монитора изображения существенно улучшается. Есть все основания предполагать, что будет заметно и улучшение качества картинки даже в существующих играх. Это было подтверждено на примере Quake3 (для наглядности я включил раскрашивание MIP-уровней разными цветами). Напомню, что техника MIP-mapping существует для того, чтобы объекты, находящиеся на разном расстоянии от глаза наблюдателя, отображались с разной степенью детализации (ведь чем дальше от нас объект, тем более расплывчато мы его видим). Поэтому вся сцена разбивается на на MIP-уровни, границы между которыми надо сглаживать, иначе реалистичность 3D-сцены снизится. Для этого существует ряд техник фильтрации, которым мы уделим особое внимание.


NVIDIA GeForce 256
   
NVIDIA Riva TNT2

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


NVIDIA GeForce 256
   
NVIDIA Riva TNT2

Обратили внимание на форму MIP-уровней? У NVIDIA GeForce 256 они округлые, расположены полукругом, в центре которого находится игрок. Естественно, что эта реализация разбиения сцены на MIP-уровни наиболее верная, поскольку границы видения наших глаз также создают полусферу. А у NVIDIA Riva TNT2 эти уровни получаются угловатыми. Прошу заметить, что эти результаты получены на одних и тех же драйверах, а это значит, что проблема решена на аппаратном уровне, что не может не радовать.

Теперь обсудим такой момент как fillrate, т.е. скорость заполнения сцены пикселями. Этот фактор напрямую влияет на производительность любого видеоадаптера. Так вот, после анонса GeForce 256 во многих изданиях высказывались мысли о том, что из-за низкой тактовой частоты графического ядра будет наблюдаться низкая производительность в играх. Чуть позднее на эту тему высказались и конкуренты NVIDIA в лице CTO 3dfx Scott Sellers. В частности, Скотт заметил, что fillrate у GeForce 256 находится на низком уровне, и его величины не хватит для использования карты в современных играх в высоких разрешениях. Разумеется, было замечено, что будущий продукт 3dfx будет обладать гораздо большим fillrate и позволит использовать в играх высокие разрешения без ущерба скорости. Действительно, по слухам стало известно, что fillrate у GeForce должен был быть в 3-4 раза больше, чем у TNT2, но этого не произошло. Например, некоторые карты на базе TNT2 Ultra обеспечивают скорость заполнения в 190 млн. пикселей в секунду при наложении двух текстур на пиксель, т.е. в играх с мультитекстурированием. В тех же играх GeForce 256 обладает потенциалом в 240 млн. пикселей в секунду с наложением двух текселей на пиксель за такт. Можно заметить, что прирост даже чисто теоретически незначителен. Тем не менее, однозначного ответа на вопрос: "Что лучше иметь в видеочипсете: высокую скорость заполнения сцены или геометрический сопроцессор?" пока нет. Понятно, что сопроцессор является очень привлекательной особенностью будущих видеокарт ввиду перекладки на него рутинных вычислений. Однако, до полноценного использования GPU еще далеко. Переделать уже вышедшие на рынок игры под использование GPU почти невозможно (за исключением нескольких OpenGL-игр). А при наличии высокой скорости заполнения сцены (fillrate) можно уже сейчас резко поднять fps в современных играх, либо дать возможность пользователям запускать те же игры на более высоких разрешениях. В качестве примера назвать две известные фирмы: Epic (разработчики Unreal Tournament) и id Software (разработчики Quake3), взгляды которых на эту проблему диаметрально противоположны. В первом случае упор делается на скорость заполнения сцены, то есть требуется просто более мощный акселератор, во втором — на увеличение сложности сцены с возложением вычислений на GPU, то есть требуется акселератор с GPU. Естественно, речь идет о будущих проектах, а не о сегодняшних играх. Хотя показательно и то, что id Software все же решила по возможности "довести" игру Quake3 до максимального использования геометрического сопроцессора у видеокарт, а Epic наотрез отказалась вносить какие-либо изменения в Unreal Tournament по его оптимизации под GPU (наверное, сказывается давняя любовь Epic к 3dfx J). Как пример, можно привести фрагмент из игры Quake3, где при помощи команд r_subdivisions 1 и r_lodCurveError 10000 можно получить более плавные кривые поверхности путем разбиения их на гораздо большее количество полигонов, при этом производительность карты почти не страдает:




Количество полигонов увеличено
   
Количество полигонов по умолчанию

Разумеется, на скорость работы карты влияют и такие факторы, как дополнительные специальные графические эффекты. В частности, ожидается, что при использовании техники сглаживания всей сцены (full scene anti-aliasing) будет заметное снижение величины скорости заполнения сцены, а значит и величина fps в играх снизится. Однако NVIDIA делает ставку на другое свойство GeForce 256, которое должно помочь улучшить качество выводимого изображения в играх, даже без применения эффекта full scene anti-aliasing. NVIDIA делает ставку на возможность обработки большего количества полигонов. Известно, что чем большее число треугольников используется при тесселяции поверхностей, тем более естественными получаются отображаемые графические модели. По сути, NVIDIA предлагает разработчикам игр использовать более сложные геометрические модели и большее число полигонов для каждой сцены, чтобы повысить общее качество изображения. И этим изящно должна решиться проблема снижения производительности при использовании техники full scene anti-aliasing. Фактически NVIDIA предлагает использовать в сцене 60000 треугольников и даже более, за счет чего должно улучшиться качество, а скорость fps при этом будет на желаемом уровне в 60 кадров в секунду. Только вот вопрос, будут ли разработчики следовать рекомендациям NVIDIA, пока остается открытым. Тем не менее, ниже мы приводим скриншот из одной демо-программы от NVIDIA:

   

Здесь видно, что создать модель почти реалистичного лица человека вполне возможно, что, несомненно, должно поднять уровень игр типа 3D-шутеров. Естественно, верхом совершенства в данном случае может явиться появление мимики на моделируемых лицах, что придаст играм такого класса больший натурализм.

Теперь о воде :). Да, этот объект в 3D-мире волнует многих проектировщиков, прежде всего из-за своей динамичности. Вода, в отличие от, например, стен, постоянно изменяется. Matrox предлагает использовать метод EMBM (рельефное текстурирование с использованием карт окружающей среды) для придания реалистичности движению воды. Согласен, этот способ действительно уникален и обеспечивает должный эффект. Однако, к сожалению, этой технологией владеют только чипсеты Matrox G400, поэтому разработчики не спешат с воплощением EMBM в играх. А есть ли способ повысить реалистичность отображения воды без особых технологий? Да есть, однако требуются достаточно большие вычислительные способности процессора. Вот тут и приходит снова на выручку наличие геометрического сопроцессора. Ниже представлены три скриншота, которые демонстрируют качество моделирования водной поверхности при наложении различных эффектов, воплощающих отражения и полупрозрачность:

   
 

Что мы видим? Полный штиль. А если воду слегка возмутить?

Эффект от появления волн налицо, причем все очень даже реалистично. Как же это получается? При помощи карты смещения, которая представляет собой своего рода решетку, где узлы определяют значения прозрачности среды. Рассчитываются также векторы отражения и преломления света. Таким образом, при наличии достаточно мощных вычислительных ресурсов у видеокарты данный метод доступен не только чипсетам с уникальными технологиями, но и всем остальным, а значит, вполне может использоваться при разработке 3D-игр.

Идем далее. Чтобы повысить реализм, NVIDIA предлагает разработчикам использовать технику моделирования отражений в реальном времени, для чего предлагается использовать технику cube environment mapping. Техника наложения кубических карт окружающей среды (cube environment mapping) поддерживается в интерфейсах DirectX 7 и OpenGL 1.2 и, по мнению NVIDIA, эту технику легко использовать. Вообще, карты окружающей среды применяются для воспроизведения зеркальных отражений и отраженного света. До недавнего времени применялись только плоские (planar) и сферические карты окружающей среды. Однако такие техники не обеспечивают реалистичности отражений и отраженного света, при этом использование сферических карт требует довольно много усилий от разработчиков, и такие карты сложно накладывать в режиме реального времени. Помочь разработчикам добиться реализма в режиме реального времени должна техника использования кубических карт окружающей среды.

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

Вот что мы видим на примере одной из демо-программ от NVIDIA:


Сферическая карта
   
Кубическая карта

Разница видна налицо.

Теперь о самой карте. Установка Creative 3D Blaster Annihilator прошла без проблем, драйверы инсталлировались сразу и просто. Кстати, начиная с версии 3.*, NVIDIA изменила дизайн драйверов и их содержание. Поэтому поговорим о новых драйверах немного подробнее. Отмечу, что эксперименты с удалением нужных опций из драйверов, начатые NVIDIA еще в 2.* версиях, продолжаются. Если установить 3.53 драйверы, то в них не будет никакой возможности манипулировать режимом Vsync (синхронизации частот вывода кадров видеокартой с частотой смены кадров монитора). Старые решения по правке Registry, которые успешно применялись на 2.* драйверах, теперь не работают. Поэтому укажу тот ключ, который надо внести в Registry для того, чтобы появилась возможность использования дополнительных опций, которые по умолчанию недоступны:


REGEDIT4

[HKEY_LOCAL_MACHINE\Software\NVIDIA Corporation\Global\NVTweak]

"CoolBits"=dword:00000003

После внесения этого ключа появляется возможность по настройке Vsync:

и появляется закладка для изменения частот работы платы (оверклокингу):

Рассмотрим оставшиеся закладки:

На этой панели выводится информация о видеокарте и версиях компонентов драйверов.

Эта закладка посвящена настройке Direct3D. По умолчанию включены опции эмуляции табличного тумана и Z-буфера. Лавры 3dfx, показывающей свой логотип при инициализации Glide, видимо, не дают покоя NVIDIA, которая решила вставить опцию показа ее логотипа при работе с Direct3D-программами. Остальные настройки драйверов мало чем отличаются от 2.* драйверов, за исключением замены опции трилинейной фильтрации на 8-точечную анизотропную в разделе MIP-mapping.

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

Ну что ж, на этом мы и закончим рассмотрение особенностей как чипсета NVIDIA GeForce 256, так и первой платы на его основе. Замечу, что плата от Creative создавалась в качестве референс-дизайна, т.е. как рекомендованный к клонированию шаблон для других производителей.

И, наконец, преходим к тестам, которые проводились на следующей системе:

  • процессор Intel Pentium III 600;
  • системная плата ASUS P3B-F;
  • оперативная память 128MB PC100;
  • жесткий диск Quantum FB CR 6.4GB;
  • монитор ViewSonic P810;
  • операционная система Windows 98.

Помимо этого, в нескольких тестах принимал участие и другой компьютер:

  • процессор AMD K6-2 450;
  • системная плата Chaintech 5AGM2;
  • оперативная память 128MB PC100;
  • жесткий диск Quantum FB CR 6.4GB;
  • монитор Nokia 447Xav;
  • операционная система Windows 98.

Тестирование проводилось на драйверах версии 3.53. В качестве соперников по скоростным показателям будут выступать Matrox Millennium G400 MAX (драйверы версии 5.30), Hercules Dynamite TNT2 Ultra (NVIDIA Riva TNT2 Ultra, драйверы версии 3.53) и совершенно новая для нас карта ATI RAGE FURY PRO (ATI RAGE 128 PRO, драйверы версии 6.30CDH34e).

Начнем мы с 2D-графики. Говоря о качестве, не могу не упомянуть высокую частоту RAMDAC, которая обеспечивает прекрасное качество изображения в разрешениях до 1600х1200 включительно. Выше проверить не могу, т.к. нет монитора, знающего такие режимы. Скоростные показатели мы снимали в разрешении 1600х1200 в 32-битном цвете при помощи WinBench99. Результаты представлены ниже:

  Business graphics Winmark High-End Graphics Winmark
Creative 3DBlaster Annihilator 187 651
Hercules Dynamite TNT2 Ultra 183 568
Matrox Millennium G400 MAX 194 645
ATI Fury Pro 185 610

Как можно заметить, по скорости наша карта обогнала все последние новинки, даже Matrox Millennium G400 MAX уступил пьедестал. Поэтому по универсальности и быстроте в 2D видеокарте Creative 3D Blaster Annihilator пока нет равных. Во избежание возражений среди профессионалов, работающих с тончайшими элементами 2D-графики, скажу, что речь идет о лидерстве среди игровых видеокарт. Хотя мой глаз не смог найти особых отличий между качеством графики у Creative 3D Blaster Annihilator и той же Matrox Millennium G400 MAX.

Теперь мы займемся 3D-графикой, прежде всего скоростными показателями. На этот раз мы немного отошли от традиции и добавили ряд новых показателей. Прежде всего, начнем мы с бенчмарка, который с некоторых пор стал олицетворением NVIDIA GeForce 256, а именно NVIDIA TreeMark. Именно этот демо-тест расчитан на все возможности этого чипсета и демонстрирует работу видеоакселератора в весьма напряженных условиях (при многих источниках освещения, а также большом количестве полигонов). Эта программа использует интерфейс OpenGL.

Сравненим работу NVIDIA GeForce 256 и NVIDIA Riva TNT2 Ultra в разных разрешениях на частоте процессора Pentium III 600 МГц (тест запускался при установках по умолчанию: уровень сложности depth равен 5, количество источников освещения lights равно 4):

Видно, что NVIDIA GeForce 256 показал себя просто супергигантом. Мы можем оценить, насколько он может быть силен в играх с аппаратным обсчетом T&L.

Посмотрим на работу NVIDIA GeForce 256 при различных частотах процессоров (были использованы частоты Pentium III — 600 и 450 МГц и Pentium II 300 МГц, а также K6-2 — 450 МГц). Установки бенчмарка по умолчанию:

Видно, что использование геометрического сопроцессора дало блестящие плоды, ибо результат на всех частотах (кроме К6-2 — 450 МГц) один и тот же! Таким образом, можно подтвердить, что при наличии игр, максимально использующих эти особенности NVIDIA GeForce 256, мы можем получить отличные показатели даже на слабых процессорах. Почему же так отстал К6-2? Тут вопрос сложный. Вероятно из-за несовершенства реализации в этой системе шины AGP, плюс слабая поддержка центральным процессором нужд видеокарты, не относящихся к T&L.

Проследим зависимость производительности NVIDIA GeForce 256 от количества источников освещения при одном и том же уровне сложности сцены (по умолчанию depth=5). Тестирование проводилось в разрешении 1024х768:

Как можем видеть, снижение скорости работы NVIDIA GeForce 256 при увеличении количества источников освещения идет по нисходящей кривой. Очевидно, что только малое количество источников освещения дают обещанное падение в 7%, в большинстве же случаев оно составляет 10 и более процентов. Если у GeForce 256 самый низкий показатель скорости при 8-ми источниках освещения примерно в 1,7 раза меньше самого высокого значения, то у NVIDIA Riva TNT2 Ultra это падение почти в 3 раза. Заметим, что результаты для GeForce 256 могут несколько улучшиться после выхода новых версий драйверов.

Посмотрим на зависимость производительности NVIDIA GeForce 256 от уровня сложности сцены, то есть от количества полигонов в кадре. Тестирование проводилось при числе источников освещения (lights) равном 4 (по умолчанию) в разрешении 1024х768:

На данном графике хорошо заметно резкое снижение скорости у NVIDIA Riva TNT2 Ultra уже при незначительном увеличении сложности сцены, а у NVIDIA GeForce 256 хотя кривая достаточно резко идет вниз, однако общая тенденция не столь плачевна. Правда, должен сказать, что причиной столь сильного падения производительности может быть именно узкая шина обмена с памятью.

В качестве следующего теста мы использовали еще одну новинку — Unreal Tournament (демо-версия 3.48) от Epic Games. К сожалению, официального бенчмарка у этой игры нет, поэтому я записал специальный ролик mydemo1.dem, который каждый при желании может у себя попробовать. Сразу же скажу, что демо-ролик создавался не для игры с ботами, а для испытаний видеокарт, поэтому там есть резкие, угловатые движения, выстрелы в пустоту, игра была записана в режиме "God" (бессмертия), дабы не возникали статичные экраны (это все я говорю для того, чтобы заядлые геймеры не возмущались уровнем моей игры :)). Ролик длинный, идет минут 7-10 до победы на одном из уровней игры. Это дает нам возможность наиболее объективно получить итоговую цифру производительности видеокарт.

Посмотрим на цифры. Да, первое место по скорости у NVIDIA GeForce 256, однако, отрыв очень мал. Известно, что эта игра не использует никаких аппаратных T&L, рассчитана только на скорость заполнения сцены видеокартой. Однако даже при значительно большей скорости NVIDIA GeForce 256 не обеспечивает соответствующего выигрыша. Почему? Не позволяет процессор. Да, Unreal Tournament — это игра будущего. Даже 600-мегагерцевого Intel Pentium III ей мало.

А вот тут новость: карта на базе NVIDIA GeForce 256 отстала от карты на базе NVIDIA Riva TNT2 Ultra. Пусть это единицы FPS, однако это показательно. Скорее всего, определяющим фактором в данном случае является то, что частота работы памяти у NVIDIA Riva TNT2 Ultra (200 MHz) выше, чем у карты на базе NVIDIA GeForce 256 (166 MHz), а работа в 32-битном цвете очень зависит именно от скорости работы видеопамяти.

Здесь я хочу немного отклониться от темы и пару слов сказать о разгоне. Дело в том, что мы, как уже стало у нас правилом, испытываем карты не только на штатных частотах, но и в режиме разогна. К сожалению, NVIDIA GeForce 256 является чрезмерно греющимся чипсетом, поэтому возможности его разгона весьма скромны. Нам удалось добиться стабильной работы карты при наличии внешнего дополнительного охлаждения только лишь на частотах 135/185 МГц (первое значение — частота чипсета, второе — памяти).

Теперь мы рассмотрим работу видеокарт на традиционных играх-инструментах тестирования:

  • Rage Expendable;
  • Monolith Shogo (демо — revshogo);
  • id Software Quake2 v.3.20 (демо — massive1.dm2)
  • id Software Quake3 Test v.1.08 (демо — q3demo1.dm3)

Expendable дает возможность увидеть работу видеоакселераторов в Direct3D при включенном режиме мультитекстурирования. Пользуясь этим инструментом я провел четыре теста.

Видно, что NVIDIA GeForce 256 обгоняет соперников только на высоких разрешениях. Судя по всему, ограничением является вычислительная мощность центрального процессора системы, даже в случае с Pentium III 600 МГц. Отметим обгон нашего героя другой новой картой — ATI RAGE FURY PRO в ряде разрешений.

Здесь картина совсем постыдная для карты на базе NVIDIA GeForce 256! Плата на базе ATI RAGE 128 PRO — просто явный лидер в этой номинации, но кроме этого, нетрудно заметить равенство показателей у карт на базе NVIDIA GeForce 256 и NVIDIA Riva TNT2 Ultra. Мне трудно дать объяснение этому феномену. В голову приходят две мысли: более слабая по производительности память, чем у NVIDIA Riva TNT2 Ultra, а также более грамотная оптимизация работы в режиме 32-битного представления цвета у карты на основе ATI RAGE 128 PRO. Что бы там ни было, а компанию ATI можно только поздравить с такой победой. Новой карте от ATI удалось обогнать не только предыдущих лидеров рынка видеокарт, но и карту на базе только что вышедшего чипсета GeForece 256, обладающую самой большой на сегодня скоростью заполнения сцены. Этот успех ATI действительно стоит всяческих похвал.

Посмотрим на падение производительности при переходе на 32-битное представление глубины цвета:

Как и ожидалось по итогам предыдущего теста, ATI RAGE 128 PRO заняла прочное лидерство среди карт при работе с 32-битным цветом, затем идет Matrox Millennium G400 MAX, потом, как ни странно, карта на базе NVIDIA Riva TNT2 Ultra. Что касается карты на базе NVIDIA GeForce 256, то она на последнем месте. Обратите внимание на величину падения скорости. Это подтверждает мои предположения, высказанные в предыдущем тесте, и мысль, изложенную в начале обзора, о том, что делать столь мощный чипсет и наделять его такой узкой шиной памяти — кощунство. Это прямой упрек в адрес компании NVIDIA. Двухконвейерная плата, имеющая более медленную память по частоте (у ATI RAGE 128 PRO частота чипсета — 140, а памяти — 159 МГц), обогнала четырхконвейерную карту! И даже если учесть, что в данном случае работа идет в режиме мультитекстурирования (то есть, по сути, работает в 2 раза меньше конвейеров), это не оправдывает низкие результаты карты на основе NVIDIA GeForce 256.

Мы специально привели эту диаграмму наряду с аналогичными результатами и по тесту TreeMark, использующему возможности GPU, для того, чтобы показать, что карта на базе NVIDIA GeForce 256 при работе с играми, которые не используют возможности геометрического сопроцессора демонстрирует снижение производительности при уменьшении частоты CPU системы, в такой же пропорции, что и ее предшественник — карта на базе NVIDIA Riva TNT2 Ultra.

Двигаемся дальше. Игра Shogo примечательна тем, что дает возможность включения и выключения режима мультитекстурирования, поэтому мы провели два тестирования:

Здесь мы наблюдаем привычную картину, когда карта на базе NVIDIA GeForce 256 при более высоких разрешениях значительно обходит конкурентов. Примечательно то, что ATI RAGE 128 PRO как раз здесь показала самые худшие результаты, что тоже странно.

Картина явно выигрышная для карты на базе NVIDIA GeForce 256. Этот режим в данном примере явно хорошо реализуется GPU GeForce 256. Обратите внимание, что Shogo работает только в 16-битном цвете, поэтому если провести сравнение с предыдущим тестированием в Expendable в этой же глубине цвета, то результаты очень схожи. Судя по всему, если у предыдущих чипсетов от NVIDIA режим мультитекстурирования хотя и давал небольшую прибавку в скорости, он не впечатлял своими результатами из-за того, что были другие чипсеты, у которых мультитекстурирование давало больше прироста в скорости. В данном случае, NVIDIA хорошо поработала над решением этой проблемы, и режим мультитекстурирования перестал быть ахиллессовой пятой у NVIDIA GeForce 256. Это важно, особенно с учетом того, что все больше и больше игр выходят с поддержкой режима мультитекстурирования.

Теперь о Quake2. Исследование работы карты на базе NVIDIA GeForce 256 в OpenGL мы начали с этой игры. Тестирование проводилось в 16- и 32-битном цвете.

Если учесть, что у NVIDIA в последнее время с поддержкой OpenGL было все в порядке, нет ничего удивительного в выдающихся результатах у карты на NVIDIA GeForce 256, которая сильно обогнала конкурентов.

Тут хотя лидерство и осталось за картой на базе GeForce 256, заметно сокращение отрыва от соперников на высоких разрешениях. Снова память? Опять нехватка ширины полосы пропускания? Очень похоже на то. Тут я должен вынести на суд читателей шаг, который предприняла NVIDIA в последней версии драйверов: это принудительное отключение режима мультитекстурирования в 16-битном цвете, и такое же включение его в 32-битном цвете. Я не могу протестировать NVIDIA GeForce 256 на старых драйверах версии 2.08 (они просто не знают этот чипсет), однако скажу, что производительность NVIDIA Riva TNT2 Ultra на новых драйверах версии 3.53 упала по сравнению с версией 2.08. Причем, в 16-битном цвете очень сильно. И если раньше задействование ключа ForceMultitexture давало эффект, то теперь этого эффекта практически нет. Поэтому мне трудно найти подходящие негативные слова, чтобы охарактеризовать этот поступок NVIDIA. Я вообще не могу понять, зачем надо все эти опции прятать от пользователей! Ну нельзя же нас всех считать полными идиотами, и что "мы все равно не поймем"! Зачем же скрывать от нас управляющие функции для работы в 3D?

Quake3 на данный момент представлен тестовой демо-версией v.1.08. Для нужд тестирования используется встроенное в игру демо Q3demo1. В данной игре имеются 4 стандартных режима, поэтому мы провели 4 теста, плюс одно исследование производительности карты на базе NVIDIA GeForce 256 на системе с разными CPU.

Тут все результаты очень похожи на результаты теста при 16-битном цвете в Quake2. Пропорции те же самые, лидерство за NVIDIA GeForce 256, режим разгона этого чипсета дал ощутимый прирост производительности. Не могу пройти мимо того, чтобы не упомянуть слабый ICD OpenGL у ATI RAGE 128 PRO. Это же просто стыдно - в конце 1999-го года выпускать такое программное обеспечение! Если сравнить прекрасные результаты в Direct3D с этими, то становится ясна вина программистов, которые до сих пор не могут написать добротный ICD OpenGL.

Тут снова нечем похвалиться чипсету NVIDIA GeForce 256. Прирост производительности относительно NVIDIA Riva TNT2 Ultra минимален.

Здесь комментарии излишни, все похоже на режим Normal.

Картина в этом тесте не изменилась, единственное заметно то, что ограничением становится уже вычислительная мощность CPU системы.

Исследуем теперь зависимость производительности NVIDIA GeForce 256 от частоты процессора при вершинном освещении (Vertex lighting):

Как было ранее сказано, id Software создает игру Quake3 так, что даже без переделки часть функций по обсчету геометрии и освещения можно возложить на геометрический сопроцессор. В частности, расчет вершинного освещения. Quake3 поддерживает два типа освещенности: при помощи карт освещения (lightmap) и вершинное (вертексное). Последнее, хотя и реализовано довольно убого в Quake3, можно возложить на GPU, а не на центральный процессор. Из диаграммы выше нетрудно заметить, что падение скорости при снижении частоты процессора не столь стремительно, как если бы это была игра, совершенно не пользующаяся преимуществами T&L.

Какой же комплексный вывод мы можем сделать по итогам тестирования? Прежде всего, это отсутствие революционно высоких показателей производительности. Да, прирост по скорости, несомненно, есть, я бы удивился, если бы его вообще не было, учитывая скорость заполнения в 480 Мегапикселей в секунду (напомню, что у NVIDIA Riva TNT2 Ultra на примере Hercules Dynamite TNT2 Ultra — 350 Мегапикселей в секунду). Однако зафиксированы низкие показатели карты на базе NVIDIA GeForce 256 в некоторых тестах, порой даже на уровне карты-предшественницы. А преимуществ у карты на базе NVIDIA GeForce 256 в 32-битном цвете вообще крайне мало. Печально, что такие возможности чипсета гробятся низкой пропускной способностью шины памяти. Тем не менее, мы видим, что возможности этого чипсета резко возрастают при работе с играми, поддерживающими аппаратный расчет T&L. Учитывая тот факт, что на подходе достаточно большое количество таких игр, я могу сказать, что будущее у карт на базе NVIDIA GeForce 256, даже с такой памятью, безусловно, есть. Перспективы у карт на базе GeForce 256, но с памятью типа DDR DRAM вообще видятся прекрасными. Более конкретно пока ничего сказать нельзя — ждем карту с DDR SGRAM памятью на борту.

Теперь поговорим о качестве 3D-графики. Оно, как и ожидалось, на уровне NVIDIA Riva TNT2 Ultra, а значит, высокое. Плюс наконец-то убрана та ложка дегтя, которая долгое время портила впечатление от воспроизведения 3D-графики на чипсетах от NVIDIA — это трилинейная аппроксимация. Выше, когда я рассматривал особенности чипа NVIDIA GeForce 256, я привел скриншоты из Quake3, где четко видна прекрасная реализация анизотропной фильтрации, поэтому на этом чипе мы больше не увидим этих "нелепых точек", явно выбившихся из общего строя. Качество же в целом читатель сможет оценить, посмотрев еще раз приведенные выше скриншоты из разных демонстрационных программ.

Подойдя вплотную к заврешающей стадии нашего обзора, я хочу отметить еще одну новую особенность чипсета от NVIDIA. Это работа с DVD-Video. Как уже говорилось ранее в обзорах по картам на базе NVIDIA Riva TNT2, чипсеты от NVIDIA мало что давали в плане поддержки DVD-видео. Процент загрузки процессора всегда был весьма высоким, хотя четкость изображения (использовалась система оверлеев) была на высоте.

Не так давно вышел новый программный проигрыватель WinDVD версии 1.2.85, с помощью которого мне удалось зафиксировать при проигрывании DVD-диска на карте NVIDIA GeForce 256 процент загрузки процессора ниже 45! Это действительно намного лучше, чем у карт на базе предыдущих чипосетов от NVIDIA. При этом качество изображения ничуть не терялось. Я считаю такие результаты весьма высокими, поэтому карты на NVIDIA GeForce 256 становятся еще более универсальными.

Подведем итоги.

Новый видеочипсет NVIDIA GeForce 256, который знаменует собой новую эру в компьютерных 3D-играх прошел испытания. Обладая большим потенциалом и возлагая рутинные вычисления на интегрированный геометрический сопроцессор, этот чипсет позволит сосредоточиться разработчикам игр на более высоком качестве исполнения элементов игры, введении новых эффектов (типа Cube-environment mapping), увеличении количества полигонов в объектах, что добавит натурализма при моделировании. Мы не можем дать положительную оценку работе NVIDIA GeForce 256 в ныне существующих приложениях, особенно много отрицательных моментов при работе с 32-битной глубиной представления цвета. Отмечу и указанную ранее непоследовательность фирмы NVIDIA в снабжении драйверов необходимыми опциями. Однако не надо забывать, что цена нового продукта подчас даже меньше, чем первых плат на NVIDIA Riva TNT2 Ultra. Это делает GPU NVIDIA GeForce 256 и платы на его основе весьма и весьма привлекательным приобретением. Да, мы понимаем, что рынок уже заполнен разными видеокартами до отказа. Найти нишу для промежуточного продукта очень трудно. Почему промежуточного? Да потому что, я убежден, весной 2000-года разгорится новый виток соперничества. Ведь выходит не только новый продукт от 3dfx, но улучшенный GeForce 256 от NVIDIA, а также Matrox нам сулит нечто сверхъестественное. Поживем — увидим. А пока тем, кто хотел приобрести видеокарту класса NVIDIA Riva TNT2 Ultra, я бы рекомендовал подумать о возможности потратить деньги на карты на базе GPU NVIDIA GeForce 256.

Видеокарта Creative 3D Blaster Annihilator предоставлена восточноевропейским представительством Creative Labs (Варшава).
Выражаем признательность официальному дистрибутору Creative Labs в России концерну Белый Ветер — ДВМ.