загрузка...
 
Интерфейс
Повернутись до змісту

Интерфейс

Интерфейс видеокарты обеспечивает ее связь с другими компонентами компьютера. Эволюция интерфейсов, внедрение новых спецификаций и соответствующей им аппаратной поддержки – в компьютерном мире обычное дело. Видеоадаптер:

начали свою историю как карта расширения;

затем появились графические платы с интерфейсом ISA, объём памяти которых редко превышал 512Кбайт;

с появлением специально расширенной шины VESA, была попытка приспособить видеоадаптеры и к ней. Это были настоящие монстры – карты, которые устанавливались сразу в два слота, размером на всю ширину материнской платы, а объем памяти в 2Мбайт считался на начало 90-х годов огромным достижением;

наиболее сильный толчок в развитии видеоадаптеры получили на шине PCI. Именно в середине 90-х были созданы первые достойные   3D-акселераторы. Слоты шины PCI пока ещё присутствуют на каждом современном ПК и сегодня, хотя видеокартами они давно уже не используются;

 на смену универсальной шине PCI для видеоадаптеров был специально разработан специализированный интерфейс AGP (Accelerated Graphic Port - ускоренный графический порт), который полностью освободил шину PCI от передачи больших объемов видеоданных и обеспечил максимально быстрый доступ к системной памяти (приоритетный), необходимый для работы современных видеокарт. Массовые карты подключаются сегодня по интерфейсу AGP 4х с пропускной способностью 1,06 Гбайт/с, а самые мощные модели - по интерфейсу AGP 8x с пропускной способностью 2,1 Гбайт/с. Он удерживает позиции уже почти десять лет;

учитывая имеющуюся тенденцию перехода от параллельных шин к последовательным (лучшая масштабируемость, способность работать на более высоких эффективных частотах, большая компактность), уже в самом ближайшем будущем принципиально новый перспективный интерфейс PCI-Express может заменить не только PCI, но и AGP.

Акселератор (ускоритель, accelerator) - набор аппаратных возможностей адаптера, предназначенный для переноса части типовых операций по работе с изображением на встроенный процессор адаптера. Различаются ускорители графики (graphics accelerator) с поддержкой изображения отрезков, простых фигур, заливки цветом, вывода курсора мыши и т.п., и ускорители анимации (video accelerators).

Технологии создания изображения

Для правильного понимания принципов формирования изображение видеокартой, а точнее, графическим процессором, необходимо разобраться с основными понятиями: текстура, вершина и полигон.

Поскольку имеется дело с трехмерными объектами, то их положение в пространстве описывается координатами X, Y и Z. Точка, заданная этими координатами, называется вершиной. В графических процессорах, предназначенных для персональных компьютеров, используется технология полигонального создания трехмерных объектов, которая примечательна тем, что любые такие объекты состоят из простейших полигонов (т.е. многоугольников), а именно, треугольников. Положение этих полигонов и задается вершинами.

Текстура – это двухмерное, плоское изображение, которое может накладываться на трехмерные объекты с учетом их формы и положения. В некоторых случаях текстуры могут быть и трехмерными, например, воксельные текстуры, состоящие из множества одноцветных кубов.

Для того чтобы картинка выглядела реалистичной и объемной для сидящего за плоским экраном монитора, необходимо рассчитать, какие объекты должны выводиться на дисплей, а какие не должны попасть в поле зрения (к примеру, стол, стоящий у стены, будет закрывать собой часть стены, а человек, сидящий за столом, будет закрывать часть стола и часть стены). Информация о таких объектах помещается в специально выделяемый раздел видеопамяти - Z-буфер, или буфер глубины (Z в системе трехмерных координат обозначает глубину). Затем графический процессор извлекает из Z-буфера поступившие туда данные, обрабатывает их и в цифровом виде, передает в кадровый буфер данные об изображении, которое должно быть выведено на экран.

Процесс обработки текстур и информации кадрового буфера называется рендерингом (или процессом закраски). Упрощая, можно сказать, что число конвейеров рендеринга - это просто количество специализированных блоков наложения текстур, работающих параллельно.

Для повышения реалистичности отображения, наложенных на полигоны текстур, используются самые различные технологии:

MIP mapping (от лат. multum in parvo - "множество в малом" и англ. map - "текстура")- это одна из самых распространенных технологий, основную функцию которой можно свести к созданию набора текстур с различной степенью детализации. При этом, как и в реальном мире, по мере удаления от точки наблюдения текстура будет выглядеть все более "размыто". Так как текстуры хранятся в видеопамяти и могут оперативно динамически "подгружаться", технология MIP mapping позволяет одновременно снизить нагрузку на графический процессор, что положительно сказывается на общей производительности видеосистемы.

Как правило, MIP mapping используется в сочетании с технологиями фильтрации (точнее интерполяции), призванными исправить чрезмерную "размытость" изображения, возникающую из-за того, что при некоторых углах обзора текстура на полигоне слишком "растягивается" или "сжимается". Смысл фильтрации состоит в том, что цвет пикселей растянутого или сжатого объекта рассчитывается по соседним точкам текстуры (текселам), поэтому у изображения исчезает чрезмерная зернистость. Самая прогрессивная на сегодняшний день технология фильтрации - анизотропная, при использовании которой один-единственный пиксель может рассчитываться по 8-32 текселам. Для сравнения, в простейшем варианте фильтрации, билинейной, для расчета цвета пикселя используется всего четыре ближайших тексела. Анизотропная фильтрация предъявляет повышенные требования к ресурсам всей графической системы, именно поэтому для определения реальной производительности той или иной новинки специалисты любят оценивать скорость работы карты с включенной анизотропной фильтрацией.

