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

По данным исследовательской фирмы Jon Peddie Associates, общее количество проданных в 1998 году видеоадаптеров с ускорением трехмерной графики (доля «чистых» ускорителей двухмерной графики стремительно снижается) составит 70 млн. штук. Конкуренция на этом рынке очень высока, особенно в секторе изделий младшего и среднего класса, где стоимость видеоплат обычно не превышает 300 долл. О таких продуктах, используемых в них технологиях, а также преимуществах, которые они дают пользователям, и пойдет речь в данном обзоре.

Видеоадаптер сегодня и завтра

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

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

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

Параллельно с накоплением в видеопамяти полного цифрового «слепка» изображения на экране данные считываются цифроаналоговым преобразователем (Digital Analog Converter, DAC). Поскольку DAC обычно (хотя и не всегда) включает собственную память произвольного доступа (Random Access Memory, RAM) для хранения палитры цветов в 8-разрядных режимах, его еще называют RAMDAC. На последнем этапе DAC преобразует цифровые данные в аналоговые и посылает их на монитор. Эта операция выполняется DAC несколько десятков раз за одну секунду; данная характеристика называется частотой обновления (или регенерации) экрана. Согласно современным эргономическим стандартам, частота обновления экрана должна составлять не менее 85 Гц, в противном случае человеческий глаз замечает мерцание, что отрицательно влияет на зрение.

Даже подобная упрощенная схема, описывающая механизм работы универсального видеоадаптера, позволяет понять, чем руководствуются разработчики графических ускорителей и плат, когда принимают те или иные технологические решения. Очевидно, что здесь, как и в любой вычислительной системе, есть узкие места, ограничивающие общую производительность. Где они и как их пытаются устранить?

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

Во-вторых, обработка поступающих данных графическим ускорителем. Повысить скорость этой операции можно, совершенствуя архитектуру графического процессора, например, внедрив конвейерную обработку, когда новая команда начинает выполняться еще до завершения выполнения предыдущей. Производители увеличивают разрядность процессоров и расширяют перечень функций, поддерживаемых на аппаратном уровне; повышают тактовые частоты. Все эти усовершенствования позволяют значительно ускорить заполнение видеопамяти графическими данными, готовыми для отображения на экране. О конкретных реализациях будет рассказано ниже в разделе «Законодатели мод».

И, в-третьих, обмен данными в подсистеме «графический процессор - видеопамять - RAMDAC». Здесь также существует несколько путей развития. Один из них - использование специальной двухпортовой памяти, VRAM, к которой можно одновременно обращаться из двух устройств: записывать данные из графического процессора и читать из RAMDAC. Память VRAM довольно сложна в изготовлении и, следовательно, дороже других типов. (Есть еще один вариант двухпортовой памяти, впервые примененный компанией Matrox - Window RAM, WRAM, - обеспечивающий несколько более высокую производительность при себестоимости на 20% ниже.) Поскольку использование двухпортовой памяти дает ощутимый прирост производительности лишь в режимах с высокими разрешениями (1600х1200 и выше), этот путь можно считать перспективным лишь для видеоускорителей высшего класса.

Еще один способ - увеличить разрядность шины данных. У большинства производителей разрядность шины данных достигла 128 бит, то есть за один раз по такой шине можно передать 16 байт данных. Еще одно, довольно очевидное решение, - повысить частоту обращения к видеопамяти. Стандартная для современных видеоадаптеров память SGRAM работает на тактовой частоте 100 МГц, а у некоторых производителей уже используются частоты 125 и даже 133 МГц. Для чего все это нужно? Чем быстрее подготовленные графическим процессором данные поступают в RAMDAC и преобразуются в аналоговый сигнал, тем больший их объем за единицу времени будет «конвертирован» в изображение, что позволяет повысить его реалистичность и детализацию.

Куда идем?

Продолжая разговор о технологиях, воплощаемых различными производителями, имеет смысл обсудить тенденции, наметившиеся в развитии видеоадаптеров.

Практически все производители связывают свое будущее с AGP. Правда, в большинстве случаев, учитывая многочисленность установленных компьютеров с шиной PCI, даже для новейших наборов микросхем планируется выпустить и версии с поддержкой PCI (такие платы будут появляться только после выхода аналогичных вариантов для AGP). Выпуск графических плат для шин ISA и VL-bus давно прекращен.

Поскольку производительность обработки 2D-графики почти достигла разумного предела (пользователи просто не заметят, если изображение будет обновляться быстрее, а задержки в обновлении содержимого экрана связаны обычно с тем, что приложение еще не подготовило данных для вывода), главное направление, в котором ведутся разработки, - ускорение 3D-графики.

Если еще год-полтора назад о каком-либо стандарте на видеопамять говорить было сложно (использовались VRAM, WRAM, Rambus DRAM, MDRAM, EDO DRAM, SGRAM и другие типы памяти), то сейчас большинство производителей сделали ставку на SGRAM и SDRAM. При этом, поскольку стандартная память SDRAM почти не уступает SGRAM по производительности, ускорился процесс интеграции графических ускорителей непосредственно в системные платы, где одна и та же оперативная память SDRAM будет использоваться как в качестве основной, так и видеопамяти. Свидетельством этого стали альянсы производителей системных плат и наборов микросхем для видеоплат, например, ALi и nVIDIA (в системную плату ALi Pro 3 встроен набор микросхем Riva TNT). Не исключено, что к концу 1999 года это приведет к исчезновению рынка видеоадаптеров как отдельных устройств (за исключением видеоускорителей высшего класса).

