PersCom — Компьютерная Энциклопедия Компьютерная Энциклопедия

Видеоадаптеры

Интерфейс прикладного программирования

Благодаря интерфейсу прикладного программирования (API) разработчикам аппаратного и программного обеспечения предоставляются средства создания драйверов и программ, работающих быстрее на большом количестве платформ. Программные драйверы разрабатываются для взаимодействия непосредственно с API, а не с операционной системой и программным обеспечением. В настоящее время ведущими игровыми интерфейсами API являются OpenGL, разработанный компанией SGI, а также Direct3D, разработанный компанией Microsoft как часть DirectX. Все современные видеоадаптеры поддерживают как OpenGL, так и Direct3D. В свое время был распространен еще один игровой API — Glide, который можно считать расширенной версией OpenGL, однако его поддерживали только видеоадаптеры производства компании 3dfx, которая уже давно прекратила свое существование.

OpenGL

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

OpenGL всегда был популярным интерфейсом в играх, однако широко применяется и в производственной сфере, в том числе в картографии. Системы Windows XP и Vista могут поддерживать OpenGL как на программном уровне, так и посредством графических акселераторов. Для обеспечения в конкретном адаптере поддержки OpenGL изготовитель должен включить в его поставку устанавливаемый клиентский драйвер (ICD). Таким образом, обновление драйвера поможет повысить производительность как Direct3D, так и OpenGL.

Microsoft DirectX 9.0c и 10

Direct3D — это составная часть разработанного компанией мультимедийного API DirectX. Хотя последние версии DirectX (9.0с и 10) поддерживали поверхности высокого порядка (при этом трехмерные поверхности представлялись кривыми), вершинные и пиксельные шейдеры, реализация данных функций в DirectX разных версий кардинально отличается. В DirectX 9.0c, как в версиях 8.0, 8.1 и 9.0, при формировании трехмерных объектов используются раздельные вершинные и пиксельные шейдеры. Несмотря на то что в DirectX 9.0c повышена точность обработки данных, поддерживается больше инструкций, текстур и регистров, чем в предшествующих версиях, раздельное использование шейдеров замедляет обработку объемных объектов, когда количество отображаемых пикселей превышает количество шейдеров и наоборот. Шейдерная модель версии 3.0, используемая в DirectX 9.0c, является всего лишь развитием первой модели, использованной еще в 2001 году в DirectX 8.0. В ней только увеличено количество инструкций и повышена точность.

Версия DirectX 10, созданная специально для Windows Vista, основана на совершенно другом ядре с новой архитектурой шейдеров Shader Model 4. В ней к вершинному и пиксельному шейдерам добавлен геометрический для повышения реалистичности таких динамических событий, как взрыв. Однако наибольшее изменение в данной модели — это возможность оперативного переключения между операциями вершинного, геометрического и пиксельного шейдеров, позволяющего избежать узких мест в обработке любых трехмерных сцен и повысить общую производительность.


Примечание!

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



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

Среди прочих архитектурных изменений в DirectX 10 — оптимизация процесса, уменьшающая нагрузку на центральный процессор. По сравнению с DirectX 9 при обработке различных типов изображений командные циклы в DirectX 10 сокращены примерно на 90%. Важно отметить, что графические процессоры, поддерживающие DirectX 10, полностью совместимы с более ранними версиями этого интерфейса, что позволяет запускать не только новые, но и старые игры. Ссылки для обновления DirectX версий 9.0c и 10 можно найти по адресу:

www.gamesforwindows.com/en-US/AboutGFW/Pages/DirectX10.aspx 

Примечание!

Версия DirectX 9.0c поддерживает все версии от Windows 98 до Windows XP SP1 (в Windows XP SP2 она включена как составляющий компонент).

Хотя этот факт и не афишируется, но интерфейс DirectX 9.0c интегрирован в Windows Vista и даже используется для запуска рабочего стола Aero 3D. Чтобы поддерживать в обновленном состоянии DirectX как в Windows XP, так и в Windows Vista, установите последнюю версию DirectX EndUser Runtime. Предварительно ознакомьтесь с системными требованиями, чтобы убедиться в поддержке вашей версии Windows.