Computer Review#99(91)

Легендарная 3Dfx и ее дети

Помните ли, всего два года назад, покупая в игровых салонах диск, на обороте коробочки можно было прочитать требования Pentium 90, 16Mb RAM. А сейчас!!! Требуется Pentium II и выше, объем оперативной памяти не менее 32Mb, желательно наличие 3D-акселератора. А некоторые игры наотрез отказываются работать без него. Это же ужас!!!

Но давайте разберемся. Делая upgrade, то есть наращивая объем оперативной памяти или увеличивая мощность процессора, вы за те же деньги не получите и трети прироста производительности при обработке графики, по сравнению с тем, что даст установка 3D-акселератора. Стоит он недешево — 30-200 у.е. — но если разобраться, в принципе, получается выгодно. Выгодно потому, что именно так и было задумано.

Немного истории Шел 1997 год. Недавно вышел долгожданный Quake от ID Software. В прессе появились сообщения о какой-то аппаратной 3D-акселерации. На Западе упорно говорили, что это нечто очень хорошее и дорогое, разработанное компанией 3Dfx. Так началась эра 3D-ускорителей, доступных массовому пользователю. До этого фирмы, занимающиеся разработками в этой области, например Silicon Graphics, не направляли своих усилий на тот сегмент рынка, который принято называть персональными компьютерами. И, естественно, стоимость их изделий была недоступной рядовому покупателю. Их клиентами были крупные корпорации, киностудии и, конечно, военные.

Финансовое состояние НАТОвских военных гораздо лучше, чем наших, так что денег хватает на перспективные исследования. Вот по заказу военных и вела фирма 3Dfx-разработки аппаратного ускорения трехмерной графики. Что же означает этот таинственный термин. Говоря упрощенно, в помощь центральному процессору компьютера дается еще один процессор и дополнительная память. Кстати, военные остались довольны разработками 3Dfx. Давно хотелось заполучить идеальное изображение для своих тренажеров.

Как хорошо, если пилот, находясь в кабине самолета, не будет замечать разницы между виртуальным и реальным полетом. Можно обучать летчиков прямо на земле, не подвергая лишнему риску личный состав и машины. Кто знает, чем бы это закончилось, но в один прекрасный день менеджеры 3Dfx решили перенести акцент на рынок персональных компьютеров и не прогадали. Как раз в это время в игровом мире, как грибы после дождя, стали появляться трехмерные игры. Хорошее стечение обстоятельств, не правда ли? В общем, появились на рынке платы для персональных компьютеров на базе чипов от 3Dfx. Было даже время, когда акселераторы упорно называли не иначе как «3Dfx», хотя сама фирма не выпускает акселераторов, только микросхемы для них. Заблуждение появилось из-за того, что первое время акселераторы на базе чипов от 3Dfx занимали 75% всего рынка 3D-карт. Лучшие производители игр стали выпускать в свет шедевры, которые во всей красоте иллюстрировали возможности технологии аппаратной акселерации.

А 3Dfx им за это платила. И совсем скоро магическую надпись, состоящую из одной цифры и трех букв, можно было увидеть почти на каждой коробочке с игрой. Но свято место пусто не бывает, стали попадаться игры, которые, кроме поддержки акселераторов, не могли ничем похвастать. Не чистый на руку издатель игр использовал имя 3Dfx как залог успешной продажи своей продукции. В чем секрет? А теперь, думаю, стоит коротко рассказать, что такое 3D-технология. Для того чтобы построить модель в 3-мерном пространстве, выбирается набор точек, которые становятся вершинами так называемых полигонов, а проще говоря, многоугольников. А на полигоны, ориентированные в пространстве, накладываются текстуры — двухмерные графические объекты, имитирующие структуру поверхности. Накладывая текстуры на объекты, построенные из полигонов, можно очень реалистично изобразить и монстров, и машины, и роботов, одним словом, все, что душе угодно. Но самое главное, что созданный объект целиком и полностью описан с помощью математических функций.

