Обзор 3dfx Voodoo5 5500 AGP
"А время шло, обещанное уж побледнело..." Эти слова русского поэта Николая Некрасова могут стать своеобразным слоганом такого долгостроя, как видеокарты от 3dfx на базе нового чипа VSA-100. Еще осенью 1999 года мы слышали блистательные речи о будущих продуктах этой фирмы, шампанское лилось рекой, и Quantum3D анонсировала монстра с 32 чипами VSA-100, который наверняка будет поставлять в комплекте с атомной электростанцией, иначе питания не хватит.
Наконец настал тот день, когда после многих препятствий демонстрации видеокарт только с большого расстояния и... возвратов отгруженных партий обратно на доработку (ввиду якобы имеющейся в них ошибки) нам удалось заполучить экземпляр карты 3dfx Voodoo5 5500 AGP.
История выхода в свет нового детища 3dfx весьма трагична и витиевата. Как я уже сказал, в начале осени 1999 года после выхода в свет NVIDIA GeForce 256 все любители трехмерных игр стали ждать анонса нового продукта от 3dfx, известного под кодовым именем Napalm. Время шло, а 3dfx молчала, предлагая лишь описания своих новых технологий T-buffer и FXT1, которые будут поддерживаться в новом графическом чипе.
Немного позже, на выставке Comdex/Fall '99 3dfx анонсирует свой новый чип VSA-100, на базе которого будет строиться целая линейка видеокарт. Всех очень огорчили заявленные сроки выхода новых плат на рынок - весна 2000 года. Таким образом, получилось, что компания 3dfx примерно на полгода осталась без современных решений, тем самым давая карт-бланш видеокартам на базе чипсетов от NVIDIA. Продажи плат годичной давности на базе чипа Voodoo3 стали естественным образом снижаться, да и прибыль с них уже не такая большая, так как цены упали до минимума. Все это привело к ухудшению финансового состояния 3dfx. Тем не менее, совет директоров 3dfx нашел в себе силы и сменил CEO компании, что вселило надежду в акционеров и позволило найти скрытые резервы. Даже несмотря на невеселое финансовое положение компании, в начале 2000 года 3dfx объявила о намерении приобрести компанию GigaPixel, занимающуюся разработками в области 3D-графических процессоров с использованием тайловой архитектуры. Сделка должна быть завершена в ближайшие дни.
Вернемся к VSA-100. Компания 3dfx, анонсировав VSA-100, дала жизнь новой технологии - Voodoo Scalable Architecture. Сокращенное название технологии дало имя первому чипу на ее основе - VSA-100. Суть технологии в том, что на базе этих процессоров можно строить многочиповые решения, вплоть до 32-х и более. Многие помнят технологию SLI, применявшуюся в платах 3dfx Voodoo2, когда происходило объединение работы двух видеоакселераторов. По существу, VSA - это то же самое. Только более гибкое и расширенное решение. Действительно, зачем идти по пути наращивания мощности одного процессора, когда можно просто увеличивать их количество. Можно много спорить по поводу большей актуальности того или иного решения, однако у многопроцессорных решений есть очень важное преимущество - масштабируемость и параллелизм вычислений.
Поговорим немного о функционировании технологии VSA. Само понятие SLI-режима подразумевает обработку каждым чипом только части изображения, однако не зря перед анонсом VSA 3dfx представила технологию T-Buffer. Таким образом, видеокарты на базе чипов VSA-100 могут работать в одном из этих режимов: T-buffer или SLI. Рассмотрим более подробно режим SLI.
Во времена Voodoo2 технология SLI представляла собой следующее: два графических процессора осуществляют рендеринг разных строк одного кадра, формирующих конечное изображение. При этом все чипы используют один общий кадровый буфер. Затем сформированный кадр выводится из общего кадрового буфера на экран монитора. Архитектура VSA поддерживает новую реализацию технологии SLI, в которой устранены такие ограничения старого варианта SLI, как использование только двух графических чипов параллельно и отсутствие поддержки разрешений более чем 1024х768 (теперь поддерживаются разрешения вплоть до 2048x1536). Более того, новая версия технологии SLI представляет собой совершенно другую идеологию. Теперь режим SLI ориентирован на реализацию протокола взаимодействия нескольких графических процессоров, расположенных на одной PCB. В случае с VSA-100 новая версия технологии SLI позволяет обеспечить совместную работу в параллельном режиме до 32 графических процессоров. Теперь каждый чип, работающий в режиме SLI, может заниматься формированием определенной последовательности или полосы из строк одного кадра, а каждая такая последовательность может содержать от 1 до 128 строк. При этом число строк в последовательности или полосе может динамически изменяться. Речь идет о том, что каждый чип формирует строки, которые идут подряд и составляют полосу, а из набора полос формируется полный кадр. Зачем понадобилось использовать именно полосы с возможностью изменения количество строк, содержащихся в них? В зависимости от глубины представления цвета, числа полигонов в сцене и их расположения возможность изменять число строк, составляющих полосы, позволяет оптимальным образом загружать и использовать технику SLI. При этом возможна ситуация, когда формирование маленького полигона может выполняться полностью одним графическим чипом и в пределах одной полосы строк. В такой ситуации использование SLI будет неэффективным. С другой стороны, если графический чип формирует больше одной строки сразу, т.е. полосу, это позволяет загружать более равномерно всю систему и эффективно использовать текстурный кэш. В итоге, было решено использовать полосы, в которых число строк динамично изменяется от 1 до 128, что обеспечивает равномерную загрузку системы работающей в режиме SLI.
Замечу, что каждый из чипов VSA-100, используемых в режиме SLI, имеет собственную шину памяти и собственный кадровый буфер, в котором осуществляется рендеринг строк или последовательностей строк (полос), после чего данные из разных кадровых буферов передаются в общий кадровый буфер, где формируется полный кадр, и уже оттуда происходит вывод на экран монитора. Такая организация работы графических процессоров способствует более равномерному распределению нагрузки на полосу пропускания шины памяти. Кстати, благодаря такому решению, когда потоки данных равномерно распределяются между графическими процессорами, работающими в режиме SLI, суммарная ширина полосы пропускания памяти существенно возрастает. Каждый чип VSA-100 поддерживает работу с локальной видеопамятью объемом до 64 Мб. Часть доступной для каждого чипа памяти используется под кадровый буфер (с двойной или даже тройной буферизацией), а остальная память используется для хранения текстур и Z-буферизации. На тот случай, если доступных объемов памяти окажется мало, 3dfx рекомендует использовать один из двух поддерживаемых методов компрессии текстур: DXTC или FXT1.
Однако чипы VSA-100 могут работать и в другом режиме - T-buffer. Я не стану подробно описывать, что
это такое, о T-Buffer можно прочитать в нашем специальном материале. Скажу главное: это технология, при которой рендеринг осуществляется одновременно в нескольких кадровых буферах, после чего результаты комбинируются и после этого отображаются на экране монитора. При этом каждый чип, работая параллельно с другими, обрабатывает либо часть картинки, либо всю сцену целиком. Напрашивается сравнение с ATI RAGE MAXX, где тоже каждый чип работает с целым изображением. Однако методика VSA сильно отличается от MAXX.
Дело в том, что задачей T-buffer является повышение качества получаемого изображения. Напротив, технология MAXX ставит своей целью увеличение скорости работы карты, так как при этом каждый чипсет должен работать с новой задачей. VSA предусматривает работу карты таким образом, что каждый чип работает с одной и той же картинкой или частью, а в результате их смешивания (комбинирования) обеспечивается более высокое качество или реализуются специальные эффекты. Разумеется, при этом есть потери в скорости, однако пользователь волен выбирать: или скорость (режим SLI), или качество (T-buffer). К тому же T-buffer достаточно гибок, чтобы можно найти компромисс между падением в скорости и повышением качества картинки.
Самая главная функциональная особенность T-buffer - это реализация эффекта Full Scene Anti-aliasing. То есть полносценный эффект сглаживания. Во многих статьях описан этот важнейший эффект антиалиасинга (АА), который дает пользователю сглаженные края объектов, отсутствия "лестниц" на прямых линиях и устранение артефактов внутри полигонов. Не секрет, что одним из побочных эффектов рендеринга трехмерных сцен является наличие этих самых искаженных участков, которые мешают комфортному восприятию пользователем всей сцены.
Подробно о принципах методики FSАА написано в этой статье, я отмечу лишь, что есть два распространенных способа реализации FSАА. Это метод традиционного суперсэмплинга, при котором в зависимости от коэффициента сэмплирования (маска 2х1, 2х2 и т.д.) производится рендеринг всей сцены в разрешении, которое получается умножением заданного разрешения на коэффициент сэмплирования по каждой оси (например, при маске 2х1 и разрешении 800х600 производится рендериг в разрешении 800*2 х 600*1 = 1600х600), затем происходит выборка соседних пикселей и смешивание их для получения результирующих (например, при маске 2х2 берутся два пикселя по горизонтали и 2 по вертикали, и из этих 4-х пикселей получается один). При этом, когда происходит возврат в исходное разрешение, мы можем наблюдать эффект сглаживания тех самых "лестниц", которые нам так мешают, особенно в низких разрешениях. Ниже, при рассмотрении качества получаемого изображения в 3D на 3dfx Voodoo5 5500, я покажу для сравнения то, что мы можем получить при традиционном суперсэмплинге.
Второй способ - это метод FSAA, реализуемый с помощью T-buffer. При этом из нескольких чипов VSA-100 один назначается "master-процессором", а другие - "slave-процессорами". В кадровом буфере master-чипсета образуется область, достаточная для хранения картинки в заданном разрешении. В этом буфере и будет происходить процесс комбинирования нескольких изображений. В карте Voodoo5 5500 поддерживается два вида FSAАА с использованием T-Buffer: 2х и 4х. При 2х - каждый пиксель на изображении делится на два субпикселя (левый и правый) и каждому процессору VSA-100 дается команда осушествить рендеринг всей сцены, но опираясь на левые или правые субпиксели, то есть как бы со смещением относительно друг друга. Каждый чипсет это делает в своем буфере, затем все данные передаются Master-чипу, который в выделенной области буферной памяти путем альфа-смешения объединяет полученные картинки в одну. В результате мы имеем эффект сглаживания.
При методе FSAA 4х пиксель разбивается на 4 субпикселя, и задается рендеринг уже 4-х смещенных относительно друг друга изображений, но при этом каждому чипсету в двухчиповой карте приходится рендерить не одну, а две картинки, что, естественно, снижает общую производительность.
Самое примечательное в этом - это способ привязки рендеринга для каждого чипсета. Если в традиционном суперсэмплинге при маске 2х2 после рендеринга во вдвое большем разрешении результирующий пиксель тоже можно представить как состоящий из 4-х субпикселей (два по горизонтали и два по вертикали), то выборка точек привязки для дальнейших действий идет по центрам этих "субпикселей" (на рисунке - а):
А когда идет выборка субпикселей для реализации FSAА с использованием T-buffer, то производится как бы смещение точек выборки относительно центров субпикселей, в результате чего весь "квадрат" выборки поворачивается на определенный градус (см на рисунке - b)
Подробно об этом и что это дает, можно прочитать в этой статье... По сути, это позволяет получить более качественный результат при реализации FSAA.
Таким образом, мы разобрались с тем, как устроен FSАА с использованием T-buffer, что он также не бесплатный, как и традиционный суперсэмплинг, однако как сильно он понижает производительность, мы покажем ниже в разделе тестирования.
В заключении рассмотрения T-buffer я хочу сказать, что эта технология позволяет реализовать ряд интересных функций, призванных разнообразить степень восприятия картинки, ввести кинематографические эффекты типа Motion Blur (размытие при сильной скорости движения), дефокус (когда размываются объекты, далеко находящиеся от того, который в фокусе у зрителя) и др. Однако, если эффект FSАА имеет практическое применение и не зависит от поддержки технологии T-buffer игрой, т.к. является прозрачным для API, то все остальные эффекты требуют поддержки их со стороны игр или через API, поэтому в настоящее время актуального применения не имеют. Впрочем, в DX8 введена поддержка T-Buffer.
Вернемся теперь непосредственно к чипсету VSA-100. Рассмотрим его характеристики:
- Общие данные VSA-100
- Интегрированный 128 разрядный 2D/3D/Video ускоритель
- Чип содержит 14 млн. транзисторов, изготавливается по 0.25 мкм технологическому процессу с использованием шестислойной технологии
- Частота графического ядра - 166 MHz
- 2 конвейера рендеринга с 1 блоком текстурирования на каждом
- Fillrate 333 млн. пикселей в секунду (166 Мпикселей в режиме мультитекстурирования)
- Интегрированный 350 MHz RAMDAC
- Рендеринг при 32-битной глубине представления цвета
- 24-бит Z & W буферы,
- 8-битный стенсель буфер
- Текстуры с 32-битной точностью представления данных и размером вплоть до 2040x2048 пикселей
- 128-разрядный интерфейс памяти
- Один чип VSA-100 поддерживает до 64 Мб локальной видеопамяти типа SDRAM/SGRAM
- PCI 2.2 и AGP x2/4x с SBA, но без DME
- Максимальное разрешение 2048x1536@85Hz
- 3D-часть
- Поддерживается весь набор функций, как у серии Voodoo3
- Мультитекстурирование за один проход и один такт
- Рельефное текстурирование за один проход и один такт
- Трилинейная фильтрация за один проход и один такт
- Попиксельный mip-mapping и режим альфа смешивания
- Поддержка 8-битных палетизированных текстур (гарантирует высокую совместимость с играми и не снижает общей производительности)
- Наложение табличного и попиксельного тумана
- Поддерживается "triangle strips and fans" (При наличии смежных треугольников не требуется передавать информацию о всех трех вершинах каждого из них, а просто передаются данные сразу о последовательности треугольников, для каждого из которых определяется лишь одна вершина. В результате снижаются требования к ширине полосы пропускания шины памяти)
- Динамичное наложение текстур окружающей среды
- Поддерживаются все режимы смешивания текстурных цветов, описанные в DX6, DX7 и OpenGL 1.2
- Поддерживаются технологии компрессии текстур DXTC и FXT1
Легко заметить сходство VSA-100 и NVIDIA Riva TNT2. Различие лишь в более высокой частоте работы и поддержке ряда новых функций. По всей видимости, стечение обстоятельств не позволило 3dfx выполнить этот чип по 0.18 мкм (или хотя бы по 0.22 мкм) технологии, чтобы усилить его еще парой текстурных блоков (придав чипсету бесплатное мультитекстурирование). Однако не надо смущаться относительно скромным характеристикам VSA-100! Ведь суть VSA в том, что эти процессоры могут и должны работать в некоем объединении, а иначе говоря, в составе многочиповых видеокарт. Еще осенью 1999 года 3dfx объявила линейку таких плат:
Voodoo5 5000 PCI:
- Два чипа VSA-100
- RAM 32 Mb
- Fillrate 667 млн. пикселей в секунду, 333 Мпикселя в режиме мультитекстурирования
- Поддержка T-Buffer, т.е. есть аппаратный FSAA и спец. эффекты
Voodoo5 5500 AGP:
- Два чипа VSA-100
- RAM 64 Mb
- Fillrate 667 млн. пикселей в секунду, 333 Мпикселя в режиме мультитекстурирования
- Поддержка T-Buffer, т.е. есть аппаратный FSAA и спец. эффекты
Эти две карты представляют собой массовые варианты поставок новых изделий от 3dfx, хотя наличие всего 32-х мегабайт на 5000-й модели ставит под сомнение ее конкурентоспособность, учитывая отсутствие AGP-текстурирования.
Voodoo5 6000 AGP:
- Четыре чипа VSA-100
- RAM 128 Mb
- Fillrate 1.32 млн. пикселей в секунду, 667 Мпикселя в режиме мультитекстурирования
- Поддержка T-Buffer, т.е. есть аппаратный FSAA и спец. эффекты
Самая мощная из объявленных карт. Имеет четыре чипа VSA-100, 128 Мб локальной видеопамяти и невероятно высокую стоимость. Судя по всему, только карта Voodoo5 6000 сможет в полной мере продемонстрировать все прелести аппаратной реализации FSAA без очень существенного ущерба общей производительности видеоподсистемы. Однако стоимость этой платы может способствовать тому, что покупать ее будут только фанаты фирмы 3dfx.
В массовую продажу должны поступить пока только карты 3dfx Voodoo5 5500, поставка аналогов на PCI обещана в июле, Voodoo5 6000 - тоже примерно в середине лета.
Плата
Плата 3dfx Voodoo5 5500 AGP представляет собой серийную карту, имеющую AGP2x интерфейс, 64 мегабайта SDR SDRAM памяти, размещенной в 8-ми микросхемах по обеим сторонам PCB. Микросхемы от фирмы Hyundai и имеют время доступа 6 ns.
Память работает на штатной частоте 166 МГц, как впрочем и чипы VSA-100 (у изделий фирмы 3dfx чип и память тактуются одинаково и синхронно, и их частоты нельзя изменять по отдельности). Чипов VSA-100, как и следовало ожидать, два. На каждом из них установлен активный кулер на шариковых подшипниках AAVID, что может свидетельствовать о хорошем качестве вентиляторов и их надежности. Тем не менее, разогнать видеокарту свыше 175/175 МГц не удалось (вероятно, сказывается 0.25 мкм технология чипсета VSA-100, а также общий сильный нагрев видеокарты).
Примечательна правая сторона PCB у видеокарты:
Здесь расположено устройство дополнительного питания, и смонтирован разъем (4 пин) для подключения "хвоста" от блока питания на манер питания винчестеров или дисководов. Как выяснилось, без этого питания видеокарта не запускается вообще, а компьютер издает звуковой сигнал, свидетельствующий об отсутствии видеокарты. Что именно подпитывается от этого источника - трудно сказать. Касаемо питания в целом, я должен отметить, что плата требует наличия качественного блока питания в компьютере мощностью не менее 250 Вт, в противном случае возможны зависания во время игр. Я на такое натолкнулся, когда Voodoo5 5500 была установлена в корпус Inwin Solist с БП 235 Вт. Работы карты была нестабильной, и в конечном итоге она стала зависать во всех трехмерных играх (любопытно, что при этом, видимо, отключался второй чип VSA-100, так как перед зависанием появлялось полосатое по горизонтали изображение).
Видеокарта имеет довольно большие размеры, тем не менее, в обычный АТХ-корпус умещается бех труда.
К сожалению, фирма 3dfx не прислушивается к нуждам пользователей, и на видеокарте нет ни TV-out, ни выхода на LCD-мониторы. Даже нет никаких "заготовок" на PCB под монтаж этих устройств. А зря, учитывая, что на LCD-мониторах чаще всего работают в невысоких разрешениях, использование карт 3dfx Voodoo5 5500 для игр в малых разрешениях с полным АА было бы весьма привлекательно.
Видеокарта к нам попала в Retail-упаковке. В коробке, кроме самой карты, можно найти руководство по установке и CD-диск с драйверами. Никаких игр не поставляется (а жаль, хотя бы демо-версии сделали, где видны были бы технологии типа Motion Blur в действии).
Установка и драйверы
Вместе с видеокартой поставлялись драйверы от 3dfx версии 1.1.
Драйверы имеют много настроек, доступ к которым возможен не только через настройки дисплея, но и через специальный диспетчер, пиктограмма которого имеется в панели задач справа:
Стоит внести вручную изменения в registry:
HKEY_LOCAL_MACHINE\SOFTWARE\3Dfx Interactive\3dfx
Tools\Installed\Tools\{AB040305-8AA1-11D2-8DD1-00104BB5EAD6}
Задайте переменной CompleteRegistration значение 1 и перезагрузите компьютер. Тогда в числе настроек появится закладка с разгоном и регулировкой Vsync:
Интересно отметить, что после смены частот и перезагрузки появляется предупреждающая надпись, требующая подтверждения изменения частот:
Одна из самых интересных настроек - закладка, посвященная анти-алиасингу:
Видно, что можно задать как режимы работы АА, так и просто отключать второй чип VSA-100 и превратить 3dfx Voodoo5 5500 в 3dfx Voodoo4 4500.
Настройки по 3D сведены в одну закладку, где можно регулировать параметры работы карты в Direct3D:
И в OpenGL/Glide:
|