Программное обеспечение

Графический адаптер вычисляет картинку, выводимую на монитор, но откуда ему брать данные для вычисления? Для этого видеоадаптер взаимодействует с остальными компонентами компьютера, которые снабжают его задачами. Чтобы скоординировать работу и общение ЦП и ГП, необходимо программное обеспечение.

Додрайверная эпоха

Во времена появления VGA программы обращались к аппаратной части видеокарты напрямую, разработчики "железа" в то время следовали довольно жестким стандартам, описывающим работу графических режимов. Были доступны следующие режимы: 640x480x16 цветов и 320x200x256 цветов

В 90-м году появился стандарт VESA 1.0, позволивший увеличить разрешение и количество цветов, используя тот же разъем VGA. Теперь можно было использовать разрешения от 640х480 до 1280х1024 при 16 и 256 цветах, VESA 1.1 добавил к этому стандарт для работы при 15 и 16 битном цвете (32K и 64K - HiColor), а VESA 1.2 - при более знакомом нам 24/32 битном цвете (16,7M - TrueColor) и ввел еще одно разрешение - 1600х1200. VESA режимы также функционировали без каких-либо драйверов, однако требовали наличия VESA BIOS

Драйвера

Драйвер - это программа управляющая устройством. В 1995 появляется Windows 95, использующая драйвер для взаимодействия с видеокартой. Драйвер находится между устройством и операционной системой и обеспечивает связь Windows с аппаратной частью видеокарты.

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

Драйвер устройства обычно поддерживает одну или несколько карт, и должен быть написан специально для определённой операционной системы (ОС).

Тогда работа в графическом режиме Windows стала удобной, но очень медленной из-за участия всей "махины" Windows в каждой операции рисования и отсутствия прямого доступа к видеокарте. Для решения этой проблемы Microsoft в срочном порядке выпускает пакет DirectX.

Интерфейсы

Интерфейс (в самом общем смысле) - это некоторый стандарт по коммуникации. Он может быть как аппаратным, например шина USB, определяющим способ общения между устройствами, так и программным - определяющим способ общения между программами, а также множеством других интерфейсов в числе которых и оконный интерфейс Windows. Существуют также интерфейсы прикладного программирования (Application Programming Interface - API), которые представляют собой интерфейс между программистом, пишущим программу, и возможностями предоставляемыми ему операционной системой.

Для того чтобы тот или иной интерфейс прикладного программирования появился в системе, его функции (библиотеки подпрограмм) должны быть тем или иным способом установлены в системе. Также для облегчения разработки программ используются дополнительные библиотеки и заголовочные файлы, например, Microsoft регулярно выпускает свои DirectX SDK (Software Development Kit - Набор для разработки программ) для своего инструмента разработки Windows приложений - Microsoft Visual Studio. В свою очередь уже операционная система с помощью драйвера видеокарты может связать программные вызовы этих функций приложением (например игрой) с её аппаратной частью.

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

Может показаться невероятным, но в этоху бума 3D на ПК 1996-1997 годы, за право быть стандартным боролись до 40 (!) различных 3D интерфейсов. Победили имевшие неоспоримые преимущества. DirectX имел поддержку Microsoft, Glide имел превосходную аппаратную поддержку со стороны собственного "железа", а вляние OpenGL на мир 3D к тому времени уже было весьма значительным.

Соверменные видеокарты используют такие интерфейсы как DirectX, Vulkan, OpenGL

Заключение

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

Часть 4 - Применение и характеристики видеокарты