Процесс интеграции идет и на уровне самих видеоадаптеров, в которые встраиваются все новые функции. Первоначально графический процессор содержал лишь схемы, ускоряющие обработку 2D-графики; позже к ним были добавлены блоки ускорения 3D-графики, схемы преобразования цветовых пространств для видеосигналов и другие. Наличие видеовыхода TV-сигнала стало уже стандартом, а все новейшие наборы микросхем содержат аппаратные схемы поддержки декодирования данных MPEG-2 для воспроизведения DVD, выходы в стандарте HDTV, стандартные VIP-разъемы для подключения дополнительных устройств. Разъем VIP (Video Interface Port - порт видеоинтерфейса) является дальнейшим развитием VESA Feature Connector и, согласно спецификации VIP 1.1, обеспечивает обратную совместимость, то есть к нему можно подключать устройства, разработанные для Feature Connector. VIP позволяет подключать непосредственно к графическому процессору с поддержкой видео до четырех видеоустройств, например, декодер MPEG2, видеодекодер (PAL, NTSC, SECAM), устройство захвата видео и другие.

Самые «навороченные» платы включают еще и TV-тюнер, цифровой выход на LCD-монитор (с одновременной поддержкой двух мониторов - обычного и собственно LCD), а также видеовход. Впрочем, владельцы дорогих систем видеомонтажа могут не беспокоиться - встроенные видеовходы даже у новейших плат для потребительского рынка обычно обеспечивают захват видео с разрешением не более 352х288 (качество MPEG-1 или Video CD) и частотой до 25 кадров в секунду.

Еще одна тенденция - расширение числа аппаратно поддерживаемых функций наиболее распространенных API-интерфейсов: DirectX, OpenGL и Glide. Чем больше функций поддерживается на аппаратном уровне, тем меньшая нагрузка ложится на центральный процессор и шину обмена данными между системной платой и видеоадаптером. К тому же вступает в действие общее правило, по которому специализированное устройство (в данном случае - графический ускоритель) выполняет предназначенную для него работу обычно быстрее, чем универсальное (центральный процессор).

Что касается технологии изготовления, то намечается переход на новые проектные нормы при выпуске кристаллов - с 0,35 мкм на 0,25 мкм. Первыми наборы микросхем, выполненные по такой технологии, представили S3 и ATI Technologies. А в перспективе - переход к норме 0,18 мкм. Уменьшение проектных норм позволяет разместить на кристалле того же размера большее количество элементов.

После того как на рынок потребительских видеоплат вышли такие компании, как 3Dlabs, ранее занимавшиеся исключительно разработкой профессиональных графических процессоров, граница между системами среднего и высшего класса начала стираться. Например, ATI планирует выпускать графические платы разных классов практически на одном и том же кристалле Rage 128. А совместная разработка компаний VideoLogic и NEC (набор микросхем PowerVR 250) создается на основе общего кристалла PowerVR, различные модификации которого будут использоваться не только в ПК, но и в игровых приставках типа SEGA. По мнению разработчиков, подобная унификация позволит значительно увеличить объемы производства, а значит - снизить стоимость ускорителей.

Законодатели мод

В настоящее время среди наиболее известных производителей наборов микросхем для графических плат - компании 3Dfx Interactive, 3Dlabs, ATI Technologies, Intel, Matrox, NEC/VideoLogic, Number Nine Visual Technology, nVIDIA, Rendition и S3. Конечно, этот список не претендует на исчерпывающую полноту, но все основные производители в нем присутствуют. Читатели, знакомые с рынком графических контроллеров одно-двухгодичной давности, безусловно, заметят отсутствие в нем таких имен, как Cirrus Logic, Tseng Labs и других. Чаще всего это результат поглощения их более сильными и удачливыми конкурентами. Например, подразделение разработки компании Tseng Labs, создавшее один из самых высокопроизводительных ускорителей 2D-графики ET6000, в конце 1997 года было приобретено компанией ATI Technologies. Осенью 1998 года ATI приобрела известного производителя мультимедийных процессоров компанию Mpact. А направление разработки графических адаптеров в компании Cirrus Logic было просто закрыто.

Итак, по порядку...

3Dfx Interactive

Для чего нужны ускорители 3D-графики? Инженерам из компании 3Dfx ответ на этот вопрос предельно ясен: для игр. (А практически полное отсутствие деловых приложений с 3D-графикой лишь подтверждает их правоту, хотя вскоре положение может измениться.) Популярность ускорителей 3Dfx Voodoo в России очень высока, причем здесь мы даже опережаем Запад. Долгое время это были специализированные 3D-ускорители, устанавливаемые в отдельный слот системной платы (Voodoo, Voodoo2) и дополняющие стандартную графическую плату, которая должна была обеспечить только обработку 2D-графики.

