Реферат по предмету введение в специальность по теме: "Видеокарта, GPU, построение 3D изображения" Соколова И. О. [Введите аннотацию документа. Аннотация обычно представляет собой краткий обзор содержимого документа. Введите аннотацию документа. Аннотация обычно представляет собой краткий обзор содержимого документа.] ФИТ ПИН 1206 Функции, назначения Видеока́рта1— электронное устройство, преобразующее графический образ, хранящийся, как содержимое памяти компьютера (или самого адаптера), в форму, пригодную для дальнейшего вывода на экран монитора. Первые мониторы, построенные на электронно-лучевых трубках, работали по телевизионному принципу сканирования экрана электронным лучом, и для отображения требовался видеосигнал, генерируемый видеокартой. В настоящее время, однако, эта базовая функция утратила основное значение, и, в первую очередь, под графическим адаптером понимают устройство с графическим процессором — графический ускоритель, который и занимается формированием самого графического образа. Современные видеокарты не ограничиваются простым выводом изображения, они имеют встроенный графический процессор, который может производить дополнительную обработку, снимая эту задачу с центрального процессора компьютера. Например, все современные видеокарты Nvidia и AMD (ATi) осуществляют рендеринг графического конвейера OpenGL и DirectX на аппаратном уровне. В последнее время также имеет место тенденция использовать вычислительные возможности графического процессора для решения неграфических задач. Графический процессор — отдельное устройство персонального компьютера или игровой приставки, выполняющее графический рендеринг. Современные графические процессоры очень эффективно обрабатывают и отображают компьютерную графику. Благодаря специализированной конвейерной архитектуре они намного эффективнее в обработке графической информации, чем типичный центральный процессор. Графический процессор в современных видеоадаптерах применяется в качестве ускорителя трёхмерной графики. Может применятся как в составе дискретной видеокарты, так и в интегрированных решениях (встроенных в северный мост либо в гибридный процессор). Трёхмерная графика— раздел компьютерной графики, совокупность приемов и инструментов (как программных, так и аппаратных), предназначенных для изображения объёмных объектов. Трёхмерная графика активно применяется для создания изображений на плоскости экрана или листа печатной продукции в науке и промышленности, например в системах автоматизации проектных работ (САПР; для создания твердотельных элементов: зданий, деталей машин, механизмов), архитектурной визуализации (сюда относится и так называемая «виртуальная археология»), в современных системах медицинской визуализации. Самое широкое применение — во многих современных компьютерных играх. Также как элемент кинематографа, телевидения, печатной продукции. 2|Страница Устройство Видеокарта Современная видеокарта состоит из следующих частей: Графический процессор (Graphics processing unit (GPU) — графическое процессорное устройство) занимается расчётами выводимого изображения, освобождая от этой обязанности центральный процессор, производит расчёты для обработки команд трёхмерной графики. Является основой графической платы, именно от него зависят быстродействие и возможности всего устройства. Современные графические процессоры по сложности мало чем уступают центральному процессору компьютера, и зачастую превосходят его как по числу транзисторов, так и по вычислительной мощности, благодаря большому числу универсальных вычислительных блоков. Однако, архитектура GPU прошлого поколения обычно предполагает наличие нескольких блоков обработки информации, а именно: блок обработки 2D-графики, блок обработки 3D-графики, в свою очередь, обычно разделяющийся на геометрическое ядро (плюс кэш вершин) и блок растеризации (плюс кэш текстур) и др. Видеоконтроллер отвечает за формирование изображения в видеопамяти, даёт команды RAMDAC на формирование сигналов развёртки для монитора и осуществляет обработку запросов центрального процессора. Кроме этого, обычно присутствуют контроллер внешней шины данных (например, PCI или AGP), контроллер внутренней шины данных и контроллер видеопамяти. Ширина внутренней шины и шины видеопамяти обычно больше, чем внешней (64, 128 или 256 разрядов против 16 или 32), во многие видеоконтроллеры встраивается ещё и RAMDAC. Современные графические адаптеры (ATI, nVidia) обычно имеют не менее двух видеоконтроллеров, работающих независимо друг от друга и управляющих одновременно одним или несколькими дисплеями каждый. Видео-ПЗУ (Video ROM) — постоянное запоминающее устройство (ПЗУ), в которое записаны BIOS видеокарты, экранные шрифты, служебные таблицы и т. п. ПЗУ не используется видеоконтроллером напрямую — к нему обращается только центральный процессор. Видеопамять выполняет роль кадрового буфера, в котором хранится изображение, генерируемое и постоянно изменяемое графическим процессором и выводимое на экран монитора (или нескольких мониторов). В видеопамяти хранятся также промежуточные невидимые на экране элементы изображения и другие данные. Цифро-аналоговый преобразователь (ЦАП; RAMDAC — Random Access Memory Digital-to-Analog Converter) служит для преобразования изображения, формируемого видеоконтроллером, в уровни интенсивности цвета, подаваемые на аналоговый монитор. Возможный диапазон цветности изображения определяется только параметрами RAMDAC. Большинство ЦАП имеют разрядность 8 бит на канал — получается по 256 уровней яркости на каждый основной цвет, что в сумме дает 16,7 млн цветов (а за счёт гамма-коррекции есть возможность отображать исходные 16,7 млн цветов в гораздо большее цветовое пространство). Видеоадаптеры MDA, Hercules, EGA и CGA оснащались 9-контактным разъёмом типа D-Sub. Изредка также присутствовал коаксиальный разъём Composite Video, позволяющий вывести черно-белое изображение на телевизионный приемник или монитор, оснащенный НЧвидеовходом. Видеоадаптеры VGA и более поздние обычно имели всего один разъём VGA (15-контактный DSub). В настоящее время платы оснащают разъёмами DVI или HDMI, либо DisplayPort в количестве от одного до трёх (некоторые видеокарты ATi последнего поколения оснащаются шестью коннекторами). Порты DVI и HDMI являются эволюционными стадиями развития стандарта передачи видеосигнала, поэтому для соединения устройств с этими типами портов 3|Страница возможно использование переходников. Порт DVI-I также включает аналоговые сигналы, позволяющие подключить монитор через переходник на старый разъём D-SUB (DVI-D не позволяет этого сделать). DisplayPort позволяет подключать до четырёх устройств, в том числе аудиоустройства, USB-концентраторы и иные устройства ввода-вывода. Также на видеокарте могут быть размещены композитный и компонентный S-Video видеовыход; также видеовход (обозначаются, как ViVo) Система охлаждения предназначена для сохранения температурного режима видеопроцессора и (зачастую) видеопамяти в допустимых пределах. Первое препятствие к повышению быстродействия видеосистемы — это интерфейс передачи данных, к которому подключён видеоадаптер. Как бы ни был быстр процессор видеоадаптера, большая часть его возможностей останется незадействованной, если не будут обеспечены соответствующие каналы обмена информацией между ним, центральным процессором, оперативной памятью компьютера и дополнительными видеоустройствами. Основным каналом передачи данных является, конечно, интерфейсная шина материнской платы, через которую обеспечивается обмен данными с центральным процессором и оперативной памятью. GPU Акселератор на базе GPU представляет собой набор вычислительных узлов (мультипроцессоров), состоящих из некоторого числа арифметико-логических устройств (АЛУ). Он имеет SIMDархитектуру. Иначе говоря, в любой момент времени все АЛУ одного мультипроцессора выполняют одинаковую последовательность инструкций над разными наборами данных, расположенных в памяти GPU-устройства. В качестве примера далее рассматривается акселератор nVidia GeForce 8800 GTX, который имеет 16 мультипроцессоров, по 8 АЛУ в каждом. Поскольку в SIMD-устройствах каждый мультипроцессор конфигурируется определенным образом для выполнения заданной последовательности команд на множестве входных данных, то перед разработчиком стоит задача формирования последовательности инструкций, решающей поставленную задачу, конфигурации устройства и передачи в устройство потока входных данных. При использовании nVidia CUDA SDK, эта процедура выглядит следующим образом (рис. 1): разработчик описывает ядро (kernel), то есть процедуру, которая будет исполняться на GPU над потоком данных и при запуске ядра на GPU задает ему конфигурацию на основе описанной ниже иерархии. Каждый поток, физически выполняющийся на АЛУ мультипроцессора, исполняет инструкции, описанные в ядре. При этом, благодаря SIMD-архитектуре, на каждом мультипроцессоре несколько потоков параллельно выполняют одну и ту же последовательность инструкций. Логически потоки объединяются в блоки, ограничивающие возможность обмена данными между потоками. Потоки могут обмениваться данными через общую память только внутри одного блока. Кроме того, потоки из одного блока выполняются на одном и том же мультипроцессоре. Таким образом, перед запуском ядра разработчик задает его конфигурацию (grid): размер блока и общее число блоков. Для более удобного структурирования конкретных задач в CUDA предусмотрена возможность конфигурирования блоков и потоков в двумерные сетки. Данная возможность обеспечивает удобство при обработке данных, имеющих двумерную структуру: изображений, матриц и пр. Отметим так же еще один важный структурный элемент конфигурации ядра – основу (warp). Под основой (в терминологии nVidia) подразумевается набор потоков, инструкции которых выполняются на мультипроцессоре одновременно. Размер основы определяется архитектурой конкретного GPU-устройства и размер блока, определяемый при конфигурировании ядра должен быть пропорционален размеру основы. Ключевым моментом отображения вычислительного алгоритма на GPU-архитектуру является 4|Страница определение ядра, соответствующего решению поставленной задачи. При этом следует учитывать, что каждый из потоков, исполняющих код ядра, для получения входных данных должен обращаться к своей области памяти устройства. На рис. 2 представлена общая схема преобразования последовательного циклического алгоритма в его GPU-реализацию. При исполнении на CPU-системе алгоритм многократно последовательно вычисляет некоторую функцию на различных наборах данных . При исполнении на GPU указанная функция преобразуется к виду , удобному для исполнения в рамках одного потока и затем вычисляется на GPU параллельно, на разных наборах данных. Разумеется, данный подход является эффективным лишь в том случае, когда итерации цикла, вычисляющего независимы. Заметим также, что при описании вычислительного ядра необходимо учитывать ряд важных особенностей работы GPU-устройств. Во-первых, SIMD-архитектура накладывает ограничения на использование ветвящихся конструкций (if/else). Это связано с тем, что потоки, исполняющиеся на одном и том же мультипроцессоре, должны оперировать одной и той же последовательностью инструкций, что может нарушаться при несовпадении условий ветвления у разных потоков. При нарушении этого ограничения может происходить сильное ухудшение производительности. Вовторых, следует учитывать особенности работы GPU-устройств с памятью: определение ядра таким образом, чтобы одновременно выполняющиеся потоки читали данные из соседних участков памяти, существенно увеличивает производительность. Кроме того, необходимо учитывать трудоемкость обращения к памяти GPU-устройства: например, чтение из памяти для акселераторов nVidia занимает 400-600 тактов, тогда как операция сложения занимает всего 4 такта. В-третьих, следует учитывать архитектуру конкретного GPU-устройства, на котором выполняется вычислительная задача. Например, неэффективно задавать конфигурацию ядра с числом блоков меньшим числа мультипроцессоров, имеющимся на устройстве. 3-D изображение Трёхмерное изображение на плоскости включает построение геометрической проекции трёхмерной модели сцены на плоскость (например, экран компьютера) с помощью специализированных программ (однако, с созданием и внедрением 3D-дисплеев и 3D-принтеров, трёхмерная графика не обязательно включает в себя проецирование на плоскость). При этом модель может как соответствовать объектам из реального мира (автомобили, здания, ураган, астероид), так и быть полностью абстрактной (проекция четырёхмерного фрактала). 5|Страница Принципы работы Видеокарта Пусть компьютер это компания, в штате которой состоит собственный художественный отдел. Когда люди в компании хотят получить иллюстрации или художественные работы, они посылают запрос художественному отделу. Художественный отдел решает, как создать изображение затем рисует его на бумаге, т.е. идея становится фактической, видимой картиной. Графическая карта работает подобно тем же принципам, что и наша компания. Центральный процессор, работающий в связке с программным обеспечением, посылает информацию об изображении на видеокарту. Видеокарта решает, как расположить пиксели на экране, чтобы создать правильное изображение. После чего она посылает подготовленную информацию на монитор через соединительный кабель. Создание изображения из двоичных данных является достаточно требовательным процессом. Например, чтобы сделать 3-х мерное изображение, графическая карта в первую очередь создает структуру изображения из прямых линий, затем проводит растрирование (заполнение пикселями), изображения, добавляет освещение, структуру и цвет. Для быстро изменяющихся видеоигр компьютер должен пройти этот процесс приблизительно шестьдесят раз в секунду. Без графической карты, чтобы выполнить необходимые вычисления, нагрузка на процессор была бы слишком большой, что бы приводило к зависанию картинки на мониторе, или другим системным сбоям. GPU Порт соединения с материнской платой (AGP, PCI-E) для передачи данных и управления. Процессор (GPU), чтобы решить, что сделать с каждым пикселем на экране. Память (VRAM), чтобы держать информацию о каждом пикселе и временно хранить сформированные изображения. Вывод на монитор (VGA, DVI), чтобы видеть окончательный результат обработки. Внутренняя модель nVidia GPU – ключевой момент в понимании GPGPU2 с использованием CUDA3. Вычислительная модель GPU: Рассмотрим вычислительную модель GPU более подробно. 1. Верхний уровень ядра GPU состоит из блоков, которые группируются в сетку или грид (grid) размерностью N1 * N2 * N3. Это можно изобразить следующим образом: 6|Страница Рис. 1. Вычислительное устройство GPU. Размерность сетки блоков можно узнать с помощь функции cudaGetDeviceProperties, в полученной структуре за это отвечает поле maxGridSize. К примеру, на моей GeForce 9600M GS размерность сетки блоков: 65535*65535*1, то есть сетка блоков у меня двумерная (полученные данные удовлетворяют Compute Capability v.1.1). 2. Любой блок в свою очередь состоит из нитей (threads), которые являются непосредственными исполнителями вычислений. Нити в блоке сформированы в виде трехмерного массива (рис. 2), размерность которого так же можно узнать с помощью функции cudaGetDeviceProperties, за это отвечает поле maxThreadsDim. 3-d графика Трёхмерная графика обычно имеет дело с виртуальным, воображаемым трёхмерным пространством, которое отображается на плоской, двухмерной поверхности дисплея или листа бумаги. В настоящее время известно несколько способов отображения трехмерной информации в объемном виде, хотя большинство из них представляет объёмные характеристики весьма условно, поскольку работают со стереоизображением. Из этой области можно отметить стереоочки, виртуальные шлемы, 3D-дисплеи, способные демонстрировать трехмерное изображение. Несколько производителей продемонстрировали готовые к серийному производству трёхмерные дисплеи. Однако и 3D-дисплеи по-прежнему не позволяют создавать полноценной физической, осязаемой копии математической модели, создаваемой методами трехмерной графики. Развивающиеся с 1990-х годов технологии быстрого прототипирования ликвидируют этот пробел. Следует заметить, что в технологиях быстрого прототипирования используется представление математической модели объекта в виде твердого тела (воксельная модель). Для получения трёхмерного изображения на плоскости требуются следующие шаги: Моделирование — создание трёхмерной математической модели сцены и объектов в ней; Текстурирование — назначение поверхностям моделей растровых или процедурных текстур (подразумевает также настройку свойств материалов — прозрачность, отражения, шероховатость и пр.); Освещение — установка и настройка источников света; Анимация (в некоторых случаях) — придание движения объектам; Динамическая симуляция (в некоторых случаях) — автоматический расчёт взаимодействия частиц, твёрдых/мягких тел и пр. с моделируемыми силами гравитации, ветра, выталкивания и др., а также друг с другом; 7|Страница Рендеринг (визуализация) — построение проекции в соответствии с выбранной физической моделью; вывод полученного изображения на устройство вывода — дисплей или принтер. Рис. 2. Устройство блока GPU. При использовании GPU вы можете задействовать грид необходимого размера и сконфигурировать блоки под нужды вашей задачи. 8|Страница Используемые технологии, методы Видеокарта 3D-ускорители 3D ускоритель - плата расширения (PCI, PCI-E, AGP, ISA), которая отвечает за ускорение 2D, а позднее за ускорение 3D графики. Самым первым 3D ускорителем стала видеокарта от NVidia Diamond Edge 3D 3400. Игровые видеоускорители Игровые видеоускорители - это такие видеокарты, которые ориентированы на ускорение 3D графики в играх. На данный момент самыми быстрыми настольными видеокартами являются NVIDIA GeForce GTX 690 и AMD Radeon HD 7990. Для ноутбуков самыми быстрыми являются NVIDIA GeForce GTX 680M и AMD Radeon HD 7970M. Профессиональные видеоускорители Профессиональные графические карты — видеокарты, ориентированные на работу в мощных графических станциях и использования в профессиональных математических и графических пакетах 2D- и 3D-моделирования, на которые ложится значительная нагрузка при обсчёте и прорисовке моделей проектируемых объектов. Ядра профессиональных видеоускорителей основных производителей, AMD и NVIDIA, «изнутри» мало отличаются от их игровых собратьев. Они давно унифицировали свои GPU и используют их в разных областях. Именно такой ход и позволил этим фирмам вытеснить с рынка компании, занимавшиеся разработкой и продвижением специализированных графических чипов для профессиональных применений. Особое внимание уделяется подсистеме видеопамяти, поскольку это — особо важная составляющая профессиональных ускорителей, на долю которой выпадает основная нагрузка при работе с моделями гигантского объёма. 3D - графика Стереоскопические дисплеи Методы технической реализации стереоэффекта включают использование в комбинации со специальным дисплеем поляризованных или затворных очков, синхронизированных с дисплеем, анаглифических фильтров в комбинации со специально адаптированным изображением. Существует также относительно новый класс стереодисплеев, не требующих использования дополнительных устройств, но имеющих массу ограничений. В частности, это конечное и очень небольшое количество ракурсов, в которых стереоизображение сохраняет чёткость. Стереодисплеи, выполненные на базе технологии New Sight x3d, обеспечивают восемь ракурсов, Philips WOWvx — девять ракурсов. В октябре 2008 года компания Philips представила прототип стереодисплея с разрешением 3840×2160 точек и с рекордными 46 ракурсами «безопасного» просмотра. Вскоре после этого, однако, Philips объявил о приостановке разработок и исследований в области стереодисплеев. 9|Страница Ещё одна проблема стереодисплеев — это малая величина зоны «комфортного просмотра» (диапазон расстояний от зрителя до дисплея, в котором изображение сохраняет четкость). В среднем она ограничена диапазоном от 3 до 10 метров. Стереодисплеи сами по себе не имеют прямого отношения к трёхмерной графике. Путаница возникает вследствие использования в западных СМИ термина 3D в отношении как графики, так и устройств, эксплуатирующих стереоэффект, и некорректности перевода при публикации в российских изданиях заимствованных материалов. Существует также технология WOWvx4, с помощью которой можно получить эффект 3D без использования специальных очков. Используется технология лентикулярных5 линз, которая дает возможность большому количеству зрителей широкую свободу движения без потери восприятия эффекта 3D. Слой прозрачных линз закрепляется перед жидкокристаллическим дисплеем. Этот слой направляет разные картинки каждому глазу. Мозг, обрабатывая комбинацию этих картинок создает эффект объемного изображения. Прозрачность линзового слоя обеспечивает полную яркость, четкий контраст и качественную цветопередачу картинки. Существует технология отображения трехмерного видео на светодиодных экранах. Прочие дисплеи На данный момент (июнь 2010 г) существуют несколько экспериментальных технологий, позволяющих добиться объёмного изображения без стереоскопии. Эти технологии используют быструю развёртку луча лазера, рассеивающегося на частицах дыма (аэрозольный экран) или отражающихся от быстро вращающейся пластины. Существуют также устройства, в которых на быстро вращающейся пластине закреплены светодиоды. Такие устройства напоминают первые попытки создать механическую телевизионную развёртку. Видимо, в будущем стоит ожидать появление полностью электронного устройства, позволяющего имитировать световой поток от объёмного предмета в разных направлениях, чтобы человек мог обойти вокруг дисплея и даже смотреть на изображение одним глазом без нарушения объёмности изображения. Кинотеатры с 3D Использование для обозначения стереоскопических фильмов терминов «трёхмерный» или «3D» связано с тем, что при просмотре таких фильмов у зрителя создаётся иллюзия объёмности изображения, ощущение наличия третьего измерения — глубины и новой размерности пространства уже в 4D. Кроме того, существует ассоциативная связь с расширяющимся использованием средств компьютерной трехмерной графики при создании таких фильмов (ранние стереофильмы снимались как обычные фильмы, но с использованием двухобъективных стереокамер). На сегодняшний день просмотр фильмов в формате «3D» стал очень популярным явлением. Основные используемые в настоящее время технологии показа стереофильмов: Dolby 3D XpanD RealD IMAX 10 | С т р а н и ц а GPU Отличительными особенностями по сравнению с ЦП являются: архитектура, максимально нацеленная на увеличение скорости расчёта текстур и сложных графических объектов; ограниченный набор команд. Высокая вычислительная мощность GPU объясняется особенностями архитектуры. Если современные CPU содержат несколько ядер (на большинстве современных систем от 2 до 6, по состоянию на 2012 г.), графический процессор изначально создавался как многоядерная структура, в которой количество ядер может достигать сотен. Разница в архитектуре обусловливает и разницу в принципах работы. Если архитектура CPU предполагает последовательную обработку информации, то GPU исторически предназначался для обработки компьютерной графики, поэтому рассчитан на массивно параллельные вычисления. 11 | С т р а н и ц а Параметры и характеристики Характеристики видеокарт ширина шины памяти, измеряется в битах — количество бит информации, передаваемой за такт. Важный параметр в производительности карты. объём видеопамяти, измеряется в мегабайтах — объём собственной оперативной памяти видеокарты. Больший объём далеко не всегда означает большую производительность. Видеокарты, интегрированные в набор системной логики материнской платы или являющиеся частью ЦПУ, обычно не имеют собственной видеопамяти и используют для своих нужд часть оперативной памяти компьютера (UMA6 — Unified Memory Access). частоты ядра и памяти — измеряются в мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию. текстурная и пиксельная скорость заполнения, измеряется в млн. пикселов в секунду, показывает количество выводимой информации в единицу времени. GPU Высокая вычислительная мощность GPU объясняется особенностями архитектуры. Если современные CPU содержат несколько ядер (на большинстве современных систем от 2 до 6, по состоянию на 2012 г.), графический процессор изначально создавался как многоядерная структура, в которой количество ядер может достигать сотен. Разница в архитектуре обусловливает и разницу в принципах работы. Если архитектура CPU предполагает последовательную обработку информации, то GPU исторически предназначался для обработки компьютерной графики, поэтому рассчитан на массивно параллельные вычисления. Каждая из этих двух архитектур имеет свои достоинства. CPU лучше работает с последовательными задачами. При большом объеме обрабатываемой информации очевидное преимущество имеет GPU. Условие только одно — в задаче должен наблюдаться параллелизм. 3-d изображение Методы технической реализации стереоэффекта включают использование в комбинации со специальным дисплеем поляризованных или затворных очков, синхронизированных с дисплеем, анаглифических фильтров в комбинации со специально адаптированным изображением. Существует также относительно новый класс стереодисплеев, не требующих использования дополнительных устройств, но имеющих массу ограничений. В частности, это конечное и очень небольшое количество ракурсов, в которых стереоизображение сохраняет чёткость. Стереодисплеи, выполненные на базе технологии New Sight x3d, обеспечивают восемь ракурсов, Philips WOWvx — девять ракурсов. В октябре 2008 года компания Philips представила прототип стереодисплея с разрешением 3840×2160 точек и с рекордными 46 ракурсами «безопасного» просмотра. Вскоре после этого, однако, Philips объявил о приостановке разработок и исследований в области стереодисплеев. Ещё одна проблема стереодисплеев — это малая величина зоны «комфортного просмотра» (диапазон расстояний от зрителя до дисплея, в котором изображение сохраняет четкость). В среднем она ограничена диапазоном от 3 до 10 метров. Стереодисплеи сами по себе не имеют прямого отношения к трёхмерной графике. Путаница возникает вследствие использования в западных СМИ термина 3D в отношении как графики, так и 12 | С т р а н и ц а устройств, эксплуатирующих стереоэффект, и некорректности перевода при публикации в российских изданиях заимствованных материалов. Существует также технология WOWvx, с помощью которой можно получить эффект 3D без использования специальных очков. Используется технология лентикулярных линз, которая дает возможность большому количеству зрителей широкую свободу движения без потери восприятия эффекта 3D. Слой прозрачных линз закрепляется перед жидкокристаллическим дисплеем. Этот слой направляет разные картинки каждому глазу. Мозг, обрабатывая комбинацию этих картинок создает эффект объемного изображения. Прозрачность линзового слоя обеспечивает полную яркость, четкий контраст и качественную цветопередачу картинки. 13 | С т р а н и ц а Критерии выбора Видеокарта. Для того чтобы выбрать видеокарту сначала нужно определиться, для каких функций она необходима, например хотите ли собрать игровой компьютер или же рабочий. На данный момент времени огромное колличество производителей готовы предоставить абсолютно любую ведеокарту на совершенно разные запросы. Основными критериями выбора является: ширина шины памяти, измеряется в битах — количество бит информации, передаваемой за такт. Важный параметр в производительности карты. объём видеопамяти, измеряется в мегабайтах — объём собственной оперативной памяти видеокарты. Больший объём далеко не всегда означает большую производительность. частоты ядра и памяти — измеряются в мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию. текстурная и пиксельная скорость заполнения, измеряется в млн. пикселов в секунду, показывает количество выводимой информации в единицу времени. GPU Высокая вычислительная мощность GPU объясняется особенностями архитектуры. Если современные CPU содержат несколько ядер (на большинстве современных систем от 2 до 6, по состоянию на 2012 г.), графический процессор изначально создавался как многоядерная структура, в которой количество ядер может достигать сотен. Разница в архитектуре обусловливает и разницу в принципах работы. Если архитектура CPU предполагает последовательную обработку информации, то GPU исторически предназначался для обработки компьютерной графики, поэтому рассчитан на массивно параллельные вычисления. Каждая из этих двух архитектур имеет свои достоинства. CPU лучше работает с последовательными задачами. При большом объеме обрабатываемой информации очевидное преимущество имеет GPU. Условие только одно — в задаче должен наблюдаться параллелизм. 3-d изображение Методы технической реализации стереоэффекта включают использование в комбинации со специальным дисплеем поляризованных или затворных очков, синхронизированных с дисплеем, анаглифических фильтров в комбинации со специально адаптированным изображением. Существует также относительно новый класс стереодисплеев, не требующих использования дополнительных устройств, но имеющих массу ограничений. В частности, это конечное и очень небольшое количество ракурсов, в которых стереоизображение сохраняет чёткость. Стереодисплеи, выполненные на базе технологии New Sight x3d, обеспечивают восемь ракурсов, Philips WOWvx — девять ракурсов. В октябре 2008 года компания Philips представила прототип стереодисплея с разрешением 3840×2160 точек и с рекордными 46 ракурсами «безопасного» просмотра. Вскоре после этого, однако, Philips объявил о приостановке разработок и исследований в области стереодисплеев. Ещё одна проблема стереодисплеев — это малая величина зоны «комфортного просмотра» (диапазон расстояний от зрителя до дисплея, в котором изображение сохраняет четкость). В среднем она ограничена диапазоном от 3 до 10 метров. 14 | С т р а н и ц а Стереодисплеи сами по себе не имеют прямого отношения к трёхмерной графике. Путаница возникает вследствие использования в западных СМИ термина 3D в отношении как графики, так и устройств, эксплуатирующих стереоэффект, и некорректности перевода при публикации в российских изданиях заимствованных материалов. Существует также технология WOWvx, с помощью которой можно получить эффект 3D без использования специальных очков. Используется технология лентикулярных линз, которая дает возможность большому количеству зрителей широкую свободу движения без потери восприятия эффекта 3D. Слой прозрачных линз закрепляется перед жидкокристаллическим дисплеем. Этот слой направляет разные картинки каждому глазу. Мозг, обрабатывая комбинацию этих картинок создает эффект объемного изображения. Прозрачность линзового слоя обеспечивает полную яркость, четкий контраст и качественную цветопередачу картинки. Существует технология отображения трехмерного видео на светодиодных экранах. 15 | С т р а н и ц а Эволюция Видеокарта Одним из первых графических адаптеров для IBM PC стал MDA (Monochrome Display Adapter) в 1981 году. Он работал только в текстовом режиме с разрешением 80×25 символов (физически 720×350 точек) и поддерживал пять атрибутов текста: обычный, яркий, инверсный, подчёркнутый и мигающий. Никакой цветовой или графической информации он передавать не мог, и то, какого цвета будут буквы, определялось моделью использовавшегося монитора. Обычно они были чёрнобелыми, янтарными или изумрудными. Фирма Hercules в 1982 году выпустила дальнейшее развитие адаптера MDA7, видеоадаптер HGC8 (Hercules Graphics Controller — графический адаптер Геркулес), который имел графическое разрешение 720×348 точек и поддерживал две графические страницы. Но он всё ещё не позволял работать с цветом. Первой цветной видеокартой стала CGA (Color Graphics Adapter), выпущенная IBM и ставшая основой для последующих стандартов видеокарт. Она могла работать либо в текстовом режиме с разрешениями 40×25 знакомест и 80×25 знакомест (матрица символа — 8×8), либо в графическом с разрешениями 320×200 точек или 640×200 точек. В текстовых режимах доступно 256 атрибутов символа — 16 цветов символа и 16 цветов фона (либо 8 цветов фона и атрибут мигания), в графическом режиме 320×200 было доступно четыре палитры по четыре цвета каждая, режим высокого разрешения 640×200 был монохромным. В развитие этой карты появился EGA9 (Enhanced Graphics Adapter) — улучшенный графический адаптер, с расширенной до 64 цветов палитрой, и промежуточным буфером. Было улучшено разрешение до 640×350, в результате добавился текстовый режим 80×43 при матрице символа 8×8. Для режима 80×25 использовалась большая матрица — 8×14, одновременно можно было использовать 16 цветов, цветовая палитра была расширена до 64 цветов. Графический режим также позволял использовать при разрешении 640×350 16 цветов из палитры в 64 цвета. Был совместим с CGA и MDA. Стоит заметить, что интерфейсы с монитором всех этих типов видеоадаптеров были цифровые, MDA и HGC передавали только светится или не светится точка и дополнительный сигнал яркости для атрибута текста «яркий», аналогично CGA по трём каналам (красный, зелёный, синий) передавал основной видеосигнал, и мог дополнительно передавать сигнал яркости (всего получалось 16 цветов), EGA имел по две линии передачи на каждый из основных цветов, то есть каждый основной цвет мог отображаться с полной яркостью, 2/3 или 1/3 от полной яркости, что и давало в сумме максимум 64 цвета. В ранних моделях компьютеров от IBM PS/2, появляется новый графический адаптер MCGA (Multicolor Graphics Adapter — многоцветный графический адаптер). Текстовое разрешение было поднято до 640x400, что позволило использовать режим 80x50 при матрице 8x8, а для режима 80x25 использовать матрицу 8x16. Количество цветов увеличено до 262144 (64 уровня яркости по каждому цвету), для совместимости с EGA в текстовых режимах была введена таблица цветов, через которую выполнялось преобразование 64-цветного пространства EGA в цветовое пространство MCGA. Появился режим 320x200x256, где каждый пиксел на экране кодировался соответствующим байтом в видеопамяти, никаких битовых плоскостей не было, соответственно с EGA осталась совместимость только по текстовым режимам, совместимость с CGA была полная. Из-за огромного количества яркостей основных цветов возникла необходимость использования уже аналогового цветового сигнала, частота строчной развертки составляла уже 31,5 кГц. Потом IBM пошла ещё дальше и сделала VGA (Video Graphics Array — графический видео массив), это расширение MCGA, совместимое с EGA и введённое в средних моделях PS/2. Это фактический стандарт видеоадаптера с конца 80-х годов. Добавлены: текстовое разрешение 720x400 для эмуляции MDA и графический режим 640x480 с доступом через битовые плоскости. Режим 640x480 замечателен тем, что в нём используется квадратный пиксел, то есть соотношение числа пикселов по горизонтали и вертикали совпадает со стандартным соотношением сторон 16 | С т р а н и ц а экрана — 4:3. Дальше появился IBM 8514/a с разрешениями 640x480x256 и 1024x768x256, и IBM XGA с текстовым режимом 132x25 (1056x400) и увеличенной глубиной цвета (640x480x65K). С 1991 года появилось понятие SVGA (Super VGA — «сверх» VGA) — расширение VGA с добавлением более высоких режимов и дополнительного сервиса, например возможности поставить произвольную частоту кадров. Число одновременно отображаемых цветов увеличивается до 65 536 (High Color, 16 бит) и 16 777 216 (True Color, 24 бита), появляются дополнительные текстовые режимы. Из сервисных функций появляется поддержка VBE (VESA BIOS10 Extention — расширение BIOS стандарта VESA). SVGA воспринимается как фактический стандарт видеоадаптера где-то с середины 1992 года, после принятия ассоциацией VESA стандарта VBE версии 1.0. До того момента практически все видеоадаптеры SVGA11 были несовместимы между собой. Графический пользовательский интерфейс, появившийся во многих операционных системах, стимулировал новый этап развития видеоадаптеров. Появляется понятие «графический ускоритель» (graphics accelerator). Это видеоадаптеры, которые производят выполнение некоторых графических функций на аппаратном уровне. К числу этих функций относятся: перемещение больших блоков изображения из одного участка экрана в другой (например, при перемещении окна), заливка участков изображения, рисование линий, дуг, шрифтов, поддержка аппаратного курсора и т. п. Прямым толчком к развитию столь специализированного устройства явилось то, что графический пользовательский интерфейс, несомненно, удобен, но его использование требует от центрального процессора немалых вычислительных ресурсов, и современный графический ускоритель как раз и призван снять с него львиную долю вычислений по окончательному выводу изображения на экран. Пример домашнего компьютера не-IBM — ZX Spectrum, имеет свою историю развития видеорежимов. GPU Процитируем Джека Донгарра, директора Инновационной вычислительной лаборатории Университета штата Теннеси: "GPU уже достигли той точки развития, когда многие приложения реального мира могут с легкостью выполняться на них, причем быстрее, чем на многоядерных системах.Будущие вычислительные архитектуры станут гибридными системами с графическими процессорами, состоящими из параллельных ядер и работающими в связке с многоядерными CPU". Но как GPU достигли этой самой точки? Для ответа на данный вопрос рассмотрим историю развития устройств в области обработки графики. В конце 1980-х возникновение графических операционных систем семейства Windows дает толчок для появления процессоров нового типа. В начале 1990-х годов обрели популярность ускорители двумерной графики. Эти ускорители были спроектированы для операций с растровыми изображениями, тем самым, делая работу с графической операционной системой более комфортной. В те былые времена, когда видеоадаптеры, специализировались в основном на ускорении вывода 2D-графики. В то время считалось, что обработка трехмерных данных просто не целесообразна. Отметим, что данной тенденции не придерживалась компания Silicon Graphics, которая старалась вывести трехмерную графику на различные рынки, в том числе приложения для военных, правительства, эффекты в кино, визуализация научных данных. Результатом её трудов стало открытие данной компанией программного интерфейса к своему оборудованию. В 1992 году компания выпустила библиотеку OpenGL. Большой скачок в развитии графических ускорителей произошел в середине 90-х годов в ответ на возрастающее потребление вычислительных ресурсов компьютерными играми. Данные видеокарты являлись специализированными процессорами для ускорения операций с трехмерной графикой и предназначались для построения двумерных изображений трехмерных сцен в режиме реального времени. Для ускорения операций использовались аппаратная реализация алгоритмов, в том числе отсечения невидимых поверхностей при помощи буфера глубины, и аппаратное 17 | С т р а н и ц а распараллеливание. Ускорители принимали на вход описание трехмерной сцены в виде массивов вершин и треугольников, а также параметры наблюдателя, и строили по ним на экране двумерное изображение сцены для этого наблюдателя. Поддерживалось отсечение невидимых граней, задание цвета вершин и интерполяционная закраска, а также текстуры объектов и вычисление освещенности без учета теней. Тени можно было добавить при помощи алгоритмов расчета теней на ускоритель, таких как теневые карты или теневые объемы. Из-за увеличения спроса на трехмерную графику и взаимной конкуренции такие компании NVIDIA, ATI Technologies, 3dfx Interactive, начали выпускать доступные по цене графические ускорители. Данный факт закрепил за трехмерной графикой ведущее место на рынке перспективных технологий. Сам термин GPU впервые был использован в августе 1999 года в отношении главного чипа видеокарты модели nVidia GeForce 256, основная функция которого заключалась в ускорении вывода трехмерной графики. Впервые вычисление геометрических преобразований и освещения сцены стало возможно проводить на самом графическом процессоре. Дальнейший прорыв принадлежит также компании NVIDIA, которая выпустила серия GeForce 3 в 2001 году. В данной серии появилась микросхема, в которой был реализован всем известный ныне, а тогда еще новый стандарт Microsoft DirectX 8.0. Данный стандарт добавил возможности программирования к GPU. Изначально фиксированный алгоритм вычисления освещенности и преобразования координат вершин был заменен на алгоритм, задаваемый пользователем. Затем появилась возможность писать программы для вычисления цвета пиксела на экране. По этой причине программы для GPU стали называть шейдерами12, от английского shade — закрашивать. Первые шейдеры писались на ассемблере GPU, их длина не превосходила20 команд, не было поддержки команд переходов, а вычисления производились в формате с фиксированной точкой. По мере роста популярности использования шейдеров появлялись высокоуровневые шейдерные языки, например, Cg от NVidia и HLSL от Microsoft, увеличивалась максимальная длина шейдера. В 2003 году на GPU впервые появилась поддержка вычислений с 32-разрядной точностью. В качестве основного интерфейса программирования выделился Direct3D,первым обеспечивший поддержку шейдеров. Обозначились основные производители дискретных графических процессоров: компании ATI и NVidia. Появились первые приложения, использующие GPUдля высокопроизводительных вычислений, начало складываться направление GPGPU. GPGPU (General-Purpose computing on Graphic Processing Units) — использование графических процессоров для решения произвольных вычислительных задач. Для программирования GPU предложен подход потокового программирования13. Дальнейшее развитие GPU характеризуются расширенными возможностями программирования. Появляются операции ветвления и циклов, что позволяет создавать более сложные шейдеры. Поддержка32-битных вычислений с плавающей точкой становится повсеместной, что способствует активному росту направления GPGPU. OpenGL в версии 2.0добавляет поддержку высокоуровневого шейдерного языка GLSL.Производительность GPU на реальных задачах достигает сотен гигафлопс. В более поздних представителях третьего поколения появляется поддержка целочисленных операций, а также операций с двойной точностью. Появляются специализированные средства,позволяющее взаимодействовать с GPU напрямую, минуя уровень интерфейса программирования трехмерной графики (CUDA NVIDIA, CTM ATI). 18 | С т р а н и ц а Свободные таблицы сравнений CPU Сравнение пиковой производительности систем на CPU и GPU Потоки GPU обладают крайне небольшой стоимостью создания, управления и уничтожения (контекст нити минимален, все регистры распределены заранее), для эффективной загрузки GPU необходимо использовать много тысяч потоков, в то время как для CPU обычно использует 10-20 потоков. За счѐт того, что программы в CUDA пишутся фактически на обычном языке C (на самом деле для частей, выполняющихся на CPU, можно использовать C++), в который добавлены новые конструкции (спецификаторы типа, встроенные переменные и типы, директива запуска ядра), написание программ с использованием технологии CUDA оказывается заметно проще, чем при использовании графического API. Разработчики софта для сжатия видео с GPU отмечают, что для того, чтобы получить ощутимую прибавку в производительности, надо производить сжатие видео формата не ниже 720p на машине с мощными как CPU, так и GPU. Отсюда следует, что применение GPU 19 | С т р а н и ц а целесообразно для видео высокого разрешения. Действительно, для сжатия видео небольшого разрешения вполне можно использовать кодеры без применения GPU. Наличие B-кадров в настройках кодера CPU приводит к снижению производительности, нетипично большая область поиска макроблоков для межкадровой компенсации движения, также приводит к снижению производительности, обычно это значение гораздо меньше, в популярной реализации кодера стандарта H.264 x264 значение по умолчанию для этого параметра 16. Наибольшее значение этого параметра для кодера с CUDA не так критично. Для GPU задачи такого плана являются типичными, так как легко распараллеливаются. При использовании мощных ПК можно сжимать в реальном времени видео с разрешением до 720p. Стоит отметить, что кодер с использованием GPU с включѐнными B-кадрами на мощных РС всегда работает быстрее, чем с выключенными B-кадрами. Из табл. 2 видно, что качество декодированного видео при использовании B-кадров зачастую падает. Таблица 2. Сравнение качества декодированного видео сжатого разными кодерами. На основании проведѐнных тестов можно утверждать, что видеокодер с использованием GPU пока не показал своих преимуществ перед кодером без GPU. Имеющиеся реализации кодеров с GPU проигрывают кодерам без GPU в качестве декодированного видео. При этом прирост производительности при использовании GPU не столь ощутим и составляет единицы или десятки процентов (в зависимости от контекста видео и его разрешения). Видеокарта Объём памяти большого количества современных видеокарт варьируется от 33 МБ (напр. Matrox G550) до 6 ГБ (напр. NVIDIA Quadro 6000).[2] Поскольку доступ к видеопамяти GPU и другими электронным компонентами должен обеспечивать желаемую высокую производительность всей графической подсистемы в целом, используются специализированные высокоскоростные типы памяти, такие как SGRAM, двухпортовые (англ. dual-port) VRAM, WRAM, другие. Приблизительно с 2003 года, видеопамять, как правило, базировалась на основе DDR технологии памяти SDRAM, с удвоенной эффективной частотой (передача данных синхронизируется не только по нарастающему фронту тактового сигнала, но и ниспадающему). И в дальнейшем DDR2, GDDR3, GDDR4 и GDDR5. Пиковая скорость передачи данных (пропускная способность) памяти современных видеокарт достигает 327 ГБ/с (напр. у NVIDIA GeForce GTX 580 или 320 ГБ/с у AMD Radeon™ HD 6990). Тип DDR Эффективная частота Пиковая скорость передачи данных памяти, МГц (пропускная способность), ГБ/с 166 — 950 1.2 — 30.4 (???) 20 | С т р а н и ц а DDR2 400 — 2400 3,2 — 9,6 GDDR3 700 — 2400 5.6 — 156.6 GDDR4 2000 — 3600 128 — 200 GDDR5 900 — 5700 130 — 320 21 | С т р а н и ц а Перспектива CPU GPU уже достигли той точки развития, когда многие приложения реального мира могут с легкостью выполняться на них, причем быстрее, чем на многоядерных системах. Будущие вычислительные архитектуры станут гибридными системами с графическими процессорами, состоящими из параллельных ядер и работающими в связке с многоядерными ЦП Оригинальный текст (англ.) GPUs have evolved to the point where many real-world applications are easily implemented on them and run significantly faster than on multi-core systems. Future computing architectures will be hybrid systems with parallel-core GPUs working in tandem with multi-core CPUs[3]. Профессор Джек Донгарра (Jack Dongarra) Директор Innovative Computing Laboratory Университет штата Теннесси 22 | С т р а н и ц а Заключение Видеокарты За короткий период видеокарты набрали огромные темпы развития. В данный момент времени выпускаемая продукция может удовлетворить интересы любого пользователя. Лидерами на рынке производства видеокарт на данный момент времени являются: AMD nVidia Intel Matrox 3D Labs Elsa Так же в разработке занят ряд других компаний. 3D - графика На данный момент времени данное направление является крайне перспективным. Игровая индустрия, киноиндустрия а так же программная инженерия требуют точного построения 3d изображений. В разработке 3D изображения часто используются такие системы как: PhotoRealistic RenderMan (PRMan) mental ray V-Ray FinalRender Brazil R/S BusyRay Turtle Maxwell Render Fryrender Indigo Renderer LuxRender YafaRay POV-Ray 23 | С т р а н и ц а 24 | С т р а н и ц а Список литературы Дж. Ли, Б. Уэр. Трёхмерная графика и анимация. — 2-е изд. — М.: Вильямс, 2002. — 640 с. Д. Херн, М. П. Бейкер. Компьютерная графика и стандарт OpenGL. — 3-е изд. — М., 2005. — 1168 с. Э. Энджел. Интерактивная компьютерная графика. Вводный курс на базе OpenGL. — 2-е изд. — М.: Вильямс, 2001. — 592 с. Г. Снук. 3D-ландшафты в реальном времени на C++ и DirectX 9. — 2-е изд. — М.: Кудиц-пресс, 2007. — 368 с. — ISBN 5-9579-0090-7 В. П. Иванов, А. С. Батраков. Трёхмерная компьютерная графика / Под ред. Г. М. Полищука. — М.: Радио и связь, 1995. — 224 с. — ISBN 5-256-01204-5 Скотт Мюллер. Модернизация и ремонт ПК = Upgrading and Repairing PCs. — 17 изд. — М.: «Вильямс», 2007. — С. 889—970. — ISBN 0-7897-3404-4 Чобану М. Многомерные многоскоростные системы обработки сигналов. М.: ТЕХНОСФЕРА, 2009, 480 с. 25 | С т р а н и ц а Оглавление Функции, назначения .................................................................................................................................. 2 Устройство .................................................................................................................................................... 3 Видеокарта ............................................................................................................................................... 3 GPU............................................................................................................................................................ 4 3-D изображение ..................................................................................................................................... 5 Принципы работы ....................................................................................................................................... 6 Видеокарта ............................................................................................................................................... 6 GPU............................................................................................................................................................ 6 Вычислительная модель GPU: ............................................................................................................ 6 3-d графика ............................................................................................................................................... 7 Используемые технологии, методы .......................................................................................................... 9 Видеокарта ............................................................................................................................................... 9 3D-ускорители...................................................................................................................................... 9 Игровые видеоускорители ................................................................................................................. 9 Профессиональные видеоускорители............................................................................................... 9 3D - графика ............................................................................................................................................. 9 Стереоскопические дисплеи .............................................................................................................. 9 Прочие дисплеи .................................................................................................................................10 Кинотеатры с 3D ................................................................................................................................10 GPU..........................................................................................................................................................11 Параметры и характеристики ...................................................................................................................12 Характеристики видеокарт ...................................................................................................................12 GPU..........................................................................................................................................................12 3-d изображение ...................................................................................................................................12 Критерии выбора.......................................................................................................................................14 Видеокарта. ............................................................................................................................................14 GPU..........................................................................................................................................................14 3-d изображение ...................................................................................................................................14 Эволюция ...................................................................................................................................................16 Видеокарта .............................................................................................................................................16 GPU..........................................................................................................................................................17 Свободные таблицы сравнений ...............................................................................................................19 CPU ..........................................................................................................................................................19 Видеокарта .............................................................................................................................................20 26 | С т р а н и ц а Перспектива ...............................................................................................................................................22 CPU ..........................................................................................................................................................22 Заключение ............................................................................................................................................23 Видеокарты ........................................................................................................................................23 3D - графика .......................................................................................................................................23 Список литературы ....................................................................................................................................25 Глоссарий ...................................................................................................................................................28 27 | С т р а н и ц а Глоссарий Также видеоадаптер, графический адаптер, графическая плата, графическая карта, графический ускоритель GPGPU (англ. General-purpose graphics processing units — «GPU общего назначения») — техника использования графического процессора видеокарты, который обычно имеет дело с вычислениями только для компьютерной графики, чтобы выполнять расчёты в приложениях для общих вычислений, которые обычно проводит центральный процессор. Это стало возможным благодаря добавлению программируемых шейдерных блоков и более высокой арифметической точности растровых конвейеров, что позволяет разработчикам ПО использовать потоковые процессоры для не-графических данных. 1 2 CUDA (англ. Compute Unified Device Architecture) — программно-аппаратная архитектура параллельных вычислений, которая позволяет существенно увеличить вычислительную производительность благодаря использованию графических процессоров фирмы NVIDIA. 3 4 Многоракурсные дисплеи Лентикулярные растровые линзы (от лат. lenticula, означающего чечевицу или чечевицеобразное тело) — массив из увеличительных линз, устроенный так, что если смотреть на него под разными углами, то различные участки изображения увеличивается по разному. 5 6 Uniform Memory Access (сокращённо UMA — «однородный доступ к памяти») — архитектура многопроцессорных компьютеров с общей памятью. Все микропроцессоры в UMA-архитектуре используют физическую память одновременно. При этом время запроса к данным из памяти не зависит ни от того, какой именно процессор обращается к памяти, ни от того, какой именно чип памяти содержит нужные данные. Однако каждый микропроцессор может использовать свой собственный кэш. MDA (англ. Monochrome Display Adapter) — первый видеоадаптер компьютеров IBM PC. 7 HGC (англ. Hercules Graphics Card) — стандарт мониторов и видеоадаптеров для IBM PC. Он поддерживает текстовый режим с высоким разрешением и один графический режим. Видеоадаптер подключался к монохромному (зелёному, желтому, светло-коричневому или, довольно редко, чёрно-белому) монитору. 8 EGA (англ. Enhanced Graphics Adapter - Усовершенствованный графический адаптер) — стандарт мониторов и видеоадаптеров для IBM PC, расположенный между CGA и VGA по своим характеристикам (цветовое и пространственное разрешение). Выпущен IBM в августе 1984 года для новой модели персонального компьютера IBM PC/AT. Видеоадаптер EGA позволяет использовать 16 цветов при разрешении 640×350 пикселов. Видеоадаптер оснащён 16 кБ ПЗУ для расширения графических функций BIOS и видеоконтроллером Motorola MC6845. 9 BIOS (англ. basic input/output system — «базовая система ввода-вывода») — реализованная в виде микропрограмм часть системного программного обеспечения, которая предназначается для предоставления операционной системе API доступа к аппаратуре компьютера и подключенным к нему устройствам. 10 SuperVGA (англ. Super Video Graphics Array) — общее название видеоадаптеров, совместимых с VGA, но имеющих расширенные по отношению к нему возможности - разрешения от 800х600 и выше при количестве цветов от 2(монохромный режим) до 16 миллионов (24 бит на пиксель), а также большие объемы видеопамяти. Обязательной поддержки какого либо режима, кроме стандартных режимов VGA и режима 800х600, название SVGA не подразумевает. Все современные (и не очень) популярные видеокарты можно отнести к данному классу, вследствие чего название практически не используется. Стандарта SVGA не существует, но практически все SVGA-видеоадаптеры начиная с некоторого времени следуют стандарту VESA. Наиболее распространенные видеорежимы: 800x600, 1024x768, 1280x1024, 1600x1200. Также аббревиатурой SVGA называют разрешение экрана 800×600. 11 12Ше́йдер (англ. Shader; схема затенения, программа построения теней) — это программа для одной из ступеней графического конвейера, используемая в трёхмерной графике для определения окончательных параметров объекта или изображения. Она может включать в себя произвольной сложности описание 28 | С т р а н и ц а поглощения и рассеяния света, наложения текстуры, отражение и преломление, затенение, смещение поверхности и эффекты пост-обработки. Этот подход предполагает разбиение программы на относительно небольшие этапы (ядра), которые обрабатывают элементы потоков данных. Ядра отображаются на шейдеры, а потоки данных — на текстуры в GPU. 13 29 | С т р а н и ц а