Grafická karta (iné názvy: grafický adaptér, videoadaptér, videokarta) je komponent počítača, ktorý zabezpečuje zobrazenie informácií na zobrazovacej jednotke, napríklad na monitore.
Grafická karta je kombináciou (grafickej) pamäte (obvykle DRAM resp. jej modernejšie verzie DDR4, GDDR2 – GDDR6) a grafického procesora (videoprocesora). Grafický procesor spracúva informácie z centrálneho procesora (CPU), a výsledok zobrazuje na monitore prostredníctvom analógového (D-SUB), respektíve digitálneho (DVI, HDMI alebo DisplayPort) výstupu. Súčasťou karty (okrem podporných logických obvodov a radičov) je aj RAMDAC – digitálno analógový prevodník.
Niekedy (najmä u lacnejších počítačov a počítačov nevyžadujúcich grafický výkon), je grafická karta (grafický čip a podporné obvody) integrovaná na základnej doske, prípadne je priamo integrovanou súčasťou čipovej sady (chipset). Obvykle je potom grafická pamäť zdieľaná s operačnou pamäťou procesora. Takéto riešenie ide samozrejme na úkor výkonnosti v zobrazovaní grafiky, a aj na úkor výkonu samotného hlavného procesora. Moderné integrované riešenia sú však schopné nahradiť externé grafické karty s 3D akceleráciou nižšej triedy.
Dôležité parametre grafickej karty sú: rýchlosť (bodová frekvencia/riadková a snímková frekvencia), rozlíšenie (počet zobrazených bodov v oboch smeroch), farebná hĺbka (počet zobraziteľných farieb, často vyjadrené počtom bitov), veľkosť pamäte, jej typ a rýchlosť a typ zbernice prostredníctvom ktorej je karta pripojená ku základnej doske.
V minulosti výkonnosť grafických kariet určovala hlavne veľkosť pamäte ktorou karta disponovala. Bolo jasné, že grafická karta s pamäťou 32 MB je výkonnejšia ako karta disponujúca len s 16 MB pamäťou. Hlavným parametrom výkonu grafickej karty je však dnes najmä typ použitého grafického procesora (GPU) a pamäťovej zbernice. Keďže je stále pomerne bežné medzi spotrebiteľmi posudzovať výkony jednotlivých kariet na základe veľkosti ich pamäte, výrobcovia často používajú marketingové triky – karty s nižším výkonom, resp. brzdené nedostatočnou šírkou pamäťovej zbernice, sú vybavené väčšou pamäťou, než akú sú schopné pri svojej činnosti využívať, aby vznikol falošný dojem výkonnosti.
V počiatkoch znázorňovania 3D objektov v počítačovej grafike bolo požadované, aby sa trojrozmerná scéna prepočítala a zobrazila (vyrenderovala) za niekoľko minút. Dnešné grafické karty musia takýchto trojrozmerných scén zvládnuť okolo 70 za jedinú sekundu.
Obraz viditeľný na monitore je vytváraný zložitým postupom. Aplikácia, ktorá potrebuje zobraziť nejaký objekt na obrazovke je spracovaná procesorom – CPU, ten vyšle príkaz grafickému rozhrania (grafickému) driveru, ktorý je spojnicou medzi hardvérom grafickej karty a operačným systémom. Ovládač vyšle digitálne údaje v novom formáte na renderovanie grafickej karte. Dáta sa presunú po zbernici PCIe, alebo AGP do vyrovnávacej pamäte systému (buď priamo na karte alebo v systémovej pamäti). Dáta sa spracujú – ak ide o 3D objekt ten je „dodaný“ vo forme polygónov, textúr a efektov (oheň, hmla, záblesk...). Výsledný 3D obraz vrátane efektov, trojrozmernej hĺbky obrazu, osvetlenia scény tieňov a následného pohybu je vygenerovaný v pamäti grafickej karty pomocou API a prerenderovaný do 2D obrazu na jednotlivé body. Digitálne údaje sú premenené na body, z ktorých sa skladá výsledný obraz na monitore. Pre rozlíšenie 1280 x 1024 bodov, musí grafická karta na vykreslenie jednej obrazovky vypočítať polohu a farbu pre 1 310 720 bodov. Tento proces sa opakuje 50 – 200x za sekundu. Body sú prevedené pomocou RAMDAC na analógový signál potrebný pre analógové monitory. Pre DVI je zasielaný do monitora priamo, v digitálnej forme.
Grafická karta začala písať svoju históriu v roku 1960, keď tlačiareň (čo bolo najbežnejšie výstupné zariadenie počítača) bola nahradená obrazovkou, a bolo potrebné výstupné informácie z počítača vizualizovať. Prvé grafické karty zobrazovali len v textovom režime a len monochromaticky. Prípadné obrázky sa len skladali z textových znakov.
Rok | Textový mód | Grafický mód | Farby | Pamäť | |
---|---|---|---|---|---|
MDA | 1981 | 80*25 | - | 1 | 4 KB |
CGA | 1981 | 80*25 | 640*200 | 16 | 16 KB |
HGC | 1982 | 80*25 | 720*348 | 1 | 64 KB |
EGA | 1984 | 80*25 | 640*350 | 16 | 256 KB |
IBM 8514 | 1987 | 80*25 | 1024*768 | 256 | - |
MCGA | 1987 | 80*25 | 320*200 | 256 | - |
VGA | 1987 | 720*400 | 640*480 | 256 | 256 KB |
SVGA | 1989 | 80*25 | 1024*768 | 256 | 2 MB |
XGA | 1990 | 80*25 | 1024*768 | 65,536 | 1 MB |
Prvé grafické karty použilo vo svojich počítačoch IBM (prvé IBM PC) v roku 1981. Bola to karta štandardu MDA (Monochrome Display Adapter). Pracovala len v textovom režime 25x80 riadkov na obrazovke. Mala 4kB videopamäť a len jednu farbu. Karty sa postupne s nárokmi užívateľov vyvíjali, a vznikali firmy špecializujúce sa práve na grafické karty (ATI, CirrusLogic, S3, Matrox). V roku 1987 vznikol štandard VGA (Video Graphic Array – 640x480 bodov pri 256 farbách) a neskôr SVGA (Super VGA) ktorý už potreboval 2 MB pamäte a dokázal zobraziť 1024x768 bodov pri 256 farbách.
Tieto štandardy sa líšili len počtom zobrazených bodov a farieb. Evolučným skokom vo vývoji boli prvé karty označované ako 2D/3D (Matrox, Creative …). Tieto karty podporovali SVGA štandard, ale ako novinku mali zabudované 3D funkcie (podporu pre 3D zobrazenie). V 1997 firma 3dfx prišla s revolučným čipom Voodoo, ktorý obsahoval nové 3D funkcie a efekty (Mip Mapping, Z-buffering, Anti-aliasing...). Tieto karty boli doplnkom ku klasickej grafickej karte, boli s ňou prepojené, a spúšťali sa len pri programoch, ktoré ju podporovali. Tieto karty sa dali používať pre počítačové hry, ktoré sa stali hybným motorom celého tohoto odvetvia. Nastal rýchly rozvoj grafických kariet, ktorý trvá podnes. Nové karty vyžadovali stále väčší objem dát prenášaných cez systémovú zbernicu PCI, táto postupne prestala nárokom postačovať. Preto v 2002 prišiel Intel s novým portom AGP (Accelerated Graphics Port) ktorý riešil úzke miesto medzi procesorom a grafickou kartou. AGP bol prvý špecializovaný port len pre grafickú kartu.
V roku 2002 nVidia začala kontrolovať trh s grafickými kartami, prevzala firmu 3dfx a vytvorila rodinu GeForce. Nové 3D algoritmy, väčší výkon grafických procesorov, nové pamäteSDRAM, DDRAM, DDR2, DDR3 so stále rastúcimi frekvenciami a veľkosťami 8... 512 MB GRAM...
Dnes je trh s grafickými procesorami kontrolovaný firmami nVidia a AMD (bývalá ATI) s rodinami grafických čipov GeForce a Radeon. Ostatné firmy sa špecializujú na zvláštne karty pre profesionálne využitie (Matrox...)
Grafická karta je doska plošného spoja obsahujúca elektronické komponenty (procesor, pamäť, radiče...) a mechanické komponenty (chladiče...).
GPU (Graphics processing unit) je mikroprocesor optimalizovaný pre prácu s plávajúcou desatinnou čiarkou (floating point) a prednostne určený pre 2D a 3D renderovanie. Hlavnými atribútmi GPU sú frekvencia jadra (250 – 1100 MHz), počet pipeline (rozdelenie spracovanie jednej inštrukcie medzi rôzne časti procesora a tým aj dosiahnutie možnosti spracovávať viac inštrukcií naraz), vertex a fragment shadery prekladajúce 3D obraz charakterizovaný linkami, plochami a výplňami (vektorový obraz) do 2D obrazu reprezentovaného bodmi zobraziteľnými na 2D zobrazovacom zariadení.
GPU obsahuje radič pamäte, unifikované shadery, TMU jednotky, ROP jednotky a ďalšie.
Unifikované shadery Shader je mikroprogram slúžiaci na riadenie jednotlivých častí grafického reťazca grafickej karty. Používa špecializované programovacie jazyky (shader jazyky – napr. GLSL pre OpenGL, Cg alebo HLSL pre DirectX). Tento program je potom preložený prekladačom do strojového kódu grafickej karty. Každá firma má svoju vlastnú architektúru shaderov. Sú programovateľné a vďaka tomu nemusí počítať iba zobrazovateľné dáta, ale aj vedecké výpočty, šifrovanie a iné. Shadery sa rozdeľujú na niekoľko základných typov podľa toho, pre ktorú jednotku grafického reťazca sú určené. V súčasnosti patria medzi najdôležitějšie vertex, pixel a geometry shader.
Radič pamätí – stará sa o komunikáciu medzi grafickou pamäťou a GPU.
TMU jednotka (Texture mapping unit) – mapuje textúry na objekty.
ROP jednotka (Render Output unit) – zabezpečuje výstup dát z grafickej karty.
Typ | Frekvencia |
Priepustnosť |
---|---|---|
DDR | 166 – 950 | 1,2 – 30,4 |
DDR2 | 533 – 1000 | 8,5 – 16 |
GDDR3 | 700 – 1800 | 5,6 – 54,4 |
GDDR4 | 1600 – 2400 | 51,2 – 76,8 |
GDDR5 | 3000 – 6600 | 96 – 128 |
GDDR5X | 7000 - 10000 | 140 - 270+ |
Ak je grafická karta integrovaná na základnej doske, používa pamäť RAM počítača (zdieľaná pamäť – menšia priepustnosť). Ak je pamäť na karte, tak je označená ako VRAM (Video RAM). Kapacita VRAM u moderných kariet dosahuje 1GB – 24 GB. Pred rokom 2003 bola typicky používaná pamäť typu DDR, teraz sa používajú pamäte typu DDR2, DDR3 ,GDDR3, DDR4 ,GDDR4, DDR5, GDDR5, GDDR5X a taktiež v High-end rade GDDR6. Obnovovacia frekvencia pamätí je 400 – 8 000 MHz vo výnimočných prípadoch aj vyše 10 000Mhz. Dôležitou súčasťou video pamäte je tzv. Z-buffer, v ktorom sú uložené hodnoty koordinátov (súradníc) pri zobrazení v 3D režime.
Video BIOS (firmware) je čip obsahujúci základný program ovládajúci operácie na grafickej karte, a vykonáva inštrukcie dávané grafickému procesoru z hlavného procesora. Má na starosti aj správu pamäti VRAM (časovanie, operačná rýchlosť, napätia a iné…) Niekedy je umožnený zápis do BIOSu (BIOS je odomknutý) a je možné zmeniť hodnoty napr. časovania pamätí (pretaktovanie). Táto činnosť je však potenciálne pre kartu nebezpečná – po zadaní nesprávnych parametrov hrozí jej zničenie.
Digitálno – analógový prevodník (Random Access Memory Digital-to-Analog Converter) prevádza digitálny signál z procesora grafickej karty do analógovej formy pre monitor (displej). V závislosti od použitého počtu bitov sa líši aj použitá obnovovacia frekvencia. S CRT monitormi je najpoužívanejšia frekvencia 75 Hz. LCD panel s digitálnym vstupom už RAMDAC nevyžaduje. Prepojenie je priamo digitálne (DVI konektor, HDMI alebo DisplayPort).
Na grafických kartách býva viacero konektorov slúžiacich na prepojenie karty a monitora, alebo iných prídavných zariadení.
Zbernica | Šírka | Frekvencia | Šírka pásma | Spôsob prenosu |
---|---|---|---|---|
ISA XT | 8 | 4,77 | 8 | paralelný |
ISA AT | 16 | 8,33 | 16 | paralelný |
MCA | 32 | 10 | 20 | paralelný |
EISA | 32 | 8,33 | 32 | paralelný |
VESA | 32 | 40 | 160 | paralelný |
PCI | 32 – 64 | 33 – 100 | 132 – 800 | paralelný |
AGP 1x | 32 | 66 | 264 | paralelný |
AGP 2x | 32 | 133 | 528 | paralelný |
AGP 4x | 32 | 266 | 1000 | paralelný |
AGP 8x | 32 | 533 | 2000 | paralelný |
PCIe x1 | 1*32 | 25 / 50 | 100 / 200 | sériový |
PCIe x4 | 1*32 | 25 / 50 | 400 / 800 | sériový |
PCIe x8 | 1*32 | 25 / 50 | 800 / 1600 | sériový |
PCIe x16 | 1*32 | 25 / 50 | 1600 / 3200 | sériový |
So zvyšovaním výkonu grafických kariet stúpa aj stratový výkon, a karty sa čoraz viac nahrievajú. Dnešné moderné karty dosahujú stratový výkon extrémne až 700W, preto je už vyžadované prídavné chladenie pasívnymi, vyššie rady aj aktívnymi chladičami. Pri pretaktovaní je nutné karty chladiť dodatkovým chladením vrátane chladenia pamätí. Na chladenie sa používajú pasívne chladiče z hliníka, alebo medi, obvykle tiež s prídavným ventilátorom alebo heatpipe chladenie. Taktiež sa používa aj hybridné chladenie (kombinácia vodného chladenia a heatpipe chladenia z pridavným ventilatorom na odvod tepla).
Do roku 2006 nebol so spotrebou grafických kariet vážnejší problém. So stúpajúcim výkonom však stúpla aj energetická náročnosť kariet. Niektoré karty pre PCIe dosahujú spotrebu až 250W a viac, preto potrebujú dodatočný prívod energie na kartu (prídavné napájacie konektory) prepojené priamo so zdrojom počítača. Tak isto zdroj počítača musí byť dimenzovaný na zvýšenú spotrebu.
API (Application Programming Interface) – rozhranie pre programovanie aplikácií. Ide o procedúry, funkcie a triedy knižnice, ktoré môže použiť programátor využívajúci knižnicu. API určuje, akým spôsobom sa funkcie knižnice budú volať zo zdrojového kódu programu. Funkcie API sú teda programové celky, ktoré programátor používa namiesto toho, aby ich sám naprogramoval. Dnes sa najviac používajú dve grafické API – OpenGL a DirectX, ktoré sú štandardizované, a programátor ich môže v softvéri použiť. Spôsob ich vykonania závisí na konkrétnom počítači, podľa jeho výkonu a podľa výkonu grafickej karty. Programu – napríklad hre už potom nezáleží na type a výkone grafického procesora, ale len na tom ktoré API karta podporuje.
Prakticky sú Direct3D a OpenGL skupiny API funkcií, ktoré vykonávajú zložité výpočty v 3D priestore. Umožňujú nízkoúrovňový prístup k 3D akcelerátoru a hardvéru vôbec, čím výrazne urýchľujú grafické operácie.
Niektoré z často používaných efektov, funkcií a pojmov používaných v súvislosti s grafickými kartami.
Dnes je jedinou hnacou silou pre neustály vývoj grafických kariet hranie počítačových hier. Iné bežné činnosti nedokážu výpočtový výkon grafických kariet využiť ani na zlomok percenta. Dnešné grafické karty majú výkon a kapacitu pamäte väčšiu, ako celé počítače len spred niekoľkých rokov. Cieľom je dosiahnuť fotorealistickú kvalitu vrátane 3D zobrazenia, aby človek z obrazu a pohybu nedokázal určiť, či ide o reálne, alebo len o vykreslené postavy a objekty. Ak sa obzrieme dozadu na doterajší vývoj grafických kariet a tempo ich vývoja je jasné, že táto budúcnosť už nie je ďaleko.
Pre integrované grafické karty
Výrobcovia grafických kariet s čipmi od spoločností ATI a nVidia: