Архивы: по дате | по разделам | по авторам

Тенденциоз

Архив
автор : Александр Медведев   12.10.1999

Как все запущено!
Доктор


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




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

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

Смотрите... не смотрите...

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

 
ЖК-мониторы и цифровой интерфейс

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

Хронологически первый P&D (Plug and Display) был слишком сложен и дорог, а посему не прижился.

Второму - DFP (Digital Flat Panel) - повезло больше. Сделанный с оглядкой на ошибки P&D, он пришелся ко двору, и в данный момент является наиболее распространенным (разъем на рисунке слева). Фактически это упрощенный P&D с дешевым 20-штырьковым разъемом. Простой в реализации стандарт ориентирован на популярные ныне активноматричные ЖК-панели, его легко внедрять в мониторы и видеокарты. Основанный на схожей с FireWire (IEEE1394) LVD (Low Voltage Differential) электрической технологии, DFP-интерфейс позволяет передавать сигналы вертикальной и горизонтальной синхронизации, цифровые данные о цвете точек и различную информацию о поддерживаемых монитором режимах (согласно стандарту VESA DDC). Предельная пропускная полоса интерфейса порядка 2 Гбит/с достаточна для режимов вплоть до 1280х1024 при стандартной для ЖК-дисплеев частоте развертки 60 Гц. Подобное ограничение является заранее подписанным приговором, несмотря на широкое распространение DFP. Через год или два на рынок придет следующее поколение ЖК-дисплеев, обладающих большим разрешением, и производителям придется либо создавать расширенную версию DFP, либо переходить на новый интерфейс. Несомненное достоинство - возможность горячего подключения монитора и длина кабеля до пяти метров. В данный момент на рынке присутствует несколько видеокарт с DFP-интерфейсом: ATI Rage Pro LT, 3dfx Voodoo3 3500, Number Nine SR9. И соответствующие этой спецификации мониторы: 15" и 18" ViewSonic VPD; 14", 15" и 18" Princeton.

Третий, самый молодой стандарт DVI (Digital Visual Interface) является самым перспективным кандидатом на смену DFP. Более разумное ограничение разрешения, возможность подключения двух (!) приемников изображения и возможность параллельной передачи аналоговых RGB-сигналов. На рисунке внизу изображен DVI-разъем.





Наконец, дабы не быть голословным, приведу "тактико-технические характеристики" цифровых интерфейсов:

СтандартP&DDFPDVI
ВладелецVESADFP group, VESADDWG (Digital Display working group)
Версия1.0 (6 июня 1997 года)1.0 (14 февраля 1999 года)1.0 (2 апреля 1999 года)
Сайтwww.vesa.orgwww.dfp-group.orgwww.ddwg.org
ПоддержкаVESACompaqIntel
Совмести-мость с другими стандартаминетс P&D (через адаптер)с P&D и DFP (через адаптер)
ПротоколTMDS (Panel Link)TMDS (Panel Link)TMDS (Panel Link)
Максимальная частота пикселов, МГц165165330 (165х2)
Число каналов336 (3х2)
Глубина цвета, бит12, 2412, 2412, 24
Разрешение, точек/дюйм1280х1024 (SXGA)1280х1024 (SXGA)1920х1080 (HDTV)
Дополни-тельные каналыаналоговое видео, USB, IEEE1394нетАналоговое видео
Разъем (цифровой)PD&D (30 выводов)MDR20 (20 выводов)DVI-V (24 вывода)
Разъем (цифровой + аналоговый)PD&D A/D (30+4)нетDVI-I (24+4)


Заглядывая в недалекое будущее, легко представляю единый сверхскоростной последовательный интерфейс, к которому подсоединяется цифровой монитор, устройства ввода, прочая периферия, накопители и даже другие компьютеры. Некий супер-USB, очень утопичный, выгодный и удобный. А какова масштабируемость: PC послабее имеют четыре интерфейса внутри и четыре снаружи. PC посильнее - побольше, а может, и побыстрее. Но, похоже, я замечтался.


