
Теория_КГ / Схема и осн характеристики 3Dускорителя_КГ
.DOCСтруктура и основные характеристики ускорителей 3D-графики
Для грамотного выбора 3D-ускорителя необходимо хотя бы в общих чертах представлять себе его устройство, определяющее потенциальные возможности ускорителя, и знать основные характеристики, отражающие качество реализации этих возможностей. Кроме того, чтобы оптимальным образом вложить средства, необходимо четко определиться, для решения каких конкретных задач планируется использовать ЗD- ускоритель. Не стоит переплачивать за те функции видеоадаптера с ЗD- ускорителем, которые вы не собираетесь использовать.
Структура типового 3D- ускорителя(акселератора)
Несмотря на значительные различия в характеристиках и возможностях, все ЗD- ускорители имеют несколько базовых элементов, обеспечивающих аппаратное ускорение основных этапов ЗD-конвейера (рис.1):
-
геометрический процессор (Geometry Processor);
-
механизм прорисовки (Rendering Engine); видеопамять;
-
цифро-аналоговый преобразователь (RAMDAC);
-
дополнительные устройства (в зависимости от набора дополнительных мультимедийных функций).
Геометрический процессор предназначен для аппаратного ускорения этапов 2-6 геометрической стадии ЗD-конвейера. В большинстве недорогих ЗD - ускорителях геометрический процессор отсутствует и его функции выполняет CPU. В лучшем случае такой ускоритель имеет только механизм установки (Setup Engine), выполняющий преобразование формы представления координат вершин граней, сортировку и отбрасывание задних граней (этап Triangle Setup).
Для ускорения работы блока Setup Engine применяется технология strips&fans. Суть этой технологии заключается в следующем. Как минимум три смежных грани имеют одну общую вершину, т. е. при обработке каждой смежной грани координаты этой вершины будут обрабатываться в блоке Setup Engine также как минимум три раза. Чтобы по нескольку раз не обрабатывать одни и те же вершины, обработке последовательно подвергаются грани, расположенные в определенном порядке. Этот порядок и называют strips&fans — полоски и лоскутки.
Другое дело — профессиональные ЗD- ускорители, ориентированные на работу под управлением API OpenGL. Многие из них содержат специальные мощные процессоры, обеспечивающие аппаратное ускорение операций матричной (линейной) алгебры, т. е, ускорение выполнения этапов геометрической стадии ЗD-конвейера. Механизм прорисовки, часто называемый конвейером рендеринга, является основной частью типового ЗD-акселератора и включает в себя два элемента: механизм обработки элементов текстур (Texel Engine) и механизм обработки итогового кадра (Pixel Engine). Каждый из этих элементов использует свой участок локальной памяти, называемый буфером текстур и кадровым буфером соответственно. Часто для обозначения Texel Engine и Pixel Engine используются термины блок или модуль.
Помимо кадрового буфера и буфера текстур, в локальной памяти акселератора обычно выделяется область для дополнительных буферов:
z-буфера, необходимого для корректного удаления скрытых поверхностей;
-буфера, необходимого для эффективного выполнения альфа-смешения;
второго кадрового буфера, используемого при двойной буферизации.
Такую архитектуру в общих чертах имеет ЗD-акселератор на основе Chipset Voodoo Graphics производства фирмы 3Dfx Interactive. Базовая, минимальная конфигурация данного Chipset включает в себя две микросхемы. Согласно терминологии фирмы-разработчика, название первой из них звучит как FBI (Frame Buffer Interface — интерфейс кадрового буфера), а второй — TMU (Texture Mapping Unit — блок наложения текстур).
Размер кадрового буфера, определяет максимально допустимое разрешение изображения и размер палитры. В большинстве акселераторов для ускорения работы используется метод двойной буферизации, в соответствии с которым кадровый буфер разбивается на две части: передний (front buffer) и задний (back buffer) буферы. В то время как выполняется отображение (передача в RAMDAC) первого, «переднего» кадра, акселератор приступает к построению следующего кадра в заднем буфере. Благодаря этому обеспечивается более плавная и быстрая смена кадров.
Основные характеристики 3D- ускорителей
Каковы же основные технические характеристики, определяющие потенциальные возможности ЗD- ускорителя , и ожидаемый эффект от его использования?
Во-первых, для оценки ЗD- ускорителя используются стандартные характеристики видеоадаптеров:
-
разрядность,
-
объем и пропускная способность видеопамяти,
-
тактовые частоты графического процессора (ядра), видеопамяти и RAMDAC,
-
тип интерфейса с шиной ввода/вывода и т.п.
-
Поскольку основной сферой применения рассматриваемых акселераторов являются трехмерные игры, очень важен и удобен интегральный показатель производительности — обеспечиваемая частота смены кадров, т. е. frame per second, сокращенно fps.
Во-вторых, для описания возможностей ЗD- ускорителя вводится целый ряд специфических показателей:
-
пропускная способность, измеряемая количеством обрабатываемых элементарных треугольников в секунду (Triangle Throughput);
-
максимальная скорость закраски (Fill Rate), измеряемая количеством пикселов в секунду;
-
набор аппаратно реализуемых (ускоряемых) ЗD-функций, а также качество (корректность) их реализации;
-
перечень поддерживаемых API, а также степень поддержки (например, ICD или MCD для OpenGL).
Скорость закраски (Fill Rate) характеризует потенциальную скорость выполнения этапа рендеринга; фактическая же скорость закраски зависит от темпа поступления на вход блока рендеринга координат обработанных вершин граней, т. Е. от скорости выполнения геометрической стадии ЗD-конвейера.
Важной характеристикой ускорителя является также набор поддерживаемых API. В настоящее время обязательным требованием, предъявляемым к ЗD- ускорителю, является полноценная поддержка ускорителем как минимум двух API: DirectX и OpenGL.