Однако после выхода Voodoo Banshee положение изменилось. Теперь несколько «облегченная» версия Voodoo2 (без второго модуля обработки текстур, что слегка замедляет рендеринг игр с мультитекстурированием типа Quake 2) дополнена 128-разрядным ядром для обработки 2D-графики, поэтому Voodoo Banshee стал первым совмещенным набором микросхем 3Dfx, ускоряющим 2D/3D-графику. В 2D-ядре на аппаратном уровне реализованы все функции пользовательского интерфейса Windows, что должно обеспечивать высокую производительность при отображении его элементов.

Другие улучшения - поддержка декодирования MPEG-2 (позволяет воспроизводить видео с дисков DVD без отдельного аппаратного декодера), а также порт VIP.

Набор, как и прежде, совместим с API Glide (теперь версии 3.0), где он работает лучше всего, а также с DirectX 6.0 и OpenGL (мини-порт).

Объявив Voodoo Banshee в середине лета 1998 года, компания 3Dfx уже 16 ноября представила новый набор микросхем Voodoo3, поставки которого должны начаться во втором квартале 1999 года. В этой серии будут поставлены два продукта: Voodoo3 2000 для интеграции в системные платы и более производительная версия Voodoo3 3000 для изготовления видеоадаптеров.

В новой серии будет использоваться улучшенный модуль ускорения 3D-графики Voodoo2 и 2D-акселератор из Voodoo Banshee. Наборы Voodoo3 будут поддерживать AGP 2x/4x, а встроенный RAMDAC должен работать на рекордной частоте 350 МГц. Максимальное разрешение - 2048х1536 при частоте регенерации 75 Гц. Набор будет изготавливаться по 0,25-микронной технологии.

По сравнению с наборами других производителей у продуктов 3Dfx есть серьезные недостатки - отсутствие поддержки режима AGP 2X (за исключением Voodoo3), Truecolor (24-разрядного цвета) в режиме 3D-графики, а также относительно небольшая глубина Z-буфера - 16 разрядов.

3Dlabs

Продукты 3Dlabs пользуются заслуженной популярностью на рынке видеоадаптеров для рабочих станций, ориентированных на профессиональную обработку 3D-графики. Однако выпуск наборов микросхем серии Permedia показал, что 3Dlabs в состоянии разрабатывать графические ускорители и для потребительского рынка. Компания не выпускает собственных видеоадаптеров, продавая наборы микросхем по OEM-соглашениям таким известным производителям, как Diamond Multimedia, ELSA, STB Systems и другим.

Заявленная производительность нового перспективного набора микросхем Permedia 3 достигает 250 млн. текселов в секунду. Набор поддерживает уникальный режим Virtual texture, обеспечивающий загрузку в видеопамять только необходимых фрагментов текстур. Это способствует повышению эффективности использования шины данных.

В Permedia 3, который будет изготавливаться по 0,25-микронной технологии, встроены поддержка LCD-порта, двух VIP-портов и RAMDAC на 270 МГц. Набор должен поддерживать до 16 Мбайт видеопамяти на частотах до 200 МГц.

ATI Technologies

Компания ATI по объемам продаж в 1998 году стала лидером среди производителей наборов микросхем для видеоускорителей и видеоплат на их основе. Около 60% наборов серий Rage Pro и Rage II от общего количества выпускаемых ATI графических процессоров поставляется по OEM-соглашениям и используется для установки в системные платы ПК и Macintosh (причем в системных платах компьютеров Apple используются только графические процессоры ATI).

На смену выпущенному в 1997 году набору Rage Pro пришел Rage 128 с заявленной производительностью 200 млн. пикселов в секунду, который производится в двух вариантах: Rage 128 GL (от названия API-интерфейса OpenGL) - для рабочих станций и высокопроизводительных игровых систем на базе ПК; и Rage 128 VR - для производителей системных плат. В обоих вариантах набор поддерживает до 32 Мбайт видеопамяти на частоте до 143 МГц.

В Rage 128 реализованы новая архитектура сдвоенного кэша для текстур и пикселов, а также два параллельных конвейера для обработки графики. Как утверждают его создатели, Rage 128 обеспечивает выполнение около 85% работы по декодированию данных MPEG2.

На основе нового набора предполагается выпуск трех видеоплат: Rage Fury, Rage Magnum и Xpert 128. В начале 1999 года на Macworld компания Apple продемонстрировала новые системы Power Macintosh G3, в стандартную конфигурацию которых входят графические платы на основе Rage 128 с 16 Мбайт памяти SDRAM.

Intel

1998 год ознаменовался вступлением в «клуб» производителей графических процессоров корпорации Intel. Объявленный в феврале набор Intel740 благодаря относительно высокой на тот момент производительности (он опережал очень популярный на Западе набор ATI Rage Pro) и низкой цене быстро занял то положение, которое в 1996-1997 годах занимали кристаллы серии S3 Trio на российском рынке, когда заветная фраза «Trio64V+» или ее вариации присутствовали в прайс-листах практически всех продавцов комплектующих и сборщиков.

Список разработанных на основе этого набора видеоадаптеров содержит более трех десятков наименований, в том числе собственную плату Intel - Express 3D.

Этот 64-разрядный процессор с конвейерной архитектурой оптимизирован для работы с AGP в режиме 2x, обеспечивает параллельную обработку данных и включает RAMDAC с тактовой частотой 220 МГц. К сожалению, процессор поддерживает только до 8 Мбайт видеопамяти, чего явно недостаточно для современных 3D-приложений.