Вернемся к реалиям сегодняшнего дня. В борьбе за качество не следует забывать о детали, непосредственно связанной с монитором (в прямом смысле слов), - о RAMDAC. Производители анонсируют 250, 300 и вот уже 350 МГц RAMDAC, встроенные в чип. Экстраполируя тенденцию, рискну заключить фьючерс на цифру 400 (к январю 2000 года). Между тем, качество демонстрируемого монитором изображения зависит не столько от предельной частоты RAMDAC (ограничивающей лишь максимальное число выводимых в секунду точек), сколько от грамотной разводки платы ускорителя. Плохая разводка может способствовать замыливанию изображения, заметному даже в режиме 800х600х100 Гц на 15-дюймовом мониторе (этим грешат карты TNT от ASUS). Прошу отметить, что это при 250-мегагерцовой спецификации, гарантирующей стабильную работу в этом режиме с частотою 150 Гц и более. Работу, но какую: смотреть - глаза не поднимаются. А вот карта Creative Graphics Blaster на базе все той же TNT радует глаз даже в режиме 1280х1024х85 Гц. Существуют специальные фильтры, призванные сделать изображение более четким и стабильным. На материнской плате Intel SunRiver (SR440BX) с интегрированной TNT качество изображения в разрешении 1280х1024 достигает свойственного продуктам Matrox уровня, как раз благодаря специальным фильтрам. Впрочем, похвальная резкость не спасает эту плату от помех, специфичных для интегрированных в материнскую плату видеорешений. Читателю можно рекомендовать лишь одно: не столько смотреть на цифры в пресс-релизах, сколько на монитор в демонстрационном зале, гостях или на выставке (подробно о субъективном качестве RAMDAC - в таблице чипов).

 
Cовременные видеоинтерфейсные чипы

ATI ImpacTV2 - собственный чип ATI, используемый в картах на базе ATI Rage 128. Поддерживается конвертация следующих разрешений: 640х480, 800х600, 1024х768. Возможен одновременный вывод на монитор и видеовыход при условии одинакового разрешения и частоты развертки. Не лучшее качество передачи цвета (проигрывает BT869 и CH7002D-V). Ужасное качество текста - даже при 640х480 он практически не читаем. Отсутствие регулировок резкости текста в драйверах или в виде отдельной программы. Мерцание практически отсутствует.

Brooktree BT869 - распространенный чип, используемый в картах на базе Riva TNT и TNT2, Savage 4D и 3dfx Voodoo 3000. Поддерживаются следующие разрешения: 640х480, 800х600, 1024х768. Возможен одновременный вывод на монитор и видеовыход при условии одинакового разрешения. Отличное качество передачи цвета, контроль гаммы. Текст читабелен, но немного уступает Matrox MGA TVO по резкости. Мерцание отсутствует. Внимание: особенности использования этого чипа в Voodoo 3000 ограничивают разрешение и резко снижают качество текста.

Chrontel CH7002D-V - аналог Brooktree BT869 по всем параметрам. Используется в продуктах компании Canopus. Качество изображения сходное, текст чуть менее резок.

Matrox MGA TVO - чип, используемый в продуктах серии G400. Разрешение до 1024х768, благодаря возможностям G400 частота и разрешение видеовыхода и монитора могут произвольно варьироваться. Лучшее качество передачи цвета и полное отсутствие мерцания. Впечатление портят слабо заметные горизонтальные полоски, зоны неравномерной передачи цвета. Они простительны в играх, но бросаются в глаза во время ярких сцен DVD-фильмов и при демонстрации презентаций. Обидный недостаток.


Входит и выходит

