8. Karty graficzne

Podstawowym zadaniem karty graficznej jest przygotowanie informacji o obrazie, który ma być wyświetlony na ekranie monitora oraz sterowanie monitorem. Pierwsze karty graficzne potrafiły jedynie wyświetlać znaki alfabetu łacińskiego ze zdefiniowanego w pamięci karty generatora znaków. Był to tak zwany tryb tekstowy. Kolejna generacja kart graficznych potrafiła wyświetlać w odpowiednim kolorze poszczególne punkty (piksele) – jest to tryb graficzny. Nowoczesne procesory graficzne udostępniają wiele funkcji przyśpieszających pracę programów. Możliwe jest narysowanie odcinka, trójkąta, wieloboku, wypełnienie ich zadanym kolorem lub wzorem, tzw. akceleracja 2D. Karty graficzne mają również wbudowane funkcje do tworzenia obrazu w przestrzeni trójwymiarowej, tzw. akceleracja 3D.
Przegląd kart graficznych rozpoczniemy od rozwiązań historycznych. Dają one pogląd jak szybko i w jakim kierunku rozwijał się ten segment. W tabeli 10 są zaprezentowane poszczególne rozwiązania.
MDA
MDA (ang. Monochrome Display Adapter) był pierwszą kartą graficzną użytą przez firmę IBM w komputerze PC z 1981 roku. Karta pracowała tylko w trybie tekstowym w rozdzielczości 25 linii po 80 znaków. Każdy znak był tworzony w matrycy 9x14 pikseli, co dawało efektywną rozdzielczość 720x350. Częstotliwość odświeżania wynosiła 50 Hz. Piksele nie mogły być adresowalne oddzielnie. Karta była wyposażone w 4 KB pamięci.

Tabela 10. Standardy kart graficznych

Data     Standard Opis Rozdzielczość Liczba kolorów
1981 MDA Monochrome Dispay Adapter 80 znaków w 25 wierszach monochromat.
(9x14 punktów
na znak 720x350)
1981 CGA Colour Graphics Adapter

640x200

160x200

monochromat.
16
1982   Herkules Karta graficzna 720x348 monochromat.
1984   EGA Enhanced Graphics Adapter 640x350 16 z 64 (paleta)
1987 VGA Video Graphics Array (syg. analogowy)

640x480

320x200

16 z 262144
256 z 265144
1990 XGA Extended Graphics Array 1024x768 16.7 milionów
  SXGA Super Extended Graphics Array 1280x1024 16.7 milionów
  UXGA Ultra XGA 1600x1200 16.7 milionów

CGA
Następcą sterownika MDA była karta CGA (ang. Color Graphics Adapter). Karta CGA została opracowana przez firmą IBM w 1982 roku i jako pierwsza oferowała możliwość korzystania z trybu graficznego. Były to jednak tylko dwie rozdzielczości: 640x200 oraz 320x200 punktów. Wyższa rozdzielczość pozwalała na pracę jedynie w trybie monochromatycznym, zaś niższa – w 4 kolorach. Karta oferowała 16 KB pamięci. Tryb tekstowy oferowany  był w dwóch wariantach: 80 znaków x 25 linii, bądź 40 znaków x 25 linii, niestety matryca znaku miała rozmiary 8x8 pikseli. Karta zapewniała maksymalną częstotliwość odświeżania pionowego 60 Hz.
Herkules
Jednym z ograniczeń oryginalnej karty MDA była praca tylko w trybie tekstowym. Firma o nazwie Herkules opracowała w połowie lat osiemdziesiątych kartę wideo, która była kompatybilna z MDA, ale wspierała również wyświetlanie grafiki. Karta oferowała możliwość pracy w rozdzielczości 720x348 punktów (zarówno w trybie tekstowym, jak i graficznym), ale jedynie w trybie monochromatycznym. Wyposażona była w 64 KB pamięci. Znaki w trybie tekstowym wyświetlane były na matrycy 9x14 punktów.
EGA
Karta EGA (ang. Enhanced Graphics Adapter) stanowiła kolejny etap rozwoju standardu CGA. Karta oferowała wyświetlanie obrazu w rozdzielczości 640x350 punktów przy 16 kolorach (wybieranych z palety 64 kolorów). Zaopatrzona była w 256 KB pamięci. Rozdzielczość w trybie tekstowym wynosiła 80x25, przy matrycy znaku 8x14.
VGA
Karta VGA (ang. Video Graphics Array) to kolejny standard firmy IBM, opracowany z myślą o aplikacjach graficznych. Sterownik ten jest w stanie emulować wszystkie dotychczas opisane standardy. Cechą wyróżniającą kartę VGA jest fakt, że wysyła ona do monitora sygnały analogowe (poprzedniczki operowały na sygnałach cyfrowych), dzięki czemu zwiększono liczbę wyświetlanych kolorów. Zajmuje się tym wyspecjalizowany układ przetwornika cyfrowo-analogowego DAC (ang. Digital Analog Converter), który jest w stanie przedstawić każdą z barw w postaci określonej liczby poziomów (np. 64). Standardowy sterownik VGA umożliwia wyświetlanie 25 wierszy znaków w 80 kolumnach (matryca znaku 9x16). Znak może być wyświetlany w jednym z 16 kolorów, natomiast kolor tła dla każdego znaku może być inny. W trybie graficznym karta VGA umożliwia wyświetlenie obrazu o rozmiarach 640x480 pikseli przy 16 kolorach (wybranych z palety 256 kolorów). Maksymalną liczbę kolorów – 256 osiągnąć można przy rozdzielczości 320x200 punktów. Należy zaznaczyć, że karta VGA nie umożliwiała hardware’owego przyspieszania wyświetlania obrazu. Całą pracę związaną z wykreowaniem wyświetlanego obrazu wykonywał procesor.
SVGA
VGA był ostatnim standardem kart wideo, który był szeroko zaakceptowany przez różne firmy. Większość późniejszych kart oferowała wyższe rozdzielczości, pełną paletę kolorów (16.7 milionów), ale także wsteczną kompatybilność z VGA. Karty te często były nazywane SVGA (Super VGA). Nie był to jednak wspólny, udokumentowany standard. Pojęciem SVGA określano raczej wszystkie karty, które rozszerzały możliwości VGA.