Видеоадаптеры

advertisement
Видеоадаптеры
Видеоадаптер обеспечивает интерфейс между компьютером и монитором, передавая сигналы, которые превращаются в
изображение, которое мы видим на экране. На протяжении всей истории ПК было разработано несколько удачных
стандартов, каждый последующий из которых обеспечивал более высокие разрешение и глубину цвета. Наиболее
значимые стандарты видеоадаптеров перечислены ниже.
MDA (Monochrome Display Adapter)
HGC (Hercules Graphics Card)
CGA (Color Graphics Adapter)
EGA (Enhanced Graphics Adapter)
VGA (Video Graphics Array)
SVGA (Super VGA)
XGA (eXtended Graphics Array)
UGA (Ultra Video Graphics Array)
Большинство этих стандартов были изначально разработаны компанией IBM и затем лицензированы другими
производителями. В настоящее время IBM уступила пальму первенства в производстве высококачественных мониторов
другим компаниям, а большая часть приведенных стандартов безнадежно устарела. Единственным исключением
является VGA; этой аббревиатурой обозначают базовые возможности монитора, используемые практически любым
видеоадаптером.
Адаптер VGA
В апреле 1987 года, одновременно с выпуском компьютеров семейства PS/2, компания IBM ввела в действие
спецификацию VGA (Video Graphics Array), которая вскоре стала общепризнанным стандартом систем отображения
компьютеров. Все современные видеоадаптеры оснащены 15_контактным аналоговым разъемом VGA и/или же
аналогово_цифровым разъемом DVI, которые соответствуют стандарту VGA. Схема
разъема VGA представлена на рис. 13.16, а назначение контактов — в табл. 13.12.
В разъеме VGA, подключаемом к видеоадаптеру, зачастую отсутствуют 9_й контакт, 5_й контакт, используемый для
тестирования, и 15_й контакт, применяемый еще реже. Для идентификации типа монитора, подключенного к системе,
некоторые производители используют различные комбинации контактов.
Типы видеоадаптеров
Для любого монитора необходим источник сигнала. Сигналы поступают в монитор от видеоадаптера, установленного в
компьютере.
Существует три способа подключения к системному блоку ЭЛТ_ или жидкокристаллических мониторов.
Платы расширения. В данном случае предполагается использование отдельных плат расширения с интерфейсом
PCI_Express, AGP или PCI. При этом обеспечивается наивысшее быстродействие, большой объем памяти, а также
поддержка наибольшего количества функций.
Графический процессор, интегрированный на системной плате. Быстродействие чаще всего оказывается ниже,
чем при использовании плат расширения, преимущественно по причине использования устаревших решений. Хотя
подобные решения часто поддерживались системными платами LPX, в современных системах они практически не
используются. Даже ноутбуки средней и высшей ценовых категорий оснащены дискретными графическими адаптерами.
Набор микросхем с интегрированным графическим ядром. Это наиболее доступные по цене решения, однако их
быстродействие очень низко, особенно при запуске трехмерных игр и других приложений, интенсивно использующих
графику. При этом также обеспечиваются меньшие значения разрешения и частот обновления, чем при использовании
плат расширения. Наиболее часто интегрированные наборы микросхем
реализованы в бюджетных моделях ноутбуков, а также в некоторых их моделях среднего ценового диапазона.
Компоненты видеосистемы
Для работы видеоадаптера необходимы следующие основные компоненты:
видео_BIOS;
графический процессор, иногда называемый графическим акселератором;
видеопамять;
цифроаналоговый преобразователь DAC (ранее используемый в качестве отдельной микросхемы, DAC зачастую
встраивается в графический процессор новых наборов микросхем; необходимость в подобном преобразователе в
полностью цифровых системах — цифровая видеокарта плюс цифровой монитор — отпадает, однако, пока живы
аналоговый интерфейс VGA и аналоговые мониторы, DAC еще некоторое время будет использоваться);
разъем;
видеодрайвер.
Один из самых производительных видеоадаптеров показан на рис. 13.18. Большинство его компонентов скрыто под
кожухом системы охлаждения графического процессора (GPU), включающей в себя вентилятор и теплоотвод.
Практически все видеоадаптеры, представленные сегодня на рынке, используют наборы микросхем, обеспечивающие
ускоренную обработку трехмерной графики.
BIOS видеоадаптера
Видеоадаптеры имеют свою BIOS, которая подобна системной BIOS, но полностью независима от нее. (Другие
устройства в компьютере, такие как адаптеры SCSI, также могут иметь собственную систему BIOS.) Если вы включите
монитор первым и сразу же посмотрите на экран, то увидите опознавательный знак BIOS видеоадаптера в самом начале
запуска системы.
Хранится BIOS видеоадаптера, подобно системной BIOS, в микросхеме ПЗУ; она содержит основные команды, которые
предоставляют интерфейс между оборудованием видеоадаптера и программным обеспечением. Программа, которая
обращается к функциям BIOS видеоадаптера, может быть автономным приложением, операционной системой или
системной BIOS. Обращение к функциям BIOS позволяет вывести информацию о мониторе во время выполнения
процедуры POST и начать загрузку системы до загрузки с диска любых других программных драйверов.
Графический процессор
Графический процессор, или набор микросхем, является “сердцем” любой видеокарты и характеризует быстродействие
адаптера и его функциональные возможности. Два видеоадаптера различных производителей с одинаковыми
процессорами зачастую демонстрируют схожую производительность и функции обработки графических данных. Кроме
того, программные драйверы, с помощью которых операционные системы и приложения управляют видеоадаптером,
как правило, разрабатываются именно с учетом параметров конкретного набора микросхем. Зачастую драйвер,
предназначенный для видеоадаптера с определенным набором микросхем, можно использовать с другим адаптером, в
котором есть тот же набор микросхем.
Безусловно, разница в быстродействии видеоадаптеров с одинаковыми графическими процессорами зависит от типа и
объема установленной видеопамяти.
Видеопамять
Большинство видеоадаптеров для хранения изображений при их обработке обходятся собственной видеопамятью; хотя
некоторые видеокарты AGP используют системную оперативную память для хранения трехмерных текстур, эта
функция редко находит применение. В основном современные графические адаптеры оснащены собственной
видеопамятью объемом от 256 Мбайт и подключены к системе через порт AGP или интерфейс PCI Express x16. Во
многих малобюджетных системах встроенные графические системы используют оперативную память компьютера
посредством унифицированной архитектуры UMA. В любом случае с помощью как собственной, так и заимствованной
видеопамяти выполняются одни и те же операции.
От объема видеопамяти зависят максимальная разрешающая способность экрана и глубина цвета, поддерживаемая
адаптером. На рынке в настоящее время предлагаются модели с различными объемами видеопамяти: 128, 256 или 512
Мбайт. Хотя больший объем видеопамяти не сказывается на скорости обработки графических данных, при
использовании расширенной шины данных (64–128 бит) или системной оперативной памяти для кэширования часто
отображаемых объектов скорость видеоадаптера может существенно увеличиться. Кроме того, объем видеопамяти
позволяет видеоадаптеру отображать больше цветов и поддерживать более высокое разрешение, а также хранить и
обрабатывать трехмерные текстуры в видеопамяти адаптера AGP, а не в ОЗУ системы.
Видеодрайвер
Программный драйвер — важный и часто проблематичный элемент видеосистемы, с помощью которого осуществляется
связь программного обеспечения с видеоадаптером. Видеоадаптер может быть оснащен самым быстрым процессором и
наиболее эффективной памятью, но плохой драйвер способен свести на нет все эти преимущества.
Видеодрайверы используются для поддержки процессора видеоадаптера. Несмотря на то что видеоадаптеры
поставляются изготовителем вместе с драйверами, часто используются драйверы, поставляемые с набором микросхем
системной логики. Все зависит от того, какой из драйверов обеспечивает большую производительность и создает
меньше проблем.
Интерфейс прикладного программирования
Благодаря интерфейсу прикладного программирования (API) разработчикам аппаратного и программного обеспечения
предоставляются средства создания драйверов и программ, работающих быстрее на большом количестве платформ.
Программные драйверы разрабатываются для взаимодействия непосредственно с API, а не с операционной системой и
программным обеспечением.
В настоящее время ведущими игровыми интерфейсами API являются OpenGL, разработанный компанией SGI, а также
Direct3D, разработанный компанией Microsoft как часть DirectX. Все современные видеоадаптеры поддерживают как
OpenGL, так и Direct3D.
OpenGL
Последняя версия данного интерфейса API, OpenGL 2.1, была выпущена 2 сентября 2006 года. Она содержит язык
поддержки обработки полутонов OpenGL версии 1.2, программируемые вершинные и фрагментарные шейдеры,
множественную обработку полутонов, поддержку не квадратных матриц, текстуры sRGB и не кратные степени двойки,
точечные спрайты и раздельные шаблоны для лицевой и тыльной сторон графических примитивов.
OpenGL всегда был популярным интерфейсом в играх, однако широко применяется и в производственной сфере, в том
числе в картографии. Системы Windows XP и Vista могут поддерживать OpenGL как на программном уровне, так и
посредством графических акселераторов. Для обеспечения в конкретном адаптере поддержки OpenGL изготовитель
должен включить в его поставку устанавливаемый клиентский драйвер (ICD). Таким образом, обновление драйвера
поможет повысить производительность как Direct3D, так и OpenGL.
Microsoft DirectX 9.0c и 10
Direct3D — это составная часть разработанного компанией мультимедийного API DirectX. Хотя последние версии
DirectX (9.0с и 10) поддерживали поверхности высокого порядка (при этом трехмерные поверхности представлялись
кривыми), вершинные и пиксельные шейдеры, реализация данных функций в DirectX разных версий кардинально
отличается.
В DirectX 9.0c, как в версиях 8.0, 8.1 и 9.0, при формировании трехмерных объектов используются раздельные
вершинные и пиксельные шейдеры. Несмотря на то что в DirectX 9.0c повышена точность обработки данных,
поддерживается больше инструкций, текстур и регистров, чем в предшествующих версиях, раздельное использование
шейдеров замедляет обработку объемных объектов, когда количество отображаемых пикселей превышает количество
шейдеров и наоборот. Шейдерная модель версии 3.0, используемая в DirectX 9.0c, является всего лишь развитием
первой модели, использованной еще в 2001 году в DirectX 8.0. В ней только увеличено количество инструкций и
повышена точность. Версия DirectX 10, созданная специально для Windows Vista, основана на совершенно другом ядре с
новой архитектурой шейдеров Shader Model 4. В ней к вершинному и пиксельному шейдерам добавлен геометрический
для повышения реалистичности таких динамических событий, как взрыв. Однако наибольшее изменение в данной
модели — это возможность оперативного переключения между операциями вершинного, геометрического и
пиксельного шейдеров, позволяющего избежать узких мест в обработке любых трехмерных сцен и повысить общую
производительность.
Download