Не забудем упомянуть еще об одном выходе - видео. Базовая поддержка этой возможности интегрируется практически в любой ускоритель, производителям остается лишь снабдить свой продукт специальным разъемом и небольшим интерфейсным чипом. Подобный видеовыход можно применять как для сброса на любительское видео, так и для подключения телевизора или видеопроектора. Всего, заметьте, за 15 долларов. Чуть более солидные решения из разряда "видеокомбайнов" - Matrox Marvel, ATI All-in-wonder или Voodoo 3500TV - все равно не способны выйти из категории любительского монтажа. Эти платы позволяют оцифровать поток с приемлемым для VHS качеством, но любое сжатие и обработка видео полностью ложится на процессор. Читателю, заинтересовавшемуся возможностями недорогого видеовыхода, необходимо приглядеться к врезке "Современные видеоинтерфейсные чипы". Напомню, что ограниченное разрешение распространенных видеостандартов (NTSC, PAL, SECAM) позволяет адекватно отображать только режим 640х480 точек. Дальнейшее увеличение разрешения не приводит к улучшению видеоизображения и даже, наоборот, может затруднить восприятие. Теоретически выход в стандарте S-Video приемлем для четкого отображения 800х600, но не стоит забывать, что внутри вашего телевизора (скорее всего) или проектора (часто) сигнал все равно преобразуется в менее детальный формат.

Одна голова хорошо, а два дисплея лучше

Довершая нашу беседу о выходах, упомянем известную фирму Matrox и ее новую технологию, позволяющую подключать два монитора к одной карте. Независимое разрешение и частота развертки у каждого! Впрочем, подобные продукты уже разрабатывались (не вышедший RRedline имел два независимых, встроенных в чип RAMDAC) и выпускались (некоторые профессиональные ускорители для работы с CAD), но Matrox первой предложила и выпустила действительно массовый продукт с подобной возможностью: чип G400 имеет два контроллера отображения и один встроенный RAMDAC. Второй контроллер с помощью специального цифрового выхода может быть подключен к:

- чипу видеовыхода;
- чипу дополнительного RAMDAC;
- интерфейсному чипу P&D, DFP или DVI.

Названа эта возможность DualHead, и некоторые карты на базе G400 имеют и встроенный видеовыход, и выход на второй монитор. Правда, разрешение на дополнительном мониторе ограничено величиной 1280х1024, да и качество дополнительного RAMDAC значительно ниже основного. Это не столько проблема, сколько разумная трата денег на интерфейсный чип, содержащий дополнительный RAMDAC. Более того, уже анонсированы игры с поддержкой отображения информации одновременно на двух мониторах; не стоит забывать и о возможности Windows 98 работать с несколькими видеокартами одновременно. По мне, так очень удобно смотреть краем глаза DVD- или MPEG-кино по телевизору и одновременно, скажем, набирать текст на мониторе (только вот набирается почему-то всякая чушь.)

Процессор: главный орган хорошего акселератора

После столь многочисленных выходов логично обратить внимание на вход. Главным источником информации является центральный процессор. И вот беда: процессор не успевает за ускорителем - он не в состоянии подготовить достаточное число параметров примитивов. В конце концов, его можно понять: мастер на все руки не может тягаться с узким специалистом по трехмерной графике. В такой ситуации вопрос "кто кого ускоряет" перестает быть каламбуром и становится достаточно насущным. Купите более мощный процессор, и вы существенно ускорите работу ускорителя. Компьютерная графика работает с большими объемами данных, производя над ними одни и те же операции, и производители процессоров могут обойтись малой кровью, реализуя (вместо астрономического повышения тактовой частоты) SIMD-расширения, специальные наборы команд для работы с плавающей арифметикой. Окрыленный подобной возможностью процессор способен за один такт оперировать с двумя или четырьмя плавающими числами одновременно, совершая геометрические преобразования в несколько раз быстрее. Выполняя, кроме того, специальные вычислительные команды, оптимизированные для связанных с графикой алгоритмов. Я искренне верю, что рекламные ролики об ускоряющем Интернет процессоре Pentium III "есть отшен карашо", но нам не помешает и некая дополнительная информация, расположенная во врезке "SIMD-расширения".

 
SIMD-расширения