В наборе реализованы: аппаратная поддержка видеофункций, в том числе декодирования MPEG2, захвата видео; программируемый видеовыход (в форматах NTSC и PAL); цифровой TV-выход.

В настоящее время на смену Intel740 готовится новый набор микросхем, который будет выпущен в текущем году.

Matrox

Компания Matrox, продукты которой всегда отличались высоким качеством и особенно высоко ценились профессионалами в области обработки 2D-графики, практически сразу вслед за недорогим процессором MGA-G100 объявила более производительную серию MGA-G200.

Хотя по своей производительности при обработке 3D-графики G200 несколько отстает от лидеров, ускоритель выполняет 32-разрядный рендеринг и содержит 32-разрядный Z-буфер, а также ряд других функций, повышающих качество 3D-графики. Уникальная технология DualBus обеспечивает доступ к видеопамяти по двум независимым 64-разрядным шинам.

Компания Matrox не поставляет свои ускорители производителям видеоплат. На базе G200 выпускаются видеоплаты Millennium G200 (с RAMDAC на 250 МГц), Mystique G200 (с RAMDAC на 230 МГц), Marvel G200 (с видеовыходами и видеовходом, а версия TV - с TV-тюнером).

Видеоплата Productiva G100 продвигается как одна из самых недорогих плат для порта AGP на рынке. Существует еще вариант Productiva G100 Multi-Monitor для одновременной поддержки двух мониторов.

Новый набор компании Matrox - G300 - должен появиться летом.

NEC Electronics/VideoLogic Group

Под занавес 1998 года, 2 декабря, компании NEC и VideoLogic объявили о начале производства первых образцов кристаллов PowerVR 250, до этого момента известных под названием PowerVR Second Generation (PVRSG). Ранее было объявлено о крупном успехе двух компаний - подписании соглашения с SEGA, по которому видеоускоритель PowerVR 2DC станет основой новой игровой приставки Sega Dreamcast.

Оптимизированный для работы с процессорами Pentium II и AMD K6-2 c 3D Now!, PowerVR 250 обладает внушительной заявленной производительностью рендеринга - до 500 млн. пикселов в секунду - и 32-разрядным Z-буфером.

В набор встроены поддержка TV-выхода в системах NTSC/PAL, LCD-выхода, а также интерфейса VMI для подключения внешних видеоустройств.

Что касается API-интерфейсов, то кроме DirectX и OpenGL, PowerVR 250 поддерживает также собственный интерфейс PowerVR.

Number Nine Visual Technology

Компания Number Nine первой реализовала 128-разрядный графический ускоритель Imagine 128 (это произошло в 1994 году). Ее ускорители всегда отличались высокой производительностью при обработке 2D-графики (а также относительно высокой стоимостью).

В новом наборе Ticket To Ride IV реализована поддержка технологии WideBus, по которой ускоряется пересылка данных по 128-разрядному каналу между контроллером и видеопамятью (максимальный объем - 32 Мбайт), а для памяти типа WRAM обеспечивается 256-разрядный доступ. Набор поддерживает максимальное разрешение 1920х1200 с частотой обновления до 83 Гц.

Ticket To Ride IV обеспечивает декодирование данных MPEG-2 и включает интегрированный выход на LCD-монитор.

Number Nine не поставляет свои наборы микросхем другим производителям видеоадаптеров; на базе Ticket To Ride IV выпускается видеоплата Revolution IV.

nVIDIA

Продукты компании nVIDIA доставляют немало головной боли конкурентам, о чем можно сделать вывод хотя бы по обилию судебных исков, связанных с нарушением авторских прав на технологии: в разное время с nVIDIA судились 3Dfx, S3 и SGI.

Последний набор nVIDIA - Riva TNT - благодаря двум 32-разрядным конвейерам обеспечивает формирование 2 пикселов за один такт (TNT расшифровывается как TwiN Texel - два тексела). Riva TNT поддерживает до 16 Мбайт видеопамяти и 24-разрядный Z-буфер.

В режиме Direct3D этот набор является одним из самых быстрых, кроме того, к нему прилагается полный комплект драйверов OpenGL ICD для Windows NT, 95/98.

Riva TNT поддерживает декодирование MPEG-2, а также включает в себя TV-выход в стандартах NTSC/PAL и порт CCIR-665 для ввода видеоданных.

Rendition

Выпустив в 1997 году наборы V1000 и V2200, компания Rendition (с 14 сентября 1998 года - подразделение Micron Technology) объявила о начале разработки набора нового поколения - RRedline. Поскольку выпуск RRedline запланирован лишь на лето 1999 года, его можно считать перспективным продуктом, о реальной производительности которого остается лишь предполагать.

По сообщениям разработчиков, набор будет включать два 32-разрядных конвейера, два независимых RAMDAC на 250 МГц (и поддерживать два монитора), 128-разрядную шину доступа к видеопамяти (разделенную на два независимых 64-разрядных канала), аппаратную поддержку декодирования данных MPEG-2, поддерживать до 32 Мбайт видеопамяти, а также 24-разрядный Z-буфер.

S3

