Введение

Видеокарта от Matrox. G400 – это видеокарта, разработанная компанией Matrox и выпущенная в сентябре 1999 года. Графический процессор включает в себя 2D графический интерфейс, видеоускоритель и 3D ускоритель Direct3D 6.0. Под кодовым названием "Тукан" она представляла собой более мощную и улучшенную версию предшественницы, G200.

Обзор

Графический процессор Matrox G200 был успешным продуктом, конкурировавшим с различными 2D- и 3D-картами, доступными в 1998 году. Matrox взяла технологию, разработанную в рамках проекта G200, усовершенствовала её и, по сути, удвоила, чтобы создать процессор G400. Новый чип включал в себя несколько новых и инновационных функций, таких как поддержка вывода на несколько мониторов, 32-битный конвейер рендеринга с высокой производительностью, дальнейшее улучшение 2D- и видеоускорения, а также новую 3D-функцию, известную как Environment Mapped Bump Mapping. Внутри G400 представляет собой 256-битный процессор, использующий архитектуру "DualBus", разработанную Matrox. Это эволюция "DualBus" G200, который был 128-битным. Чип Matrox "DualBus" состоит из двух однонаправленных шин, каждая из которых перемещает данные в чип или из него. Это повышает эффективность и пропускную способность потока данных внутри чипа к каждой из его функциональных единиц. 3D-движок G400 состоит из двух параллельных пиксельных конвейеров с одним текстурным блоком каждый, обеспечивая возможность двойной текстуризации за один проход. Millennium G400 MAX способен на 333 мегапикселя в секунду при тактовой частоте ядра 166 МГц. Это чисто ускоритель Direct3D 6.0 и, следовательно, не поддерживает аппаратные преобразования и ускорение освещения карт Direct3D 7.0. Внешний интерфейс памяти чипа составляет 128 бит и предназначен для использования SDRAM или SGRAM. Matrox выпустила версии плат G400 объёмом 16 МБ и 32 МБ, используя оба типа памяти. Самые медленные модели оснащены 166 МГц SDRAM, а самые быстрые (G400 MAX) используют 200 МГц SGRAM. G400MAX обладал самой высокой пропускной способностью памяти среди всех карт до выпуска версии NVIDIA GeForce 256 с поддержкой DDR. Пожалуй, наиболее заметной особенностью G400 является его способность управлять двумя отдельными мониторами для отображения единого рабочего стола. Эта функция известна как "DualHead" и являлась существенным преимуществом Matrox над конкурентами в то время. Возможность DualHead предлагала не только расширение рабочего стола, но и его клонирование (два экрана, отображающие одно и то же) и специальный режим "DVDMAX", который выводит видеоповерхности на второй монитор. Награжденные диспетчеры дисплея Powerdesk и панель управления Matrox интегрировали DualHead очень гибким и функциональным способом, получившим всемирную известность благодаря своей эффективности. Однако, вопреки названию видеорежима, G400 не поддерживает полное аппаратное ускорение декодирования DVD. G400 имеет частичную поддержку процесса декодирования видео DVD, но не выполняет обратное дискретное косинусное преобразование (IDCT) или компенсацию движения в аппаратном обеспечении (два наиболее ресурсоемких этапа процесса). Чип G400 аппаратно поддерживает метод детализации поверхности на основе текстур, называемый Environment Mapped Bump Mapping (EMBM). EMBM был разработан BitBoys Oy и лицензирован Matrox. EMBM не поддерживался некоторыми конкурентами, такими как NVIDIA GeForce 256 и GeForce 2, которые поддерживали только более простой Dot 3 BM, но был доступен на ATI Radeon 7200. Из-за отсутствия широкой поддержки в отрасли и его влияния на ограниченные графические ресурсы того времени, EMBM использовался ограниченно во времена G400. Лишь несколько игр поддерживали эту функцию, например Dungeon Keeper 2 и Millennium Soldier: Expendable. EMBM требует либо специализированного оборудования внутри чипа для его вычислений, либо более гибкого и программируемого графического конвейера, такого как более поздние ускорители DirectX 8.0, такие как GeForce 3 и Radeon 8500. В G400 используется то, что Matrox называет "Vibrant Color Quality 2" (VCQ2) – функция, при которой все внутренние 3D-вычисления выполняются с 32-битной точностью. Цель состояла в том, чтобы предотвратить мерцание и другие артефакты, вызванные недостаточной точностью при выполнении вычислений. В результате были достигнуты наилучшие 16- и 32-битные цветовые режимы, доступные в то время. Matrox была известна своим качественным аналоговым видеовыходом на предыдущих картах, и G400 не является исключением. G400 в течение нескольких лет был эталоном качества сигнала, значительно превосходя некоторых конкурентов (в частности, карты NVIDIA до GeForce4). В то время как многие карты страдали от размытого вывода, особенно при увеличении разрешения и частоты обновления, карты Matrox обеспечивали очень чёткое и ясное изображение. G400 – первая плата Matrox, совместимая с AGP 4X. Большинство плат G400 (REV. A) поддерживают только режим 2X, но существуют более поздние ревизии (REV. B), которые полностью соответствуют стандарту 4X и работают на более высокой скорости, если материнская плата также способна это обеспечить.

