Принцип работы и устройство современных видеоадаптеров
Принцип работы
Процесс обработки графических данных – это очень сложный процесс. Чтобы получить на экране монитора определенное изображение, видеокарта выполняет много различных операций. Она получает информацию о будущей картинке от центрального процессора, после этого строит ее каркас, состоящий из точек (их называют «вершинами»).
Затем на этот каркас помещаются плоские кусочки – «полигоны». Под конец специальные программы («шейдеры») сглаживают углы, а на последнем этапе полученная фигура покрывается цветовой текстурой.
Т.к. картинка постоянно изменяется (особенно в компьютерных играх), расчеты должны производиться с очень большой скоростью. Только так можно обеспечить формирование необходимого количества кадров за 1 секунду. Идеальным для человеческого глаза является частота, равная 25 кадров/сек. (англ. – FPS или Frames Per Second). Если количество кадров меньше, то будет заметно «торможение».
В трехмерной графике все объекты создаются как совокупность множества (счет идет на миллионы) треугольников, а треугольники затем образуют полигоны (но полигон, вообще говоря, любая плоская фигура с количеством углов >=3). Работа начинается с определения полигонов для каждого из объектов изображения. Далее выполняется анализ перемещения каждого из объектов относительно наблюдателя, включая и вращение относительно собственной оси. Кроме этого, определяется, как подсветка отражается на каждом объекте. Весь этот анализ исходит из отрисовки 30 кадров/с, хотя для терпимого качества достаточно иметь 10-15 кадров/с.
Так как весь объект состоит из треугольников, все операции выполняются с координатами вершин треугольников и при перемещении объекта координаты вершин пересчитываются. При освещении объекта определяется уровень освещенности каждой вершины треугольника, а уровень освещенности каждой точки внутри треугольника вычисляется как средневзвешенное значение относительно вершин. |
Весь процесс создания трехмерной картинки состоит из двух частей: Сначала создается геометрия объекта из множества треугольников, а затем выполняется отображение объекта на экране или, как принято в 3D описаниях, рендеринг (от слова render - изображать). Большинство современных видеокарт с 3D ускорителями не занимаются обсчетом вершин (т.е. первой частью), а выполняют только рендеринг. Это объясняется тем, что первая часть работы требует чрезвычайно интенсивных вычислений и она, как правило, возлагается на центральный процессор. Именно поэтому результаты тестирования видеокарт существенно зависят от производительности процессора.
Собственно рендерингсостоит из четырех основных задач:растеризации,z-буферизации,затененияи нанесения текстур. "Правильная" 3D видеокарта аппаратно выполняет все эти операции.
Качество растеризации зависит от возможностей видеокарты – лучшие карты не выполняют цветовую обработку пикселей всего треугольника, если часть его выходит за границу видимости объекта. Обрабатываются только видимые пиксели. В не очень хороших картах весь треугольник, попадающий на край объекта, может быть обработан или весь не обработан. Поэтому в мощных картах край изображения выглядит намного ровнее. Этот механизм называют также anti-aliasing.
При z-буферизацииопределяется, какие треугольники частично или полностью видимы относительно других треугольников. Этот механизм называетсяz-буферизацией, так требуется сохранять третью координату для каждой вершины треугольника и анализировать ее. После этого процесса становится известно, что следует рисовать на переднем плане, а что на заднем.
Затенение формирует цвет каждого треугольника в зависимости от освещения или тени, падающей на объект. Самым популярным методом сейчас является затенением по Гуро – программа, в зависимости от света (тени) в каждой вершине треугольника, вычисляет среднее значение для всего треугольника.
Нанесение текстур приводит к формированию деталей на полигоне – например, ворса на ткани, колец на срезе дерева, цементной "шубы" на стене и т.п. Текстура является образом поверхности объекта. Обычно создается несколько текстур с различным разрешением. Для частей объекта, ближайших к наблюдателю, выбираются текстуры с более высоким разрешением, для удаленных – с более низким. Этот способ также называется mip mapping.
Устройство видеокарты
Рассмотрим, из каких частей состоит видеоадаптер:
Графический процессор (от англ. GPU (Graphics processing unit) – графическое процессорное устройство, графическое ядро) – занимается расчетами и формированием графической информации, которая выводится на монитор компьютера. GPU – основа видеоадаптера и очень часто превосходит центральный процессор по своей сложности.
Видеопамять – является своеобразным буфером для временного помещения в него выводимых на монитор изображений, которые создаются и постоянно изменяются графическим ядром.
Цифро-аналоговый преобразователь (ЦАП) (от англ. RAMDAC – (Random Access Memory Digital-to-Analog Converter)) – осуществляет преобразование цифровой информации в аналоговый сигнал, который отображается на мониторе ПК. От ЦАП зависит разрешение картинки, частота вертикальной развертки, количество отображаемых цветов. Цифровые мониторы или проекторы, которые подключаются к цифровому разъему видеокарты, используют свои собственные ЦАП и не зависят от ЦАП видеокарты.
Видеоконтроллер – устройство, которое отвечает за формирование и передачу на ЦАП необходимой информации из видеопамяти.
Видео-ПЗУ (Video ROM) – представляет собой микросхему, которая хранит базовую систему ввода-вывода данной видеокарты, другими словами, BIOS, и определяет алгоритмы и правила, заданные производителем, используя которые, между собой взаимодействуют различные составные части видеокарты.
Система охлаждения, которая осуществляет отвод тепла от видеопроцессора, видеопамяти и др. компонентов и его рассеивание для обеспечения рабочего температурного режима.
Разъемы для подключения видеокарты в компьютер
Видеокарты бывают внешние и встроенные. Рассмотрим немного подробнее особенности внешних видеокарт.
Внешняя видеокарта представляет собой плату расширения и подключается в один из портов на материнской плате.
Наиболее старый разъем для подключения это AGP (от англ. - Accelerated Graphics Port или в переводе – ускоренный графический порт). Довольно редко, но всё-таки его ещё можно встретить на довольно старых компьютерах. Он был разработан компанией Intel сразу после появления процессоров Intel Pentium II и предназначался для соединения видеокарт и материнских плат с целью увеличения быстродействия видеосистемы.
Но сегодня они безнадежно устарели, т.к. имеют очень малую пропускную способность шины (всего до 2.1 Гбайт/сек), при возросших требованиях современных программ и игр. Современные видеоадаптеры используют другой интерфейс – PCI Express x16.
В современных материнских платах отсутствует слот AGP и все внешние видеокарты подключаются только через интерфейс PCI Express. Скорость шины данного интерфейса намного выше, чем у его предшественника. На сегодняшний день появилась уже третья версия интерфейса - PCI Express 3.0. С ним скорость передачи данных может достигать 16 Гбайт/сек.
Разъемы видеокарты
Современные видеокарты обычно имеют по несколько разъемов, к которым можно подключить монитор (даже несколько мониторов одновременно), телевизор, проектор и т.д.
Наиболее старым выходным разъемом видеокарты является разъем VGA (от англ. Video Graphics Array). Появился данный разъем в далеком 1987 г. Как правило, при помощи него видеоплаты подключают к старым мониторам. Сигнал, выходящий через данный разъем, является аналоговым.
DVI (от англ. Digital Visual Interface) – цифровой выход. В основном используется для подключения современных ЖК-мониторов. В отличие от VGA может работать как с аналоговым, так и с цифровым видеосигналом.
HDMI (от англ. High-Definition Multimedia Interface) – цифровой выход, используется для подключения ЖК-телевизоров и плазменных панелей. Основное отличие между HDMI и DVI в том, что разъём HDMI, кроме передачи видеосигнала, может передавать многоканальный цифровой аудиосигнал.
DisplayPort (DP) – также стандарт сигнального интерфейса, предназначенный для цифровых дисплеев. Рекомендуется к использованию в качестве самого современного интерфейса для соединения между собой аудио и видеоаппаратуры: компьютера с дисплеем или компьютера и домашнего кинотеатра.
Выводы по разделу три
Современные видеокарты при обработке трехмерной графики используют метод постепенного построения изображения: сначала строится его каркас, затем с помощью т.н. полигонов и шейдеров изображение получает конечные формы, на которые накладываются цветные текстуры. В зависимости от модели видеокарты выполняется сглаживание изображения, придающее ему более естественный вид. Современные видеоадаптеры состоят из графического процессора, видеопамяти, ЦАП, видеоконтроллера, видео-ПЗУ и, опционально, системы охлаждения. Подавляющее большинство современных видеокарт подключаются через интерфейс PCI Express x16 и имеют несколько разъемов для работы с разными типами сигналов и мониторов.