Компания S3, еще в 1997 году практически утратившая лидирующие позиции на рынке видеоадаптеров, разработала новый полностью 128-разрядный ускоритель 3D-графики Savage3D. Набор включает два конвейера: один для рендеринга (в режиме truecolor), а другой - для обработки текстур. Причем в Savage3D применяется собственная технология сжатия текстур S3TC, которая была лицензирована компанией Microsoft и используется в DirectX 6.0. Благодаря сжатию текстуры можно эффективнее хранить в основной памяти компьютера и пересылать в сжатом виде через порт AGP. Хотя для обращения к видеопамяти используется две 64-разрядных шины, что повышает общую производительность, ее максимальный объем явно недостаточен - всего 8 Мбайт.

Набор поддерживает декодирование MPEG-2, порт VIP для видео и включает TV-выход для NTSC/PAL. В комплекте с Savage3D поставляется набор драйверов для DirectX 6.0 и OpenGL ICD для Windows 9x и NT.

Компания S3 не выпускает видеоплат, поставляя свои наборы производителям по OEM-соглашениям. Одна из последних плат на базе Savage3D - Hercules Hydra Beast - включает TV-выход и вход, а также TV-тюнер.

В имени - сила

Для российского рынка видеоадаптеров характерно присутствие большого количества продуктов безымянных производителей (noname). Чем они отличаются от продукции известных компаний (brand name)? Прежде всего маленькие компании не обладают достаточными ресурсами как для тщательной доработки плат, так и создания и оптимизации программ. Поэтому они используют разработки производителей наборов микросхем и базовые драйверы. Такие видеоплаты, особенно созданные на основе новейших наборов, частенько работают нестабильно, причем могут оказаться несовместимыми не только с различными приложениями и версиями операционных систем, но и определенными сочетаниями аппаратного обеспечения - ведь для их тестирования в различных конфигурациях у производителя нет ни времени, ни денег, ни сил.

Если говорить о технической поддержке (а сейчас таковая становится доступна и в России, особенно через Internet), то и здесь пользователи видеоускорителей ведущих производителей оказываются в более выгодном положении. На Web-узлах производителей видеоадаптеров всегда можно получить новейшие наборы драйверов (а они обновляются довольно часто), ознакомиться со списками наиболее часто задаваемых вопросов и ответов на них, и даже задать свои по электронной почте.

Впрочем, это касается не всех производителей. Например, безымянных видеоадаптеров на основе кристаллов от ATI, Matrox, Number Nine и некоторых других просто не существует в природе.

Разумеется, за все нужно платить, и хороший видеоадаптер стоит хороших денег, однако разница в пару десятков долларов между noname и brand name оправданна практически всегда.

Гонка без правил

Производительность видеоускорителей 3D-графики оценить не так просто, как это кажется.

Что касается производительности в режиме 2D-графики, то здесь все более-менее ясно. Наиболее часто употребляемая для оценки программа Ziff-Davis WinBench рассчитывает скорость отображения различных элементов пользовательского интерфейса и вывода плоских графических объектов при работе реальных приложений. Скорость вывода 2D-графики большинства ускорителей последнего поколения примерно одинакова (отличается в пределах нескольких процентов), и разница между ними, выражаемая в набранных по WinBench очках, для глаз пользователя практически незаметна.

Для оценки производительности при обработке 3D-графики также пользуется популярностью продукт тестовой лаборатории Ziff-Davis - 3D WinBench, но кроме него используются и реальные игры, которые запускаются в режимах измерения количества отображаемых за секунду кадров (frame per second, fps). Обычно достаточно запустить игру с определенным ключом или набором ключей, например incoming.exe-gameindex. Тогда во время игры на экране будут отображаться различные значения fps: текущее, среднее, максимальное, минимальное и другие. Это объективные параметры, но измерять их тоже можно по-разному.

Есть масса способов улучшить (или ухудшить) измеренную производительность, например, отключить наиболее требовательные к вычислительным ресурсам операции. Тогда качество изображения несколько ухудшается (чего можно не заметить), а производительность в fps улучшается. Зная содержание приложения 3D WinBench, некоторые производители стремятся повысить итоговые значения для своих наборов микросхем, идя на различные ухищрения, что также снижает объективность показаний тестов.

Тем не менее по результатам большинства тестирований в настоящее время наиболее высокие значения производительности при выводе 3D-графики в различных режимах показывают видеоадаптеры на основе наборов микросхем 3Dfx Voodoo2 (Glide), nVIDIA Riva TNT (Direct3D, 16-разрядный) и ATI Rage 128 (Direct3D, 32-разрядный).

Идеальный ускоритель трехмерной графики

Разумеется, такового нет и не может быть. Однако стремиться к идеалу можно и нужно. В 1999 году хороший ускоритель 3D-графики должен быть полностью 128-разрядным и включать не менее 16 Мбайт видеопамяти типа SGRAM или SDRAM (и поддерживать расширение до 32 Мбайт); содержать два конвейера для рендеринга, 32-разрядный Z-буфер; поддерживать на аппаратном уровне ускорение максимального количества трехмерных операций; обеспечивать работу с портом AGP; содержать интерфейс для подключения внешних видеоустройств - TV-тюнера и других (например, VIP) - и TV-выхода; декодировать сигналы в форматах MPEG-1 и MPEG-2, а также поддерживать качественную обработку видеосигнала.