Выступление

G400 был известен своей высокой зависимостью от центрального процессора хост-системы для достижения высокой 3D-производительности. Это объяснялось как его архитектурой, так и некачественными драйверами, на которые он полагался на протяжении большей части своего жизненного цикла (особенно OpenGL ICD). Что касается аппаратной части, треугольный движок G400, иронично названный "Warp Engine", был несколько медленнее, чем аналогичные решения у конкурентов. Однако Warp Engine был программируемым, что теоретически повышало гибкость чипа. К сожалению, Matrox так и не предоставил подробного описания функциональности этого компонента, поэтому о нем известно немного. Как уже упоминалось, G400 столкнулся с проблемами драйверов сразу после выпуска. В то время как производительность в Direct3D была достойной, компонент устанавливаемого клиентского драйвера OpenGL (ICD) был очень плох. Ситуация была пугающе похожа на то, что произошло со старой моделью G200, с ее практически полным отсутствием адекватной поддержки OpenGL. Matrox ясно дал понять, что привержен поддержке OpenGL, и разработка быстро продвигалась. Изначально G400 поставлялся с драйвером-оберткой, преобразующим OpenGL в Direct3D, как и G200, что было медленным и нестабильным решением. В конечном итоге был выпущен нативный драйвер OpenGL под названием "TurboGL", но он был разработан только для поддержки нескольких популярных игр того времени (например, Quake3). Этот драйвер стал предшественником полноценного драйвера OpenGL ICD, быстрым решением для повышения производительности путем предоставления временной альтернативы. Поскольку TurboGL не поддерживал все приложения OpenGL, он по сути являлся "Mini ICD", подобно тому, как 3DFX использовал его в своих платах Voodoo. TurboGL включал поддержку новых SIMD-технологий от AMD и Intel, включая SSE1 и 3DNow!. В середине 2000 года G400 получил полностью совместимый OpenGL ICD, который обеспечивал достойную производительность в большинстве программ, поддерживающих OpenGL. G400 регулярно получал официальные обновления драйверов вплоть до 2006 года. Несмотря на первоначальные трудности с драйверами, Matrox G400 был весьма конкурентоспособен. Производительность в 2D и Direct3D была не уступала NVIDIA RIVA TNT2, 3dfx Voodoo3 и ATI Rage 128 Pro. Фактически, до выхода NVIDIA GeForce 256 с поддержкой ускорения трансформации и освещения Direct3D 7.0, Millennium G400 MAX была достойной видеокартой Direct3D, конкурирующей с Voodoo3 3500 и TNT2 Ultra. 3dfx имела преимущество в некоторых играх благодаря низким накладным расходам Glide API, а NVIDIA долгое время оставалась королем OpenGL.

Marvel G400-TV Чип Зорана

Matrox прекратил поддержку Marvel G400 TV раньше времени, поскольку не удалось добиться его полноценной работоспособности в Windows 2000. Проблема заключалась в чипе Zoran, использованном для аппаратного MJPEG-сжатия видео на карте Marvel G400. Matrox в течение нескольких месяцев пытался разработать стабильные драйверы, но безуспешно. Пользователь Matrox с ником Adis модифицировал оригинальные драйверы, чтобы заставить карту работать в Windows 2000. Позже драйвер был обновлен для Windows XP, а затем для Windows Server 2003. Видеозапись была возможна, но драйверы по-прежнему основаны на VfW. Аппаратная MJPEG-запись может быть нестабильной, однако программное сжатие с использованием хорошего видеокодека дает значительно лучшие результаты. Для этой карты драйверы WDM недоступны.

Матрокс G450