А это означает, что компьютеру легко им управлять, например, заставлять двигаться. Чем лучше прорисованы текстуры, и чем больше полигонов использовано, тем реалистичней выглядит построенная модель. Естественно, для использования указанной выше технологии нужно производить большое количество вычислений по сложным и громоздким алгоритмам. Центральный процессор может это делать, но у него кроме графики очень много дел. Поэтому, чтобы его разгрузить, все расчеты, связанные с графикой, перекладываются на процессоры акселератора. Но 3D-акселератор — это не просто дополнительные процессоры и несколько лишних мегабайт памяти. Он позволяет обрабатывать ряд специфических команд, что очень облегчает жизнь программистам, работающим с трехмерными моделями. Акселератор «смазывает» пиксели на текстурах, цвета плавно переходят из одного в другой, так что картинка не кажется сделанной из квадратиков. А это и было секретом коммерческого успеха игр, поддерживающих 3D-акселерацию — столь сильно отличались их творения от аналогов чуть запоздавших конкурентов. 3D-кухня Итак, из чего состоит 3D-акселератор.

Прежде всего, обратим внимание на процессор обработки изображения в кадре с персональным банком памяти — это, так сказать, сердце, главная деталь. Кроме него отметим несколько текстурных процессоров с собственными банками памяти и преобразователь цифрового видеосигнала в аналоговый. Это и есть основные компоненты 3D-акселератора. Процессор обработки изображения генерирует картинку на экране и делает необходимые вычисления для всевозможных спецэффектов. Для чего нужны текстурные процессоры, ясно из названия — их предназначение в разрисовке уже созданных объектов. Под них отводятся модули памяти объемом не менее двух мегабайт. Спецэффекты Видимое невооруженным глазом преимущество, которое получают счастливые обладатели графических ускорителей — это, прежде всего, спецэффекты. На них остановимся немного подробнее. Наложение текстур с коррекцией перспективы. Эта функция необходима, чтобы при движении объекта текстуры не «сползали» и всегда прорисовывались под нужным углом. Таким образом обеспечивается целостность изображения. Затемение и освещение необходимы для того, чтобы без участия центрального процессора добиться высокого качества изображения и скрыть некоторые недостатки в графике, акцентируя внимание на нужных деталях.

Можно также сгладить угловатость моделей. Прозрачность текстур. Сплошь и рядом приходится рассчитывать, какой элемент несет на себе текстуры, какой — нет. Например, один из объектов прозрачен, и через него видно, что находится на заднем плане. Или нужно вести наблюдение сквозь листву дерева. Акселератор рассчитывает, какой элемент прорисовывать, а какой должен оставаться прозрачным. Z-буферизация. Необходима для просчета алгоритмов, когда один объект заслоняет другой, с точки зрения игрока, и требуется определить, какая часть модели будет видна, а какая нет. Z-буферу отведен определенный объем памяти в кадровом буфере. И даже при базовых разрешениях для него требуется наличие как минимум 4Mb видеопамяти. Но овчинка стоит выделки, и большое число игр используют Z-буфер, без него производительность снижается. Оптимизация текстур. При прорисовывании новой сцены все необходимые для этого текстуры загружаются из системной памяти в кадровый буфер для последующего использования графическим процессором. На это затрачивается наибольшее количество системных ресурсов и ресурсов самого графического акселератора. Однако метод оптимизации текстур позволяет, используя специальную таблицу преобразования палитры, эффективнее пользоваться 16-разрядными текстурами, переводя их в 8- или даже 4-разрядные.

Поясним. 16-разрядные палитры содержат огромное количество цветов и оттенков. Их счет идет на миллионы, в то время как 8-битные палитры используют всего 256 цветов. Благодаря этому можно сэкономить время обработки процессов и память. Многоуровневые текстуры. Каждый объект, независимо от того, находится он близко или далеко, состоит из строго определенного количества полигонов. Поэтому при его удалении от наблюдателя полигоны приходится уменьшать в размерах. Следовательно, и текстуры на полигонах необходимо сжимать или растягивать. Что бы улучшить качество и детализацию, применяется метод создания многоуровневых текстур. Такая функция может выполняться программно или аппаратно. Эффект «тумана». Для прорисовки некоторых сцен (художественный прием) и с целью разгрузки процессора (при установке худшей детализации) используют эффект тумана. В этом случае часть изображения «маскируют» за пеленой. Это достигается за счет смешивания цветных текстур с белым цветом. Таким образом можно сэкономить до 20% ресурсов системы.

