link980 link981 link982 link983 link984 link985 link986 link987 link988 link989 link990 link991 link992 link993 link994 link995 link996 link997 link998 link999 link1000 link1001 link1002 link1003 link1004 link1005 link1006 link1007 link1008 link1009 link1010 link1011 link1012 link1013 link1014 link1015 link1016 link1017 link1018 link1019 link1020 link1021 link1022 link1023 link1024 link1025 link1026 link1027 link1028 link1029 link1030 link1031 link1032 link1033 link1034 link1035 link1036 link1037 link1038 link1039 link1040 link1041 link1042 link1043 link1044 link1045 link1046 link1047 link1048 link1049 link1050 link1051 link1052 link1053 link1054 link1055 link1056 link1057 link1058 link1059 link1060 link1061 link1062 link1063 link1064 link1065 link1066 link1067 link1068 link1069 link1070 link1071 link1072 link1073 link1074 link1075 link1076 link1077 link1078 link1079 link1080 link1081 link1082 link1083 link1084 link1085 link1086 link1087 link1088 link1089 link1090 link1091 link1092 link1093 link1094 link1095 link1096 link1097 link1098 link1099 link1100 link1101 link1102 link1103 link1104 link1105 link1106 link1107 link1108 link1109 link1110 link1111 link1112 link1113 link1114 link1115 link1116 link1117

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.