Видеомониторы и видеоадаптеры
Характеристики
Ширина шины памяти, измеряется в битах - количество бит информации, передаваемой за такт. Важный параметр в производительности карты.
Объем видеопамяти, измеряется в мегабайтах - объем встроенной оперативной памяти видеокарты.
Частоты ядра и памяти - измеряются в мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию.
Техпроцесс - технология изготовления основных микросхем видеокарты, указывается характерный размер, измеряемый в нанометрах (нм), современные микросхемы выпускаются по 90-, 80- 65 или 55-нм нормам техпроцесса. Чем меньше данный параметр, тем больше элементов можно уместить на кристалле микросхемы.
Текстурная и пиксельная скорость заполнения, измеряется в млн. пикселов в секунду, показывает количество выводимой информации в единицу времени.
Выводы карты - первоначально видеоадаптер имел всего один разъем VGA (15-контактный D-Sub ). В настоящее время платы оснащают одним или двумя разъемами DVI или HDMI, либо Display Port. Порты D-SUB, DVI и HDMI являются эволюционными стадиями развития стандарта передачи видеосигнала, поэтому для соединения устройств с этими типами портов возможно использование переходников. Dispay Port позволяет подключать до четырех устройств, в том числе акустические системы, USB -концентраторы и иные устройства ввода-вывода. На видеокарте также возможно размещение композитных и S-Video видеовыходов и видеовходов (обозначаются, как ViVo ).
Шина интерфейс
Первое препятствие к повышению быстродействия видеосистемы - это интерфейс передачи данных, к которому подключен видеоадаптер. Самой первой шиной использовавшейся в IBM PC была XT-Bus, она имела разрядность 8 бит данных и 20 бит адреса и работала на частоте 4,77 МГц. Далее появилась шина ISA (Industry Standart Architecture - архитектура промышленного стандарта), соответственно она имела разрядность 16/24 бит и работала на частоте 8 МГц. Пиковая пропускная способность составляла чуть больше 5,5 МиБ/с. Этого болеечем хватало для отображения текстовой информации и игр с шестнадцатицветной графикой. Дальнейшим рывком явилось появление шины MCA (Micro Channel Architecture) в новой серии компьютеров PS/2 фирмы IBM. Она уже имела разрядность 32/32 бит и пиковую пропускную способность 40 МиБ/с. С появлением процессоров серии 486 появилась локальная шина VLB ( VESA Local Bus - локальная шина стандарта VESA ). Работая на внешней тактовой частоте процессора, которая составляла от 25 МГц до 50 МГц, и имея разрядность 32 бит, шина VLB обеспечивала пиковую пропускную способность около 130 МиБ/с. Видеоадаптер стал требовать высокую скорость обмена информацией, поэтому была разработана шина PCI ( Periferal Component Interconnect - объединение внешних компонентов. Тактовая частота шины 33 МГц и разрядность 32/32 бит, пропускная способность 133 МиБ/с - столько же, сколько и VLB. С появлением 3D -игр со сложной графикой, стало ясно, что пропускной способности PCI в том виде, в каком она существовала на платформе PC недостаточно. Фирма Intel модернизировала шину PCI, обеспечила отдельный доступ к памяти с поддержкой некоторых специфических запросов видеоадаптеров, и назвала это AGP ( Accelerated Graphics Port - ускоренный графический порт). Разрядность шины AGP составляет 32 бит, рабочая частота 66 МГц, поддерживаются режимы передачи данных 1x, 2x, 4x, 8x, в этих режимах за один такт передаются соответственно одно, два, четыре или восемь 32-разрядных слов. Пиковая пропускная способность в режиме 1x - 266 МиБ/с. Выпуск видеоадаптеров на базе шинах PCI и AGP на настоящий момент ничтожно мал, так как шина AGP перестала удовлетворять современным требованиям для мощности новых ПК, и, кроме того, не может обеспечить необходимую мощность питания. Для решения этих проблем создано расширение шины PCI - E - PCI Express версий 1.0 и 2.0, это последовательный, в отличие от AGP, интерфейс, его пропускная способность может достигать нескольких десятков ГБ/с.
Видеопамять
Кроме шины данных, второе узкое место любого видеоадаптера - это пропускная способность (англ. bandwidth) памяти самого видеоадаптера. Причем, изначально проблема возникла даже не столько из-за скорости обработки видеоданных (это сейчас часто стоит проблема информационного "голода" видеоконтроллера, когда он данные обрабатывает быстрее, чем успевает их читать/писать из/в видеопамять), сколько из-за необходимости доступа к ним со стороны видеопроцессора, центрального процессора и RAMDAC'а. Дело в том, что при высоких разрешениях и большой глубине цвета для отображения страницы экрана на мониторе необходимо прочитать все эти данные из видеопамяти и преобразовать в аналоговый сигнал, который и пойдет на монитор, столько раз в секунду, сколько кадров в секунду показывает монитор. Возьмем объем одной страницы экрана при разрешении 1024x768 точек и глубине цвета 24 бит ( True Color ), это составляет 2,25 МиБ. При частоте кадров 75 Гц необходимо считывать эту страницу из памяти видеоадаптера 75 раз в секунду (считываемые пикселы передаются в RAMDAC и он преобразовывает цифровые данные о цвете пиксела в аналоговый сигнал,поступающий на монитор), причем, ни задержаться, ни пропустить пиксел нельзя, следовательно, номинально потребная пропускная способность видеопамяти для данного разрешения составляет приблизительно 170 МиБ/с, и это без учета того, что необходимо и самому видеоконтроллеру писать и читать данные из этой памяти. Для разрешения 1600x1200x32 бит при той же частоте кадров 75 Гц, номинально потребная пропускная составляет уже 550 МиБ/с, для сравнения, процессор Pentium-2 имел пиковую скорость работы с памятью 528 МиБ/с. Проблему можно было решать двояко - либо использовать специальные типы памяти, которые позволяют одновременно двум устройствам читать из нее, либо ставить очень быструю память. О типах памяти и пойдет речь ниже.
FPM DRAM (Fast Page Mode Dynamic RAM) - динамическое ОЗУ с быстрым страничным доступом) - основной тип видеопамяти, идентичный используемой в системных платах. Использует асинхронный доступ, при котором управляющие сигналы не привязаны жестко к тактовой частоте системы. Активно применялся примерно до 1996 г.
VRAM (Video RAM - видео ОЗУ) - так называемая двухпортовая DRAM. Этот тип памяти обеспечивает доступ к данным со стороны сразу двух устройств, то есть есть возможность одновременно писать данные в какую-либо ячейку памяти, и одновременно с этим читать данные из какой-нибудь соседней ячейки. За счет этого позволяет совмещать во времени вывод изображения на экран и его обработку в видеопамяти, что сокращает задержки при доступе и увеличивает скорость работы. То есть RAMDAC может свободно выводить на экран монитора раз за разом экранный буфер ничуть не мешая видеопроцессору осуществлять какие-либо манипуляции с данными. Но это все та же DRAM и скорость у нее не слишком высокая.
WRAM (Window RAM) - вариант VRAM, с увеличенной на ~25 % пропускной способностью и поддержкой некоторых часто применяемых функций, таких как отрисовка шрифтов, перемещение блоков изображения и т. п. Применяется практически только на акселераторах фирмы Matrox и Number Nine, поскольку требует специальных методов доступа и обработки данных. Наличие всего одного производителя данного типа памяти ( Samsung ) сильно сократило возможности ее использования. Видеоадаптеры, построенные с использованием данного типа памяти, не имеют тенденции к падению производительности при установке больших разрешений и частот обновления экрана, на однопортовой же памяти в таких случаях RAMDAC все большее время занимает шину доступа к видеопамяти и производительность видеоадаптера может сильно упасть.
EDO DRAM (Extended Data Out DRAM) - динамическое ОЗУ с расширенным временем удержания данных на выходе) - тип памяти с элементами конвейеризации, позволяющий несколько ускорить обмен блоками данных с видеопамятью приблизительно на 25 %.
SDRAM(Synchronous Dynamic RAM) - синхронное динамическое ОЗУ) пришел на замену EDO DRAM и других асинхронных однопортовых типов памяти. После того, как произведено первое чтение из памяти или первая запись в память, последующие операции чтения или записи происходят с нулевыми задержками. Этим достигается максимально возможная скорость чтения и записи данных.
DDR SDRAM (Double Data Rate) - вариант SDRAM с передачей данных по двум срезам сигнала, получаем в результате удвоение скорости работы. Дальнейшее развитие пока происходит в виде очередного уплотнения числа пакетов в одном такте шины - DDR2 SDRAM (GDDR2), DDR3 SDRAM (GDDR3) и т.д.
SGRAM (Synchronous Graphics RAM) - синхронное графическое ОЗУ) вариант DRAM с синхронным доступом. В принципе, работа SGRAM полностью аналогична SDRAM, но дополнительно поддерживаются еще некоторые специфические функции, типа блоковой и масочной записи. В отличие от VRAM и WRAM, SGRAM является однопортовой, однако может открывать две страницы памяти как одну, эмулируя двухпортовость других типов видеопамяти.
MDRAM (Multibank DRAM) - многобанковое ОЗУ) - вариант DRAM, разработанный фирмой MoSys, организованный в виде множества независимых банков объемом по 32 КиБ каждый, работающих в конвейерном режиме.
RDRAM (RAMBus DRAM) память использующая специальный канал передачи данных ( Rambus Channel ), представляющий собой шину данных шириной в один байт. По этому каналу удается передавать информацию очень большими потоками, наивысшая скорость передачи данных для одного канала на сегодняшний момент составляет 1600 МиБ/с (частота 800 МГц, данные передаются по обоим срезам импульса). На один такой канал можно подключить несколько чипов памяти. Контроллер этой памяти работает с одним каналом Rambus, на одной микросхеме логики можно разместить четыре таких контроллера, значит теоретически можно поддерживать до 4 таких каналов, обеспечивая максимальную пропускную способность в 6,4 ГиБ/с. Минус этой памяти - нужно читать информацию большими блоками, иначе ее производительность резко падает.
Ускорители трехмерной графики
Для создания анимированной последовательности трехмерных изображений компьютеру необходимо математически анимировать последовательность кадров между ключевыми позициями. В ключевом кадре определяются специальные точки смещения. У прыгающего мяча, например, есть три ключевые позиции: подскок вверх, падение вниз и соприкосновение с поверхностью. Используя эти позиции в качестве шаблона, компьютер создает промежуточное изображение между разными позициями перемещения мяча, в результате его движение будет отображаться самым естественным образом.
После создания основной последовательности система окрашивает изображения, улучшая тем самым их внешний вид. Самый примитивный метод заполнения называется плоскостным затенением, при котором объект "заполняется" каким-либо однородным цветом. Затенение Гуро - это более эффективная технология, позволяющая присвоить цвет определенным точкам формы. Затем эти точки объединяются, и переход одного цвета в другой становится более плавным.
Более требовательный к вычислительной мощности процессора, но и гораздо более эффективный метод - наложение текстур. Трехмерная программа использует шаблоны или текстуры в качестве небольших растровых карт изображения, которые складываются в форму изображения, что похоже на многократное использование одного образца растровой карты для покрытия рабочего стола Windows. Трехмерная программа имеет возможность изменять внешний вид каждой карты путем использования перспективы и затенения для получения эффекта трехмерности. При добавлении таких эффектов освещения, как туман, направленные тени, отблеск от гладких объектов и др., трехмерная анимация максимально приближается к реальному изображению.
Главной функцией программ создания трехмерной графики является преобразование графических абстрактных объектов в изображения на экране компьютера. Обычно абстрактные объекты включают три составляющие.
Вершины. Задают местоположение объекта в трехмерном пространстве; само их положение задается координатами X, Y и Z.
Примитивы. Это простые геометрические объекты, с помощью которых конструируются более сложные объекты. Их положение задается расположением определяющих точек (обычно вершин). Для конструирования изображений трехмерных объектов при построении примитивов учитывается также эффект перспективы.
Текстуры. Это двухмерные изображения, или поверхности, налагаемые на примитивы.
Программное обеспечение усиливает эффект трех мерности, изменяя вид текстур в зависимости от положения примитива (т.е. расстояния до примитива и его наклона); этот процесс называется перспективной коррекцией. В некоторых приложениях используется другая процедура, называемая отображением MIP ; в этом случае применяются различные версии одной и той же текстуры, которые содержат разное количество деталей (в зависимости от расстояния до объекта в трехмерном пространстве). При отображении удаляющихся объектов уменьшается насыщенность и яркость цветов текстуры.
Эти абстрактные математические описания должны быть визуализированы, т.е. преобразованы в видимую форму. Процедура визуализации основывается на жестко стандартизированных функциях, предназначенных для составления выводимого на экран целостного изображения из отдельных абстракций. Ниже представлены две стандартные функции.
Геометризация. Определение размеров, ориентации и расположения примитивов в пространстве и расчет влияния источников света.
Растеризация. Преобразование примитивов в пиксели на экране с нанесением нужных затенений и текстур.
Растровое преобразование. Определение того, какие пиксели экрана покрываются каждым из примитивов.
Обработка полутонов. Цветовое наполнение пикселей с плавными цветовыми переходами между объектами.
Наложение текстур. Наложение на примитивы двухмерных изображений и поверхностей.
Определение видимых поверхностей. Определение пикселей, покрываемых ближайшими к зрителю объектами.
Анимация. Быстрое и четкое переключение между последовательными кадрами движущегося изображения.
Сглаживание. Плавное изменение цветовых границ для сглаживания контуров формируемых объектов.