Следует обращать внимание и на качество входящего в комплект программного обеспечения. Драйверы должны поддерживать API DirectX 6.0 и OpenGL. Для OpenGL желательно наличие драйверов ICD для тех версий Windows, которые вы собираетесь использовать. Обычно в комплекты с видеоускорителем для розничной продажи на Западе входят еще и несколько дисков CD-ROM с популярными играми; к сожалению, в России эта практика пока не получила широкого распространения.

Если вам нужен TV-тюнер, может быть имеет смысл приобрести видеускоритель с встроенным тюнером (но обязательно с поддержкой декодирования SECAM). Подобные устройства существуют и стоят обычно дешевле, чем комплект из видеоускорителя и TV-тюнера.

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



Автор признателен Михаилу Лукинову (специалисту по технологиям компании ATI Technologies) за помощь при подготовке публикации, а Константину Мартыненко (Reactor Critical) - за профессиональную и своевременную критику.



Краткий словарь по 3D-графике

Эти термины нередко встречаются в описаниях ускорителей трехмерной графики.

3D конвейер (3D pipeline). Процесс построения 3D-изображения можно разделить на три последовательных этапа. На первом этапе объект преобразуется в мозаичную модель, то есть происходит его разделение на множество многоугольников (полигонов). Следующий этап включает в себя геометрические преобразования и установки освещения. Наконец, заключительный этап, так называемый «рендеринг» (rendering), который является наиболее важным для качества 3D-изображения, создает двумерное изображение из полученных на предыдущих этапах многоугольников.

Multum in Parvum (MIP mapping) - с латыни переводится как «много в одном». Метод улучшения качества текстурных изображений при помощи использования текстур с разным разрешением для различных объектов одного и того же изображения, в зависимости от их размера и глубины. Таким образом, в памяти хранятся несколько копий текстурированного изображения в различных разрешениях. В результате этого изображение остается качественным при приближении к объекту и удалении от него.

Setup engine - позволяет драйверам передавать многоугольники для модуля рендеринга в виде информации об адресах их вершин, в то время как обычно информация предварительно обрабатывается центральным процессором и передается в терминах изменения границ, цвета и текстуры.

Vertex - точка в трехмерном пространстве, где соединяются две линии.

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

Z-буфер определяет, какой из многих перекрывающихся многоугольников наиболее близок к плоскости наблюдения.

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

Мультитекстурирование (multitexture) - метод рендеринга с использованием нескольких текстур за минимальное число проходов. Текстуры накладываются на объект последовательно, с использованием разного рода арифметических операций.

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

Наложение текстур (texture mapping) - на объект «натягивается» текстурное изображение для создания реалистичного представления объекта в трехмерном пространстве. Поскольку для его хранения требуется значительное место, а для наложения - серьезные вычислительные ресурсы, желательно, чтобы операция выполнялась аппаратно.

Прозрачность (transparency). В компьютерной графике цвет часто описывается в терминах RGB-величин, или величинами красного, зеленого и синего цветов. Например, при 16-разрядном представлении цвета 5 разрядов отводится для красного, 6 - для зеленого и 5 - для синего. Существует еще коэффициент Alpha, являющийся дополнительным компонентом цвета, который используется для смешения. Коэффициент Alpha может также использоваться в качестве величины, отвечающей за степень прозрачности, то есть величины, определяющей, можно ли видеть сквозь цвет или нет. Наиболее важное значение коэффициент Alpha, или прозрачность, имеет в 3D-графике, благодаря его использованию для создания нерегулярных объектов из всего нескольких многоугольников.

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

Сглаживание (anti-aliasing) - способ обработки (интерполяции) пикселов для получения более четких краев (границ) изображения (объекта). Наиболее часто используемая техника для создания плавного перехода от цвета линии или края к цвету фона. В некоторых случаях результатом является смазывание (blurring) контуров объектов.

Тексел, элемент текстуры (texel) - определенный пиксел в текстуре.

Трилинейная фильтрация (trilinear filtering) - метод уменьшения искажений в картах текстур, использующий билинейную фильтрацию для четырех текстурных пикселов из двух ближайших MIP-карт и их дальнейшую интерполяцию. Для получения изображения берется взвешенное среднее значение результатов двух уровней билинейной фильтрации. Изображение получается более четким и менее мерцающим.


С чем «едят» DirectX, OpenGL и Glide

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

С выходом Windows такой интерфейс появился - им стал Графический пользовательский интерфейс Windows GUI. Элементы интерфейса - окна, меню, текст и другие - описывались при помощи стандартного набора команд, а не на «пиксельном» уровне. Появилась возможность передать рутинные операции по преобразованию этих команд в физические пикселы на экране видеоадаптера, чем не преминули воспользоваться разработчики. Так «родились» первые видеоускорители (вначале они создавались для шины VL-bus), в которых выполнение команд GUI было реализовано на аппаратном уровне. Перечень поддерживаемых команд постоянно расширялся, а в современных графических адаптерах он включает наиболее часто используемые операции интерфейса Windows, которые имеет смысл ускорять.

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

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

