Видеоадаптеры
ак акселераторы самостоятельно вычисляют, какие пиксели
отображать на экране и каковы их цвета. Видеоакселераторы
Изображение, которое мы видим на экране монитора, представляет собой
выводимое специальным цифроаналоговым преобразователем RAMDAC (Random
Access Memory Digital to Analog Converter) и устройством развертки
содержимое видеопамяти. Это содержимое может изменяться как центральным
процессором, так и графическим процессором видеокарты — ускорителем
двухмерной графики (синонимы: 2D-ускоритель, 2D-акселератор, Windows-
акселератор или GDI-акселератор). Современные оконные интерфейсы требуют
быстрой (за десятые доли секунды) перерисовки содержимого экрана при
открытии/закрытии окон, их перемещении и т. п., иначе пользователь будет
чувствовать недостаточно быструю реакцию системы на его действия. Для этого
процессор должен был бы обрабатывать данные и передавать их по шине со
скоростью, всего в 2-3 раза меньшей, чем скорость работы RAMDAC, а это
десятки и даже сотни мегабайт в секунду, что практически нереально даже по
современным меркам. В свое время для повышения быстродействия системы были
разработаны локальные шины, а позднее — 2D-ускорители, которые представляют
собой специализированные графические процессоры, способные самостоятельно
рисовать на экране курсор мыши, элементы окон и стандартные геометрические
фигуры, предусмотренные GDI — графической библиотекой Windows. 2D-
ускорители обмениваются данными с видеопамятью по своей собственной шине,
не загружая системную шину процессора. По системной шине 2D-ускоритель
получает только GDI-инструкции от центрального процессора, при этом объем
передаваемых данных и загрузка процессора в сотни раз меньше.
Современные 2D-ускорители имеют 64- или 128-разрядную шину данных,
причем для эффективного использования возможностей этой шины на видеокарте
должно быть установлено 2 или 4 Мбайт видеопамяти соответственно, иначе
данные будут передаваться по вдвое более узкой шине с соответствующей
потерей в быстродействии.
Можно сказать, что к настоящему моменту 2D-ускорители достигли
совершенства. Все они работают столь быстро, что несмотря на то, что их
производительность на специальных тестах может отличаться от модели к
модели на 10-15%, пользователь, скорее всего, не заметит этого различия.
Поэтому при выборе 2D-ускорителя следует обратить внимание на другие
факторы: качество изображения, наличие дополнительных функций, качество и
функциональность драйверов, поддерживаемые частоты кадровой развертки,
совместимость с VESA (для любителей DOS-игр) и т. п. Микросхемы 2D-
ускорителей в настоящее время производят ATI, Cirrus Logic,
Chips&Technologies, Matrox, Number Nine, S3, Trident, Tseng Labs и другие
компании.
Под мультимедиа-акселераторами обычно понимают устройства, которые
помимо ускорения обычных графических операций могут также выполнять ряд
операций по обработке видеоданных от разных источников.
Прежде всего, это функции по ускорению вывода видео в форматах AVI,
Indeo, MPEG-1 и других. Проблема в том, что видеофильм в формате NTSC идет
со скоростью 30 кадров в секунду, PAL и SECAM — 25 кадр/с. Скорость
смены кадров в цифровом видео перечисленных форматов также меньше или равна
30 кадр/с, однако разрешение изображения редко превышает 320 x
240 пикселов. При этих параметрах скорость поступления информации
составляет порядка 6 Мбайт/с и процессор успевает выполнить ее
декомпрессию и пересылку по шине в видеопамять. Однако такой размер
изображения слишком мал для комфортного просмотра на экране, поэтому его
обычно масштабируют на весь экран. В этом случае скорость потока данных
возрастает до десятков и сотен мегабайт в секунду. Это обстоятельство
привело к появлению видеоакселераторов, которые умеют самостоятельно
масштабировать видео в форматах AVI и MPEG-1 на весь экран, а также
выполнять сглаживание отмасштабированного изображения, чтобы оно не
выглядело, как набор квадратиков. Подавляющее большинство современных 2D-
ускорителей являются в то же время и видеоускорителями, а некоторые,
например ATI Rage128, умеют воспроизводить и видео в формате MPEG-2 (т. е.
с исходным разрешением 720 х 480).
К мультимедиа-функциям также относят аппаратную цифровую компрессию и
декомпрессию видео (что почти не встречается на массовых видеокартах),
наличие композитного видеовыхода, вывод TV-сигнала на монитор,
низкочастотный видеовход и высокочастотный TV-вход, модуль для работы с
телетекстом и другие функции.
Видеоакселераторы
3D-акселераторы
Когда в роли двигателя прогресса выступили компьютерные игры, 2D-
ускорители (см. Видеоакселераторы) почти исчерпали свои возможности, и
эволюция видеокарт пошла по пути наделения их все более мощными средствами
ускорения трехмерной машинной графики. Видеоадаптеры, способные ускорять
операции трехмерной графики, получили название 3D-ускорителей (синонимом
является 3D-акселератор, а также часто встречаемое жаргонное «3Dfx» для
обозначения всех 3D-ускорителей, а не только произведенных компанией 3Dfx
Interactive). Вообще, 3D-ускорители существовали и раньше, но областью их
применения было трехмерное моделирование и САПР, стоили они очень дорого
(от 1 до 15 тыс. долларов) и были практически недоступны массовому
пользователю.
Какие же действия ускоряет 3D-акселератор? В компьютере трехмерные
объекты представляются с помощью геометрических моделей, состоящих из сотен
и тысяч элементарных геометрических фигур, обычно треугольников. Задаются
также пространственное положение источников света, отражательные свойства
материала поверхности объекта, степень его прозрачности и т. п. При этом
некоторые объекты могут частично загораживать друг друга, между ними может
переотражаться свет; пространство может быть не абсолютно прозрачным, а
затянутым туманом или дымкой. Для большего реализма необходимо учесть и
эффект перспективы. Чтобы поверхность смоделированного объекта не выглядела
искусственной, на нее наносится текстура — двухмерная картинка небольшого
размера, передающая цвет и фактуру поверхности. Все перечисленные
трехмерные объекты с учетом примененных к ним эффектов должны в конечном
итоге быть преобразованы в плоское изображение. Эту операцию, называемую
рендерингом, и выполняет 3D-ускоритель.
Перечислим наиболее распространенные операции, которые 3D-ускоритель
выполняет на аппаратном уровне:
Удаление невидимых поверхностей. Обычно выполняется по методу Z-буфера,
который заключается в том, что проекции всех точек трехмерной модели
объекта на плоскость изображения сортируются в специальной памяти (Z-
буфере) по расстоянию от плоскости изображения. В качестве цвета
изображения в данной точке выбирается цвет той точки в Z-буфере, которая
наиболее близка к плоскости изображения, а остальные точки считаются
невидимыми (если не включен эффект прозрачности), так как они загорожены от
нас самой первой точкой. Эта операция выполняется подавляющим большинством
3D-ускорителей. В большинстве современных ускорителей предусмотрены 16-
разрядные Z-буферы, размещаемые в видеопамяти на плате.
Закрашивание (Shading) придает треугольникам, составляющим объект,
определенный цвет, зависящий от освещенности. Бывает равномерным (Flat
Shading), когда каждый треугольник закрашивается равномерно, что вызывает
эффект не гладкой поверхности, а многогранника; по Гуро (Gouraud Shading),
когда интерполируются значения цвета вдоль каждой грани, что придает
криволинейным поверхностям более гладкий вид без видимых ребер; по Фонгу
(Phong Shading), когда интерполируются векторы нормали к поверхности, что
позволяет добиться максимальной реалистичности, однако требует больших
вычислительных затрат и в массовых 3D-ускорителях пока не используется.
Большинство 3D-ускорителей умеет выполнять закрашивание по Гуро.
Отсечение (Clipping) определяет часть объекта, видимую на экране, и
обрезает все остальное, чтобы не выполнять лишних расчетов.
Расчет освещения. Для выполнения этой процедуры часто применяют метод
трассировки лучей (Ray Tracing), позволяющий учесть переотражения света
между объектами и их прозрачность. Эту операцию с разным качеством умеют
выполнять все 3D-ускорители.
Наложение текстур (Texture Mapping), или наложение плоского растрового
изображения на трехмерный объект с целью придания его поверхности большей
реалистичности. Например, в результате такого наложения деревянная
поверхность будет выглядеть именно как сделанная из дерева, а не из
неизвестного однородного материала. Качественные текстуры обычно занимают
много места. Для работы с ними применяют 3D-ускорители на шине AGP, которые
поддерживают технологию сжатия текстур. Наиболее совершенные карты
поддерживают мультитекстурирование — одновременное наложение двух текстур.
Фильтрация (Filtering) и сглаживание (Anti-aliasing). Под сглаживанием
понимается уменьшение искажений текстурных изображений с помощью их
интерполяции, особенно на границах, а под фильтрацией понимается способ
уменьшения нежелательной «зернистости» при изменении масштаба текстуры при
приближении к 3D-объекту или при удалении от него. Известна билинейная
фильтрация (Bilinear Filtering), в которой цвет пиксела вычисляется путем
линейной интерполя
| | скачать работу |
Видеоадаптеры |