Семейство Voodoo Но вернемся к нашей 3Dfx. Что-то мы ее совсем забыли, рассуждая о принципах работы акселераторов. Ее детям уже немало лет. Учитывайте, что любой компьютерный блок возрастом в один год — это уже глубокий старик, как ни прискорбно. А первые карты чипов Voodoo стали появляться в 1998 году. Затем были Voodoo Rush и Voodoo2. Эти чипы 3Dfx поставляла крупным компаниям, таким как Diamond Multimedia, Creative labs. С более мелкими фирмами она, кстати, тоже прекрасно сотрудничала. Какое-то время ходили даже упорные слухи о том, что 3Dfx нарушает договор и поставляет чипы Даймонду и Креативу раньше, чем другим, хотя все должны были получать их в одно время. Чипы Voodoo используют такие акселераторы, как Diamond Monster 3D, Helios 3D Voodoo Edition, Maxi Gamer 3D, Skywell Magic 3D, Miro Hiscore 3D, Canopus Pure 3D и некоторые другие. У всех, кроме двух последних, объем основной памяти 4Mb, из них 2Mb текстурный буфер и 2Mb фреймбуфер. Miro Hiscore 3D и Canopus Pure 3D обладают памятью в 6Mb: 4Mb текстурный буфер и 2Mb фреймбуфер. За счет увеличенной памяти стало возможным оперировать графикой с более высоким разрешением. Карты на основе чипа 3Dfx Voodoo Graphics отличаются хорошим качеством и низкой ценой.

В Иркутске можно без проблем купить карты на чипах Voodoo, но в сравнении с современными акселераторами они выглядят бледновато. Теперь уже пора искать карту с 32Мб на борту. Но если вдруг ваш аппарат до сих пор не оборудован графическим акселератором, а денег на современного «монстра» не хватает, выручит старый, надежный акселератор на Voodoo. Он еще может тряхнуть стариной. Видеоконтроллеры на базе Voodoo и Voodoo2 создавались специально для работы с 3D-графикой. Для работы же с двухмерной графикой, например, с Windows, требуется другой контроллер. Т.е. карты на этих чипах могут выступать лишь довеском к обычной видеокарте. На основе Voodoo Rush создаются комбинированные акселераторы 2D/3D. Надо сказать, что этот чип — не совсем удачный эксперимент компании 3Dfx. Карты на его основе обладают производительностью в 1,5 раза меньшей, чем у Voodoo-братьев. Единственным их преимуществом является воспроизведение изображения в оконном режиме.

Напоследок остановимся на акселераторах на основе чипа Voodoo2. Рассмотрим пример с картой Creative 3D Blaster Voodoo2. Объем памяти 8Mb, из них 4Mb текстурный буфер и 4Mb фреймбуфер. Также можно встретить варианты с 12Мб. На плате стоят 2 процессора для обработки текстур. Возможна установка на один компьютер 2-х карт на базе Voodoo2, что увеличивает его производительность. Эти карты позволяют использовать разрешение вплоть до 1024 на 768. Но для того, что бы ускоритель проявил свои способности в полную силу, нужен компьютер с процессором Pentium 2. При установке в обычных Pentium’ах его производительность лишь незначительно больше, чем у карт на чипах Voodoo. При следующей встрече мы поговорим о современных акселераторах и их цене на нашем рынке.

До новых встреч.

Максим Мыльников, г. Иркутск


Computer Review#19(91)

Copyright © 1998 "Компьютерное обозрение"
Поддержка - "Иркутский Издательский Дом" - www.iid.irk.ru
Дизайн - leidenwebdesign - http://leiden.irkutsk.ru