В настоящее время наиболее распространены интерфейсы DirectX (Direct 3D), OpenGL и Glide. Эти интерфейсы служат своеобразной прослойкой между приложениями и драйвером конкретной видеоплаты. Приложение посылает стандартные команды, а интерфейс преобразует их в другие команды, «понятные» драйверу для определенного набора микросхем графического ускорителя. Таким образом у разработчиков приложений теоретически (хотя на практике это не так) отпадает необходимость учитывать особенности устройства того или иного видеоадаптера. За совместимость отвечают разработчики драйверов.

DirectX (последняя его версия 6.0 вышла осенью) - это разработанный Microsoft набор интерфейсов, предназначенных главным образом для программирования игр. В числе других в него входят DirectDraw (отвечает за формирование двухмерной графики), DirectVideo (отображение видео) и Direct3D (трехмерная графика). Direct3D существует только в Windows 95, хотя в скором будущем появится и в Windows 2000.

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

OpenGL, созданный компанией Silicon Graphics и контролируемый ассоциацией OpenGL Architecture

Review Board (ARB), в которую вошли DEC, E&S, IBM, Intel, Intergraph, Microsoft и SGI, широко использовался в операционной системе Irix для ориентированных на обработку графики рабочих станций высшего класса, таких как Indigo, O2, Onyx и других. По соглашению с Microsoft этот интерфейс был перенесен и реализован в средах Windows NT, а также Windows 95/98. Хотя оптимизированные для OpenGL 3D-приложения работают несколько медленнее, чем использующие Direct3D, программировать для OpenGL значительно проще.

Существуют три варианта поддержки OpenGL: инсталлируемый клиентский драйвер (Installable Client Driver, ICD), драйвер мини-клиента (Mini Client Driver, MCD) и мини-порт. Наиболее полно возможности видеоускорителя используются с драйвером ICD, поэтому разрабатывать его сложнее, и не все разработчики видеоускорителей создают ICD-драйверы. MCD - это интерфейс для более абстрактного уровня программирования, поэтому разрабатывать его легче, а работает он несколько медленнее (причем только в среде Windows NT), чем ICD. И хуже всего возможности видеоускорителя используются при наличии драйверов мини-порта. Как правило, это драйверы, работающие только с определенной игрой, например Quake II.

Интерфейс Glide является детищем компании 3Dfx и поддерживаетcя только наборами микросхем из серии Voodoo. Высокая производительность при обработке 3D-графики и удобство программирования интерфейса способствовали его популярности среди разработчиков и фанатиков игр, хотя в настоящее время новые поддерживающие Glide приложения не появляются. Похоже, что интерфейсу Glide, несмотря на все усилия компании 3Dfx, не суждено стать промышленным стандартом. Поэтому то, что наборы микросхем других компаний не поддерживают Glide, в ближайшем будущем может оказаться совершенно несущественным.


Эволюция шин: от VESA VL-bus к PCI и AGP

Появление графических приложений и операционных систем с графическим интерфейсом привело к резкому росту объема данных, пересылаемых по стандартной системной шине ISA между процессором, оперативной памятью и графическим адаптером. Шина ISA работала на частоте 12 МГц и обеспечивала при пересылке данных пиковую производительность 24 Мбайт/с. Первой попыткой решения этой проблемы стала разработка и внедрение локальной шины VL bus, которая была предложена ассоциацией Video Electronics Standard Association (VESA). Членами VESA, кроме других компаний, были три «кита» компьютерной индустрии: IBM, Intel и Microsoft. Хотя 32-разрядная шина VL bus, работающая на частоте 33 МГц, выполнила свое предназначение (став высокопроизводительной альтернативой ISA), она не обрела статус стандартной. Ее основным недостатком была невысокая нагрузочная способность, поскольку подключение даже второй платы VL bus (для VL bus были разработаны SCSI-платы и другие дисковые контроллеры) могло вызывать конфликты и не приводило к значительному повышению общей производительности.

Буквально через год Intel предложила новую высокопроизводительную шину для компьютеров с процессором Pentium - PCI (Peripheral Connection Interface - интерфейс подключения периферийных устройств), работающую на частотах до 66 МГц и обеспечивающую максимальную скорость передачи данных до 128 Мбайт/с. В отличие от VL bus, новая шина успешно обслуживала несколько подключенных к ней плат. К тому же устройства для PCI были более компактными и технологичными в изготовлении, чем платы для VL bus. Шина PCI обеспечивает производительность вполне достаточную для деловых приложений и двухмерных игр в средах Windows 95 и NT. Однако появление программ, интенсивно использующих 3D-графику, вновь породило проблему.

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

Решение проблемы вновь предложила Intel, разработав Ускоренный графический порт (Accelerated Graphics Port, AGP), предназначенный исключительно для подключения графических контроллеров. Физически AGP является отдельным разъемом, встроенным в системную плату, и поддерживается в настоящее время наборами микросхем Intel 440 LX/BX, а также VIA Apollo MVP3, ALi Aladdin V. (Поэтому если в установленной у вас системной плате нет разъема AGP, графический ускоритель с поддержкой AGP вставлять будет некуда - необходима замена системной платы.)

