Zaczęło się od liter
Na początku sierpnia 1981 roku wraz z narodzinami IBM-a 5150 – protoplasty dzisiejszych pecetów – światło dzienne ujrzała pierwsza karta graficzna. Urządzenie to, oznaczone symbolem MDA (Monochrome Display Adapter), potrafiło wyświetlić 25 wierszy tekstu po 80 znaków każdy i korzystało z ośmiobitowej szyny ISA. Konstruktorzy IBM-a 5150 niesłusznie założyli, że ich maszyny wykorzystywane będą niemal wyłącznie w biurach. Dlatego też początkowo w ogóle nie przewidzieli opcji wyświetlania grafiki. Szybko okazało się jednak, że komputerami PC interesują się również użytkownicy indywidualni, którzy chcieli grać. IBM naprawił swój błąd i w niecałe dwa miesiące po premierze peceta na rynku pojawiła się pierwsza karta graficzna z prawdziwego zdarzenia – CGA (Color Graphics Adapter).
Pradziadek dzisiejszych akceleratorów wyposażony był w 16-kilobajtowy bufor ramki i oprócz trybów tekstowych, co ciekawe, niezgodnych z MDA, oferował dwa tryby graficzne. W pierwszym z nich był w stanie wyświetlić 320×200 punków przy “zawrotnej” liczbie czterech kolorów wybieranych z dwóch palet. Pierwsza zawierała barwy: białą, czarną, różową i jasnoniebieską, druga zaś kolory żółty, czarny, zielony i czerwony. Karty CGA oferowały też tryb wysokiej rozdzielczości 640×200 punktów, wykorzystujący dwa kolory – czarny i biały.
Od Herculesa do SVGA
Osoby, które swoją przygodę z komputerami PC zaczynały w końcu lat 80., dobrze pamiętają montowane wówczas karty graficzne HGC (Hercules Graphics Controller), określane, od nazwy firmy, która opracowała ten standard, “Herkulesami”. Swój przełomowy produkt Hercules zaprezentował w 1982 roku. Wszystkie klony Herculesa były w stanie pracować w monochromatycznym trybie 720×348 punktów, a dzięki specjalnym programowym emulatorom udawały też CGA. Oczywiście nie było wówczas mowy o kolorach, niemniej gry napisane na CGA działały na Herculesach bardzo dobrze.
Popularności standardowi HGC nie odebrała ani na chwilę opracowana w 1984 roku przez IBM-a karta EGA (Enhanced Graphics Adapter). Była ona zgodna z CGA i MDA, ale do swojej pracy wymagała specjalnego, drogiego monitora. Wprowadzono w niej dwa nowe tryby graficzne – 320×200 i 640×350 pikseli, mogące wyświetlać jednocześnie 16 barw wybranych z 64-kolorowej palety. Prawdziwym przełomem w komputerowej grafice okazał się opracowany w 1987 roku w laboratoriach IBM-a standard VGA (Video Graphics Array). Karty VGA oprócz sprzętowej zgodności z MDA, CGA i EGA (ale nie z Herculesem) oferowały dwa nowe tryby pracy – 320×200 pikseli przy 256 kolorach i 640×480 punktów wyświetlający 16 kolorów. To tę ostatnią rozdzielczość obsługiwał do niedawna niemal każdy system operacyjny. Karty VGA wyposażone też były w zawrotną jak na owe czasy 256-kilobajtową pamięć wideo.
VGA dość szybko uznano za obowiązujący standard, a producenci kart graficznych rozpoczęli wyścig o to, kto więcej z karty wyciśnie pikseli i kolorów. Na rynku pojawiały się niekompatybilne ze sobą konstrukcje, określane wspólnym mianem SVGA (Super VGA), oferujące tryby 800×600, 1024×768, a nawet 1280×1024 punkty i pracujące z 16, 256 bądź 16 384 barwami. By uporządkować rynek, najwięksi producenci monitorów i kart graficznych powołali organizację VESA (Video Electronics Standards Association), która od 1989 roku odpowiada za standaryzację wszystkich graficznych trybów pracy, definiując rozdzielczości i dostępne kolory.
Akceleratory i złącza
Wszystkie opisane dotąd karty graficzne to tzw. bufory ramki – wyświetlały one na ekranie monitora punkty o określonych przez procesor współrzędnych. Pierwszym akceleratorem był IBM 8514/A z 1988 roku, który sprzętowo przyspieszał rysowanie prostokątów, linii o zadanym punkcie początkowym i końcowym oraz wypełnianie obszarów zamkniętych. Sprzętowa realizacja tych operacji stała się niezbędna do przyspieszenia działania graficznych systemów operacyjnych, takich jak opracowywane wówczas Microsoft Windows i IBM OS/2.
Za przykładem IBM-a poszli inni producenci kości i kart graficznych. Na przełomie lat 80. i 90. pojawiło się mnóstwo układów wspomagających wyświetlanie grafiki 2D. W ich produkcji przodowała firma S3. Wiele osób z pewnością pamięta jej akceleratory z serii Vision 868 i Vision 968 oraz późniejsze Trio32 i Trio64. Wśród udanych konstrukcji z pierwszej połowy lat 90. wymienić należy kości ATI Mach32 z 1992 roku, dwa lata młodszą ATI Mach64 oraz bardzo popularne w Polsce konstrukcje bazujące na chipie Trident TGUI 9680.
Wraz z rozwojem kart graficznych zmieniała się również używana przez nie magistrala. Początkowo wykorzystywano ośmiobitowe złącze ISA, które szybko okazało się niewystarczające. Karty zaczęto więc montować w 16-bitowej wersji tego slotu, a wraz z pojawieniem się procesorów 486, w 32-bitowym gnieździe VESA Local Bus (VLB). Ta ostatnia magistrala była “przedłużeniem” wyprowadzeń procesora, co przyspieszało generowanie grafiki, ale też zmniejszało elastyczność konstrukcji peceta. Z pierwszymi procesorami Pentium pojawiła się szybka jak na owe czasy magistrala PCI o przepustowości 132 MB/s – to właśnie z jej potencjału zaczęły korzystać pierwsze akceleratory 3D.
Najważniejsze wydarzenia w historii rozwoju pecetowej grafiki, kart i układów graficznych | |
Miesiąc | Wydarzenie |
Rok 1981 | |
Sierpień | IBM 5150 – pierwszy komputer PC |
Sierpień | MDA (Monochrome Display Adapter) – pierwsza karta dla PC – 25 wierszy x 80 znaków |
Październik | CGA (Color Graphics Adapter) – czterokolorowa karta dla PC |
Rok 1982 | |
Sierpień | HGC (Hercules Graphics Controller) – monochromatyczna karta Hercules staje się standardem dla maszyn PC – 720×348 pikseli |
Rok 1984 | |
Sierpień | EGA (Enhanced Graphics Adapter) – 640×350 pikseli, 16 kolorów |
16-bitowa magistrala ISA (15,9 MB/s) | |
Rok 1985 | |
Sierpień | Powstaje firma Array Technology Inc. (ATI) |
Rok 1987 | |
Kwiecień | VGA (Video Graphics Array) – tryby 640×480 pikseli (16 kolorów), 320×200 pikseli (256 kolorów) |
Rok 1988 | |
Kwiecień | IBM 8514/A – pierwszy akcelerator 2D |
Rok 1989 | |
Kwiecień | Powstaje organizacja standaryzująca wyświetlanie grafiki – VESA (Video Electronics Standards Association) |
Powstaje firma S3 | |
Rok 1990 | |
Maj | Premiera Windows 3.0 |
Rok 1991 | |
Kwiecień | Premiera Windows 3.1 |
Rok 1992 | |
Marzec | Firma SGI zakłada zrzeszenie promujące standard OpenGL |
Czerwiec | Magistrala VESA Local Bus (127,2 MB/s) |
Czerwiec | Magistrala PCI (127,2 MB/s) |
Rok 1993 | |
Styczeń | Powstaje firma Nvidia |
Rok 1994 | |
Powstaje firma 3dfx | |
Grudzień | Matrox MGA-2064W – pierwszy akcelerator 3D |
Rok 1995 | |
Powstaje standard PCI rev. 2.1 | |
Maj | Premiera układu Nvidia NV1 – pierwszego akceleratora 3D do gier |
Sierpień | Premiera Windows 95 |
Październik | Premiera układu 3Dlabs Permedia – pierwszej profesjonalnej kości 3D na rynek domowy |
Październik | S3 ViRGE – pierwszy tani akcelerator 3D do gier |
Listopad Grudzień | Microsoft wprowadza funkcje 3D do DirectX (DirectX 1.0) |
Listopad | ATI Rage3D – pierwszy układ 3D firmy ATI |
Rok 1996 | |
Lipiec | Premiera bibliotek DirectX 3.0 |
Sierpień | 3dfx Voodoo – protoplasta dzisiejszych akceleratorów 3D |
Wrzesień | Premiera układu Rage3D II – pierwszy układ 3D ze wspomaganiem odtwarzania DVD |
Rok 1997 | |
Magistrala AGP (AGP – 254,3 MB/s, AGP 2x – 508,6 MB/s, AGP 4x – 1017,2 MB/s, AGP 8x – 2132 MB/s) | |
Kwiecień | Premiera układu Nvidia Riva 128 – pierwszego 128-bitowego akceleratora 3D |
Maj | 3Dlabs Permedia II |
Październik | Premiera bibliotek DirectX 5.0 |
Listopad | 3dfx Voodoo 2 – układ pozwalający na pracę w tybie SLI |
Listopad | S3 Trio3D |
Rok 1998 | |
Luty | VideoLogic PowerVR – pierwszy układ z renderingiem kafelkowym |
Luty | Intel i740 – pierwszy układ 3D Intela |
Marzec | Nvidia RivaTNT – układ mapujący jednocześnie dwie tekstury |
Kwiecień | Matrox G100/G200 – 32-bitowa paleta kolorów w trybie 3D |
Maj | S3 Savage 3D |
Czerwiec | 3Dfx Voodoo Banshee |
Czerwiec | Premiera Windows 98 |
Sierpień | ATI 3D Rage 128 – 128-bitowy układ ATI |
Listopad | Premiera bibliotek DirectX 6.0 |
Rok 1999 | |
Luty | S3 Savage 4 – pierwsza implementacja w akceleratorze 3D niektórych funkcji T&L |
Maj | Premiera Windows 98 SE |
Lipiec | Premiera bibliotek DirectX 6.1 |
Sierpień | Nvidia GeForce 256 – układ z wydzielonym modułem T&L |
Sierpień | S3 Savage 2000 – poprawiona wersja Savage 4 |
Grudzień | Premiera bibliotek DirectX 7.0 |
Rok 2000 | |
Luty | Premiera Windows 2000 |
Kwiecień | Nvidia GeForce2 |
Kwiecień | ATI Radeon 256 – pierwsza kość ATI z T&L |
Lipiec | Premiera bibliotek DirectX 7.1 |
Czerwiec | STMicroelectronics Kyro – układ z renderingiem kafelkowym |
Listopad | Premiera bibliotek DirectX 8.0 |
Grudzień | Nvidia przejmuje firmę 3dfx |
Rok 2001 | |
Luty | Nvidia GeForce3 – obsługa Pixel i Vertex Shaderów (pierwszy GPU) |
Marzec | Premiera układów graficznych Nvidii do Xboksa |
Sierpień | ATI Radeon 8500 – pierwszy układ zgodny z DirectX 8.1 |
Październik | Premiera Windows XP |
Listopad | Premiera bibliotek DirectX 8.1 |
Rok 2002 | |
Luty | Nvidia GeForce4 – układ zgodny z DX 8.1 |
Maj | Matrox Parhelia-512 – pierwsza karta z technologią Displacement Bump Mapping |
Lipiec | ATI Radeon 9500 – pierwsza karta zgodna z DirectX 9.0 |
Listopad | Nvidia GeForce FX – układ zgodny z DX 9.0 |
Grudzień | Premiera bibliotek DirectX 9.0 |
Rok 2004 | |
Magistrala PCI Express x16 (4000 MB/s) | |
Kwiecień | Nvidia 6800 Ultra – pierwsza kość zgodna z Shader Model 3.0 |
Maj | ATI Radeon X800 |
Sierpień | Premiera bibliotek DirectX 9.0c |
Rok 2005 | |
Maj | ATI Xenos (Xbox 360) |
Maj | Nvidia RSX (PlayStation 3) |
Czerwiec | Nvidia GeForce 7800 GTX |
Październik | ATI Radeon X1800 |