MMX - SIMD-расширение от Intel для работы с целыми числами. Применяется для обработки текстур или звука, но для нормальных геометрических преобразований целые числа не подходят. Использует набор регистров сопроцессора, в результате чего они не могут применяться совместно и требуется большое число тактов для переключения. Реализовано в процессорах Pentium MMX, Pentium II и III, AMD K6, K6-2, K6-III, Cyrix 6x86MX и M-II и других.

3DNow! - SIMD-расширение от AMD, хронологически первое, способное работать с плавающей арифметикой. 21 векторная команда, включая инверсный корень и некоторые другие эффективные в цифровой сигнальной обработке и компьютерной графике команды. Используются все те же регистры арифметического сопроцессора, что позволяет поочередно применять 3Dnow- и MMX-инструкции к одним и тем же операндам. Недостатки: одна команда обрабатывает только два числа одинарной точности, хотя и возможно одновременное исполнение двух команд (четыре операции за такт), удовлетворяющих определенным ограничениям; малое число команд (бедный набор команд преобразования типов данных); невысокая поточная производительность, обусловленная архитектурными особенностями сопроцессоров в изделиях AMD. Достоинства: относительно обкатанный набор команд, поддерживается многими библиотеками и программами. Процессоры K6-2, K6-III, Athlon, Gobi.

SSE - новое расширение от Intel. Известное также как KNI-расширение (MMX2), способное в полном объеме работать с плавающей арифметикой. Являет собою единственное кардинальное отличие нынешних моделей Pentium III от Pentium II, если не считать новой конструкции корпуса и тактовых частот. Это 70 новых команд, оперирующих с восемью новыми 128-битными регистрами, способными вмещать по четыре плавающих числа каждый. В течение такта выполняется одна команда над четырьмя числами одновременно, без каких-либо ограничений. Преимущества: множество специальных команд и команд преобразования типов данных; отдельный набор регистров, способный вместить одновременно 32 плавающих числа, можно параллельно выполнять SSE-операции с любыми операциями процессора и сопроцессора (инициатива признанного законодателя мод - "самой-любимой-компании"). Недостатки: относительно молодое и сложное для реализации начинание - пока существует только один поддерживающий SSE процессор, Pentium III.

AltiVec - сюрприз от IBM. Мощное SIMD-решение для процессоров серии PowerPC, обладающее рядом несравненных достоинств и значительно превосходящее все вышеупомянутые расширения. Главный и единственный недостаток (в рамках темы этой статьи) - не совместимая с Intel платформа. Преимущества: трехоперандные команды, в которых результат может быть помещен в третий регистр; большое количество регистров, тридцать два 128-битных регистра, способных хранить различное число целых или плавающих чисел (например, четыре плавающих одинарной точности или 16 целочисленных байтовых); возможность комбинации форматов и произвольной перестановки чисел во время операций. Идеально подходит для реализации алгоритмов цифровой обработки сигналов. Но в силу его главного недостатка описание AltiVec приведено лишь для сравнения.


Огромный выигрыш может быть получен благодаря правильной организации взаимодействия процессора и ускорителя. Сейчас широко применяются различные буферы команд и параметров, размещаемые в основной памяти компьютера, данные и команды из которых ускоритель самостоятельно выбирает и выполняет. В новых чипах используется несколько параллельно работающих асинхронных буферов. Это еще не все: современные чипы физически оптимизированы под конкретные структуры данных популярных API. Как правило, они способны принимать данные в формате списков Direct3D без каких либо промежуточных преобразований на уровне драйверов. Вот пара наиболее вероятных вариантов взаимодействия ускорителя и процессора:

Процессор:РаботаетРаботаетЖдетРаботаетЖдетРаботает
Ускоритель:РаботаетРаботаетРаботаетРаботает