AGP позволяет использовать для хранения информации о трехмерных сценах относительно недорогую основную память компьютера и обеспечивает пересылку данных со скоростью до 528 Мбайт/с. Общая схема, иллюстрирующая место и роль AGP в архитектуре ПК, приводится на рисунке.

Для ускорения доступа к текстурам, хранящимся в основной памяти, AGP работает в режиме, получившем название Прямое исполнение из памяти (Direct Memory Execute, DIME). Без DIME графический контроллер имеет доступ только к тем текстурам, которые помещаются в видеопамять. Кроме этого, AGP за один такт выполняет передачу данных дважды - в начале такта и в конце. Эта технология, называемая 2x AGP, удваивает пропускную способность порта. В первой половине 1999 года в своем новом наборе микросхем для системных плат компания Intel собирается, применяя частотную модуляцию, еще раз удвоить пиковую производительность передачи данных и довести ее в режиме 4x AGP до 1 Гбайт/с.

Практически все современные 3D-акселераторы (для шины AGP) поддерживают режимы DIME и 2x AGP, а для некоторых анонсирована поддержка 4x AGP.


Полезные Web-ссылки

www.jpa.com - обзоры Jon Peddie Associates

www.fagersta.com/electronics/video.html - Web-страница Томи Ингланда, посвященная видеотехнологиям (Video Technology Page)

www.reactor.ru - Web-узел Reactor Critical Константина Мартыненко, целиком посвященный видеоускорителям

www2.tomshardware.com - руководство по аппаратному обеспечению Тома Пабста


Характеристики объявленных в 1998 году наборов микросхем и построенных на их базе видеоадаптеров

Производитель наборов микросхемНазвание набора (дата объявления)Тактовая частота графического процессора, МГцТип видеопамяти/максимальный объем, МбайтРазрядность процессора/видеопамятиМаксимальное разрешение/ частота регенерации при этом разрешении, ГцПоддержка AGP 2x/4xПоддерживаемые APIЧастота встроенного RAMDAC МГцДополнительные входы и выходыПримеры видеоплатОбъем видеопамяти, Мбайт/типОриентировочные цены в Москве, долл.
3Dfx, www.3dfx.comVoodoo100/125* Banshee (22.06)SGRAM, SDRAM/16128/1281600х1200/100Нет/НетDirectX 6.0, OpenGL, Glide250ВидеовходCreative 3D Blaster Banshee

Diamond Monster Fusion

Elsa Victory II

Quantum 3D Raven
16, SGRAM

16, SGRAM

16, SGRAM

16, SDRAM
131



118
Voodoo3 2000/3000 (16.11)125/184SGRAM, SDRAM/16128/2562048х1536/75Да/ДаDirectX 6.0, OpenGL, Glide350Видеовыход, LCD-выход   
3Dlabs, www.3dlabs.comPermedia 3125SGRAM, SDRAM/16128/1281920х1200/90Да/НетDirectX 6.0, OpenGL ICD270Видеовыход, LCD-порт, 2 порта VIP   
ATI, www.atitech.comRage 128 (27.08)100DDR SGRAM, SDRAM/32128/128, 64 (DDR)1920х1200/80Да/ДаDirectX 6.0, OpenGL ICD250ВидеовыходATI Rage Fury

ATI Rage Magnum

ATI Xpert128
  
Intel, www.intel.comIntel740 (12,02) SGRAM, SDRAM/864/641600x1200/75Да/НетDirectX 5.0, OpenGL220ВидеовыходASUSTeK V2740

Diamond StealthII G460

Hercules Terminator 2x/i

Intel Express 3D

Real 3D StarFighter
8, SDRAM

8, SGRAM

8, SGRAM

8, SGRAM
79

76

62

70
Matrox, www.matrox.comMGA-G100 (01,04)

MGA-G200 (01.05)




100
16



SGRAM, SDRAM/16




128/64
1600х1200 /



1600х1200 /
Да/Нет



Да/Нет




DirectX 6.0
230



250




Видеовыход
Productiva G100

Marvel G200

Millennium G200

Mystique G200
8, SDRAM

8, SDRAM

8, SGRAM

8, SDRAM
70

227

140

149
NEC, Videologic, www.nec.comPowerVR 250 (02,12)100SGRAM, SDRAM/32 1600х1200/85Да/НетDirectX 6.0, OpenGL, PowerSGL2230Видеовыход, LCD-порт   
Number Nine, www.nine.comTicket To Ride IV (26,05) SDRAM, SGRAM, WRAM/32128/128, 256 (WRAM)1920х1200/83Да/-DirectX 6.0, OpenGL ICD250 Revolution IV16, SDRAM150
nVIDIA, www.nvidia.comRiva TNT90SDRAM, SGRAM/16128/1281920x1200/75Да/НетDirectX 6.0, OpenGL ICD250 Diamond Viper V550

Graphics Blaster

STB Velocity 4400
16, SDRAM

16, SDRAM

16, SDRAM
142

130

142
S3, www.s3.comSavage3D (4,05)125SDRAM, SGRAM/8128/641600х1200Да/ДаDirectX 6.0, OpenGL ICD250ВидеовыходHercules Terminator Beast

AOpen PA70
8, SGRAM105

* 100-мегагерцевый кристалл, выполненный по технологии 0,35 мкм; 125 МГц - 0,25 мкм