Тенденциоз
АрхивКак все запущено!
Доктор
Доктор
Для начала рекомендую ознакомиться с личной картой героя этой статьи. Ускорителя трехмерной графики, больного лихорадочной производительностью.
Рискуя повторить хорошо известные читателю истины, не буду комментировать данную схему, уже неоднократно описанную на страницах "Терры". В свою очередь, высвободившееся место обязуюсь заполнить полезной и актуальной информацией.
Итак, попытаемся поставить диагноз, отметив качественные тенденции развития современных ускорителей. Разумеется, автору статьи гораздо проще и корректней сравнивать мегапикселы с мегатекселами или, на худой конец, мегабайты с мегагерцами. Может быть, я несколько старомоден, но предпочитаю вначале сравнивать субъективные ощущения, а уже потом стоящие за ними цифры. Человеку приятно иметь дело с надежностью, качеством, реалистичностью и красотой. Совершенно ненаучными и не измеряемыми численно параметрами. Разговор начнем с конца. В смысле, с выходов.
Смотрите... не смотрите...
Качество изображения зависит от устройства демонстрации (монитора), канала доставки и, наконец, самого изображения, рассчитываемого ускорителем. Рассчитываемое изображение и мониторы могут позволить себе непрерывное совершенствование в количественном и качественном смысле, но с каналами доставки дело обстоит значительно хуже: интерфейсы не имеют права меняться каждые полгода. И все же, благодаря распространению жидкокристаллических мониторов, мы стоим на пороге замены столь привычного аналогового VGA-интерфейса на новый цифровой тракт. Даже производители обычных CRT-мониторов планируют выпустить модели с цифровым интерфейсом, как только снабженные им карты получат достаточное распространение. Подробнее см. врезку "ЖК-мониторы и цифровой интерфейс".
|
Вернемся к реалиям сегодняшнего дня. В борьбе за качество не следует забывать о детали, непосредственно связанной с монитором (в прямом смысле слов), - о 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 - в таблице чипов).
|
Входит и выходит
Не забудем упомянуть еще об одном выходе - видео. Базовая поддержка этой возможности интегрируется практически в любой ускоритель, производителям остается лишь снабдить свой продукт специальным разъемом и небольшим интерфейсным чипом. Подобный видеовыход можно применять как для сброса на любительское видео, так и для подключения телевизора или видеопроектора. Всего, заметьте, за 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-расширения".
|
Огромный выигрыш может быть получен благодаря правильной организации взаимодействия процессора и ускорителя. Сейчас широко применяются различные буферы команд и параметров, размещаемые в основной памяти компьютера, данные и команды из которых ускоритель самостоятельно выбирает и выполняет. В новых чипах используется несколько параллельно работающих асинхронных буферов. Это еще не все: современные чипы физически оптимизированы под конкретные структуры данных популярных 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.