Осенью 2000 года компания Matrox представила чип G450 (кодовое название Condor) в качестве преемника линейки G400. Подобно тому, как G250 был улучшенной версией G200, G450 представлял собой в первую очередь уменьшение техпроцесса ядра G400 с 250 нм до 180 нм. Уменьшение ядра позволяет снизить затраты, поскольку на одной кремниевой пластине получается больше чипов, а Matrox получает возможность исправить ошибки, допущенные на предыдущих этапах разработки, и добавить или улучшить функциональность. Matrox разогнал ядро G450 до 125 МГц, как и ядро стандартного G400. Тесты показали, что ядро G450 не смогло достичь более высоких частот, чем G400, несмотря на использование более современного техпроцесса. Одним из главных нововведений в G450 стало перемещение второго RAMDAC, ранее располагавшегося на внешней плате для подключения второго монитора (DualHead), непосредственно в сам чип G450. Скорость работы RAMDAC все же различалась: основной работал на отличных 360 МГц, а дополнительный – всего на 230 МГц. Это означало, что на основном мониторе можно было использовать гораздо более высокое разрешение и частоту обновления, чем на дополнительном – как и в случае с G400. G450 также обеспечивал аппаратную поддержку TMDS-сигнализации и, следовательно, DVI, хотя соответствующий разъем не входил в стандартную комплектацию. Платы поставлялись с двумя аналоговыми VGA-разъемами. Для G450 был реализован интерфейс памяти DDR SDRAM, заменивший устаревшие SGRAM и SDRAM с одинарной скоростью передачи данных (SDR), использовавшиеся в G400. Это позволило перейти на 64-битную шину памяти и, используя память DDR, добиться прежней пропускной способности, разогнав оперативную память до 166 МГц. 64-битная шина упрощает конструкцию платы (и снижает ее стоимость), поскольку требуется меньше проводников, а количество контактов графического процессора потенциально может быть значительно уменьшено, если чип разработан исключительно для 64-битной шины. Однако DDR имеет более высокую задержку по сравнению с SDR при одинаковой пропускной способности, что привело к некоторому снижению производительности. Marvel G450 eTV не только оснащался телевизионным тюнером, но и стал платформой для запуска нового решения Matrox eDualHead, улучшающего возможности работы с двумя дисплеями. Оно добавило новые функции в DualHead, которые работали с Internet Explorer, позволяя отображать веб-страницы одновременно на обоих экранах.

Матрокс G550

Процессор MGA G550 добавил второй пиксельный конвейер, аппаратное преобразование и освещение, а также HeadCasting Engine – аппаратную реализацию вершинного шейдера для ускоренной скиннинга с использованием палитры матриц. Это было достигнуто за счет увеличения количества постоянных регистров с 96, определенных в DirectX 8.0, до 256. Однако, несмотря на эту функцию, она недоступна через драйвер DirectX. Matrox поддерживает функцию HeadCasting только посредством поставляемого в комплекте программного обеспечения Matrox Digimask, которое так и не получило широкого распространения. 13 июля 2005 года компания Matrox Graphics Inc. объявила о доступности Millennium G550 PCIe – первой в мире графической карты PCI Express x1. В карте используется мостовой контроллер Texas Instruments XIO2000 для обеспечения поддержки PCI Express.

Невыпущенные продукты

В ходе анализа выпуска графических драйверов Matrox (MGA64.sys v4.77.027) было обнаружено упоминание о так и не вышедшем Matrox Millennium G800. MGA G800, известный под кодовым названием Condor 2, должен был иметь тактовую частоту ядра 200 МГц и память DDR 200 МГц (пропускная способность 6,4 ГБ/с). Чип оснащался 3 пиксельными конвейерами, каждый из которых имел 3 текстурных блока. Также он включал в себя аппаратный модуль трансформации и освещения, способный обрабатывать 20–30 миллионов треугольников в секунду. Помимо этого, предполагалось наличие контроллера памяти, поддерживающего DDR SDRAM и DDR FC RAM, соответствие стандарту DirectX 8.0, а также более быструю версию с частотой 250 МГц. Эти характеристики в некоторой степени напоминают Matrox Parhelia, поскольку Parhelia является 4-конвейерным графическим процессором DirectX 8 с 4 текстурными блоками на конвейер.

Модели

Название платы Тип ядра Техпроцесс Тактовая частота ядра (МГц) Тактовая частота памяти (МГц) Конфигурация конвейера T&L Интерфейс памяти Примечания Millennium G400 Toucan 250 нм 125 166 2x1 N 128 бит 32 МиБ SGRAM или 16 МиБ SGRAM/SDRAM Millennium G400 MAX Toucan 250 нм 150 200 2x1 N 128 бит 32 МиБ SGRAM. Требуется вентилятор. Максимальная пропускная способность памяти до GeForce 256 DDR – 3,2 ГБ/с. Marvel G400 TV Toucan 250 нм 125 166 2x1 N 128 бит 16 МиБ SGRAM. Видеозахват и ТВ-тюнер. Millennium G450 Condor 180 нм 125 166 2x1 N 64 бит DDR SDRAM. В ядро интегрирован второй RAMDAC. Поддержка TMDS/DVI. Marvel G450 eTV Condor 180 нм 2x1 N 64 бит ТВ-тюнер. eDualHead. Millennium G550 Condor 180 нм 125 166 2x2x1 Y 64 бит 32 МиБ DDR SDRAM