Используется буферизация, мощность ускорителя недостаточна (характерно для слабых ускорителей: ATI Rage Pro, Trident Blade3D, i740). Высокая зависимость суммарной производительности от разрешения сцены.

Процессор:РаботаетРаботаетРаботаетРаботает
Ускоритель:РаботаетРаботаетЖдетРаботаетЖдетРаботает


Используется буферизация, мощность процессора недостаточна (характерно для производительных ускорителей: TNT2, Voodoo3). Высокая зависимость суммарной производительности от процессора.

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

Ускорить все, что еще можно ускорить

Если процессор недостаточно быстро рассчитывает координаты треугольников и освещение, часть работы нужно переложить на плечи ускорителя. Давайте внимательно присмотримся к недавно вышедшему в свет MS DirectX 7.0 (на момент написания статьи - вторая бета). Там есть нечто, названное Transformation & Lighting API и призванное переложить самые тяжелые задачи (преобразование координат, отсечение невидимых граней, расчет освещения и привязку текстур) на способное их выполнять оборудование. И, поверьте, K-6 2 с 3DNow! и Pentium III с его SSE - отнюдь не единственное оборудование, которое имела в виду Microsoft. Большинство ускорителей способно выполнять две примитивные задачи - удаление обратных граней (подмножество полной процедуры удаления невидимых граней) и округление плавающих координат. Но это только цветочки. Ягодки появятся в продаже уже осенью и будут включать в себя блок аппаратного расчета геометрии и освещения (отмеченный на схеме пациента пунктиром). Подобный блок будет полностью выполнять операции по преобразованию координат, определению видимости примитивов и освещенности их вершин точечными источниками света; задачи, занимающие более половины процессорного времени. В сентябре увидел свет первый снабженный подобным блоком чип - NV10, официально названый GeForce 256 ("Джи-сила" в контексте силы геометрии, а не известного кино Лукаса). Заявленные цифры потрясают: 15 миллионов полностью обработанных треугольников в секунду, восемь аппаратных источников света и другие бенефисы, например, интерполяция вершин, необходимая для расчета гладких поверхностей и сложных деформаций моделей. Вот кадр из программы, демонстрирующей возможности GeForce 256 (см. рис.), каждый листик этого дерева - отдельный объект, динамически освещаемый несколькими источниками света.



Тот же Pentium III 600 способен максимум на 3 млн. треугольников, и это теоретический предел с учетом оптимального использования SSE. Подобное положение дел, кстати, очень невыгодно производителям процессоров. Разумеется, ускоритель продолжает нуждаться в процессоре, но Pentium II 300 МГц прекрасно справляется с оставшейся для него работой. А ведь 600-мегагерцовые процессоры тоже надо продавать. Обидно?

Новый чип от S3 - Savage 2000 - также будет включать аппаратный ускоритель геометрии и освещения, первые карты на его основе появятся в конце этого года. Следующий ход 3dfx - Voodoo4 - будет поддерживать геометрический процессор в виде отдельного чипа, разработанного сторонней компанией  [1]. Подобное решение позволит картам на основе Voodoo4 перекрыть более широкий ценовой диапазон (как с геометрическим процессором, так и без него), но будет более дорогим в максимальной конфигурации. Возможно на картах 3dfx появится Geometry Socket, который позволит пользователю докупить и установить этот чип позже.

Между тем, очевидная аналогия с центральными процессорами рисует в моем воображении футуристическую видеоплату недалекого будущего. Снабженную, кроме всего прочего, специальным разъемом Video-Socket, в который можно вставлять чипы ускорителей различных фирм, и несколькими разъемами для видеопамяти, например, на базе Rambus. Что ж, вперед в магазин, чтобы поменять свою Riva II 266 МГц на успешно разгоняемую до 450 МГц Riva II 300A c кэш-памятью второго уровня для текстур. Хм... Где-то я это уже видел.

Продолжение следует



1 (обратно к тексту) - Не исключено, что этот чип поступит в продажу несколько позже самого Voodoo4.



© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.