Аnti-aliasing - это сглаживание, которое устраняет эффект "лестницы", проявляющийся при отображении ровных краев объектов, а также позволяет избавиться от прочих искажений и повысить детальность картинки в целом. Первоначально технологии сглаживания применялись лишь к отдельным объектам, однако с повышением производительности графических процессоров получила широкое распространение технология полноэкранного сглаживания или FSAA (от англ. Full Screen Anti-Aliasing - "полноэкранное сглаживание").

Смысл полноэкранного сглаживания довольно прост: графический процессор рассчитывает изображение с большим разрешением, чем установленное разрешение выводимой картинки. Например, при использовании FSAA расчет картинки для вывода на монитор с разрешением 800 х 600 пикселей может производиться с разрешением 1600 х 1200 точек. Затем полученное изображение уменьшается на строго установленное число пикселей, при этом в соответствии с используемым алгоритмом окончательные цвета "сглаженных" пикселей рассчитываются по значениям нескольких соседних пикселей. В результате на экране получаются более плавные цветовые переходы, поэтому "лесенки" и другие нежелательные эффекты становятся малозаметными.

Существуют и иные технологии улучшения изображения, среди которых стоит назвать затуманивание (имитация газа или тумана), затенение Гуро (тонирование, сглаживание при отображении окружностей и сфер) и альфа-смешивание (имитация прозрачности объектов, например, стекла или воды). В действительности таких технологий очень много, причем большая часть из них представляет собой фирменные разработки, подробная информация о которых держится в секрете.

Для реализации различных возможностей, заложенных в графические процессоры, используются прикладные программные библиотеки или программные интерфейсы (Application Pro gramming Interface – API, интерфейс для программирования приложений). Программный интерфейс - это как бы промежуточная ступенька между прикладными программами и низкоуровневыми командами драйвера видеокарты. API позволяет не только повысить эффективность использования аппаратного потенциала графического ускорителя, но и дает возможность программно эмулировать некоторые функции, не поддерживаемые видеокартой аппаратно.

Помимо всего прочего, именно благодаря API, обеспечивается максимальная совместимость программных продуктов и систем команд графических процессоров. Различные чипы поддерживают разные API, причем по поддерживаемой версии программного интерфейса можно в подавляющем большинстве случаев определить класс и поколение видеокарты, если, конечно, она не представляет собой узкоспециализированный продукт.

К примеру, в популярных в свое время видеокартах серии Voodoo поддерживался API Glide, разработанный компанией 3Dfx. По различным причинам прочие производители видеокарт практически проигнорировали эту библиотеку, поэтому с исчезновением с рынка Voodoo можно считать, что этого API больше не существует. Двум другим массовым программным интерфейсам повезло гораздо больше. Созданный компанией Silicon Graphics (ныне - SGI) интерфейс OpenGL был первоначально предназначен для профессиональных видеокарт, используемых в рабочих станциях, однако упрощенная версия этого API использовалась при написании игры Quake, благодаря чему все современные графические процессоры в той или иной степени поддерживают OpenGL.

API Direct 3D (разработка программистов Microsoft) входит в состав мультимедийного API DirectX. Первоначально Direct 3D уступал по своим возможностям OpenGL, однако ныне это самая развитая технология, которая поддерживается всеми графическими процессорами для настольных компьютеров, а практически все компьютерные игры ориентированы именно на эту технологию. Последняя версия Direct X - это 9,0c, правда, до сих пор далеко не во всех популярных компьютерных играх реализованы возможности Direct X 8,0, которая поставлялась вместе с операционной системой Windows   XP. Среди таких невостребованных, но, безусловно, перспективных возможностей можно назвать вершинные и пиксельные шейдеры - специализированные программы, позволяющие эффективно изменять геометрию и изображение формируемой трехмерной сцены. К сожалению, создатели программного обеспечения пока не уделяют достаточного внимания вершинным и пиксельным шейдерам, в то время как спецификации этих программ постоянно совершенствуются.

При тестировании видеокарт эксперты часто пользуются таким термином, как FPS (от английского Frames Per Second - "число кадров в секунду"). Это аббревиатура означает частоту смены кадров в секунду, которая определяется специально написанными программами, такими, как 3DMark от Futuremark. Подобные программные пакеты состоят из целой серии сложных графических тестов и включают в себя фрагменты из самых современных и особенно требовательных к "железу" компьютерных игр. Основная цель такого тестирования - создать наиболее тяжелые условия работы графической подсистемы, что позволяет достаточно объективно оценить потенциальные возможности того или иного графического чипа. Тем не менее стоит помнить о том, что все эти тесты синтетические, поэтому реальная производительность видеокарты в реальных приложениях может заметно отличаться от результатов тестирования.



загрузка...