background image

Budowa i 

działanie      kart  

graficznych

background image

Budowa karty graficznej

(Pamięć) 

RAM

Karty 

graficznej

Układ 

graficzny 

 i 

RAMDAC

Wyjście 

monit.     

D-Sub

BIOS

kwarc          

(układ 

taktujący)

Łącze 

karty 

graficzne

j

background image

BIOS

• BIOS jest to ROM który można 

modyfikować

• W BIOS-ie zapisane są podstawowe 

instrukcje potrzebne do działania 
karty graficznej

background image

Łącza karty graficznej

• Łącza starego typu

– ISA 8 bitowe (przepustowośc 8 Mb)
– ISA 16 bitowe(przepustowośc 16 Mb)
– VESA Local Bus

(przepustowośc ok. 132 Mb)

– PCI

(przepustowośc 132 Mb)

• Łącza nowego typu

– AGP x1 (przepustowośc 264 Mb 32bity x66MHz)
– AGP x2 (przepustowośc 528 Mb) 
– AGP x4 (przepustowośc 1 Gb)
– AGP x8 (przepustowośc 2 Gb)
– PCI Express x16

(przepustowośc 4Gb w kazdą stronę 

16 bitów x 2,5 GHz)-na każde 10 bitów przesyłane są 2 

bity transmisji czyli -20%

background image

Łącza karty graficznej

Łącza kart graficznych ewoluowały wraz 

rozwojem komputerów, każda ich 

następna generacja potrafi szybciej 

przesłać dane przez co przyspiesza 

generowanie grafiki ale wymaga 

odpowiedniej płyty głównej z danym 

typem łącza co często wymusza 

wymianę płyty i nierzadko procesora

background image

RAM

• Taktowanie pamięci (MHz)

– Często taktowanie DDR RAM jest podawane mylnie, aby 

uzyskać rzeczywistą prędkość pracy należy podzielić przez dwa 

częstotliwość podawaną przez producenta

• Rodzaj pamięci (SDR, DDR, DDR2)

– SDR przesyła 1 bit na takt zegarowy

– DDR i DDR2 przesyła 2 bity na takt zegarowy

• Szerokość szyny pamięci (32,64,128,256 bit)

Zamieszczone parametry mają wpływ na szybkość 

pracy karty graficznej

background image

RAM

 

np.  

(

166 MHz x 64 bity / 8 = 1328 MB )

Model karty 

graficznej

Częstotliwoś

ć 

Szerokość 

szyny

Rodzaj 

pamięci

Przepustowość

GF 2 MX 200

166 MHz

64 bity

SDR

1328 MB

GF 2 MX

166 MHz

128 bit

SDR

2656 MB

GF 2 MX 400

166 MHz

64 bit

DDR

2656 MB

GF 5900 XT

350 MHz

256 bit

DDR

22400 MB

(21,8 GB)

background image

Ilość pamięci potrzebnej       

    dla danego trybu 

graficznego

Ilosć bitów / bajtów 

na pixel

1 bajt  =   
           8 
pixseli

1 bajt =    
               
4 pixsele

1 bajt =    
           2 
pixele

1 bajt =    
    1 pixel  
 

2 bajty =  
           1 
pixel

3 bajty =  
             1 
pixel

Liczba kolorów

2 kolory

4 kolory

16 
kolorów

256 
kolorów

65 tysiecy 
kolorów

16,7 
miliona 
kolorów

R

o

zd

zi

e

lc

zo

ś

ć

 e

k

ra

n

u

640 x 480

37,5 KB

75 KB

150 KB

300 KB

600 KB

900 KB

800 x 600 58 KB

117 KB

234 KB

468 KB

968 KB

1,37 MB

1024 x 
768

96 KB

192 KB

384 KB

768 KB

1,5 MB

2,25 MB

1280 x 
1024

160 KB

320 KB

640 KB

1,25 MB

2,5 MB

3,75 MB

background image

RAM

• Obecne karty graficzne posiadają 128 

lub 256 MB RAM, dlaczego ? 

– Karta graficzna w trybie 3D wykorzystuje 

też pamięć na tzn. Bufor–Z który zajmuje 
w zależności od trybu graficznego i jego 
głębokości (16,24,32 bity) tyle co bufor 
ramki 

– Druga ważna rzecz to w pamięci karty 

graficznej przechowywane są tekstury 
wykorzystywane w programach 3D

background image

Bufor – Z ilość pamięci

        

Głębokość 

bufora

Rozdzielczość

16 bit

24 bity

32 bity

640 x 480

600 KB

900 KB

1,17 MB

800 x 600

968 KB

1,37 MB

1,82 MB

1024 x 768

1,5 MB

2,25 MB

3 MB

1280 x 1024

2,5 MB

3,75 MB

5 MB

background image

Bufor – Z

   Ma za zadanie 

wyeliminować 

niewidoczne punkty 

tekstury które 

„znajdują się dalej 

od obserwatora” i są 

zasłonięte przez 

inne, by układ 

graficzny mógł 

przyspieszyć 

obróbkę  kolejnej 

klatki obrazu

background image

    Tekstury

• Tekstury to bitmapy nakładane 

na obiekt

• Karta graficzna dla ułatwienia 

tworzenia obrazu tworzy 

bitmapy w różnych rozmiarach 

które są nakładane na 

odpowiedniej wielkosci trójkąt  

tworzący szkielet sceny 3D

• Dla przykładu tekstura 

1024x1024 punkty i 24 

bitowej wartości koloru plus 8 

bitowej wartości 

przeżroczystości tzw. Kanał 

alfa zajmuje 4 MB

background image

Wyświetlanie kolorów

• Przy ilości kolorów 256 lub mniej 

RAMDAC pobiera dane z  RAMu karty 
graficznej (bufora ramki) gdzie jest 
zapisany numer rejestru koloru  z 
którego ma pobrać pełną 24 bitową  
daną o kolorze

background image

Wyświetlanie kolorów

• Przy 16 bitowym kolorze dane o 

kolorze znajdują się w pamięci karty 
ale nie ma on pełnej skali barw

– R

 5 bit (32 możliwości)

– G

 6 bit (64 możliwości)

– B

 5 bit (32 możliwości)

• Co daje 32 x 64 x 32 = 65536 kolorów

background image

Wyświetlanie kolorów

• Przy 24 bitowym kolorze (3 bajty)

– R

 8 bit (256 możliwości)

– G

 8 bit (256 możliwości)

– B

 8 bit (256 możliwości)

• Co daje 256 x 256 x 256 = 16777216 

kolorów

– Czym wyższa wartość bajta tym na wyjściu 

RAMDAC generuje wyższe napięcie co odpowiada 
jaśniejszemu kolorowi  składowej punktu 

background image

RAMDAC

• RAMDAC wg zadanych parametrów o 

rozdzielczości i odświeżaniu obrazu na monitorze 
cały czas pobiera dane cyfrowe o obrazie z 
pamięci karty graficznej (tzw. Bufor ramki) i 
generuje analogowy sygnał do monitora 
osobnymi liniami  by powstał tam obraz.

– R  kolor czerwony 

– G  kolor zielony

– B  kolor niebieski

– Odchylanie poziome
– Odchylanie pionowe

background image

RAMDAC

• Przy rozdzielczości 800 x 600 ,16 bitowym 

kolorze ( 65536 kolorów) i odświeżaniu 75 Hz 

RAMDAC w ciągu sekundy potrzebuje 

odczytać 800 x 2 bajty (16 bit) x 800 = 

960000 bajtów x 75 Hz = 72.000.000 bajtów 

(68,6 MB).

• Jego częstotliwość pracy powinna wynosić 

ok. 800 x 600 x 75 Hz + 5% =38 MHz

• Wyższa częstotliwość pracy RAMDAC 

umożliwia wyższe częstotliwości odświeżania 

przy wyższych rozdzielczościach. 

background image

Budowa karty graficznej

background image

Budowa karty graficznej

• Jednostka Transform & Lighting odciąża 

procesor komputera od obliczeń związanych z 

 transformacjami geometrycznymi i 

oświetleniem danej sceny

• Jednostki Vertex Shader służą do 

modyfikacji wierzchołków siatek obiektów

• Jednostki Pixel Shader służą do modyfikacji 

tekstur nakładanych na obiekty

• Jednostki Rastrujace  zajmują się 

obrabianiem tekstur i rasteryzacją sceny 

background image

Budowa karty graficznej

• Częstotliwość pracy układu 

graficznego

•  Ilość jednostek rastrujących 
• Ilość jednostek vertex i pixel Shader
• Jakość sterowników 

• mają wpływ na wydajność karty 

graficznej

background image

• Karta graficzna, aby 

wyświetlić na 
ekranie gotowy 
obraz, musi 
wykonać szereg 
czynności na 
danych 
otrzymanych od 
aplikacji 3D. Te 
realizowane kolejno 
kroki obliczeniowe  
nazywane są 
strumieniem 
graficznym (ang. 3D 
Graphics Pipeline)

background image

    Strumień graficzny można 

podzielić na trzy główne fazy 
obliczeń :

A Operacje geometryczne, takie jak 

skalowanie obiektów wraz z 
kalkulacjami oświetlenia

B Rendering czyli proces nakładania 

tekstur i cieniowania

C Rasteryzacja polegająca na 

przygotowaniu gotowego obrazu 
do wyświetlenia na monitorze

background image

• Pierwszym krokiem przy tworzeniu obrazu 3D jest 

wyznaczenie współrzednych X,Y,Z dla wszystkich punktów 
opisujących obiekty znajdujące się na scenie

• Kolejnym krokiem jest teselacja, czyli pogrupowanie węzłów 

w trójki, na których przeprowadza się dalsze obliczenia

• Następną czynnością jest ustawienie geometrii polegające 

na dopasowaniu sceny 3D do punktu patrzenia.

background image

   
   Następnym 

elementem jest 
kadrowanie sceny , 
umożliwia to 
przyspieszenie 
obróbki strumienia 
graficznego poprzez 
zmniejszenie 
obliczeń 
wykonywanych 
przez karte 
graficzną (jednostka 
T&L) bądź procesor 
komputera

background image

• Kalkulacja oświetlenia polega na przypisaniu każdemu węzłowi 

wektora o wartościach odpowiadających natężeniu, kierunkowi i 

barwie światła padającego na dany wierzchołek oświetlonej bryły

• Dynamiczne operacje modyfikacji położenia węzłów siatki i zmiany 

wartości wektorów oświetlenia wykonywane są dzięki modułom 

Vertex Shader

background image

• Teksturowanie - karta 

graficzna przygotowuje 
odpowiednie wielkości 
bitmapy.

• Następną czynnością 

jest wycinanie 
odpowiedniego 
fragmentu pasującego 
do mapowanego 
trójkąta. Operacja ta 
nazywa się clippingiem.

background image

• Mając przygotowane 

tekstury karta przystępuje 

do ich nakładania. Proces 

ten nazywa się 

mapowaniem.

• Powierzchnia może 

posiadać kilka na siebie 

nałożonych warstw tekstur, 

niektóre z nich mogą być 

półprzeźroczyste.

• Podczas mapowania 

przeprowadzane są 

również inne procesy takie 

jak filtrowanie tekstur. 

background image

    Podczas generowania 

sceny 3D wszystkie 
przetwarzane obiekty sa 
w trójwymiarowej 
przestrzeni. Pózniej będą 
one wyświetlone na 
płaskim ekranie 
monitora. Aby uniknąć 
zniekształceń  na 
ekranie monitora stosuje 
się tzw. algorytmy 
korekcji perspektywy.

background image

• Ostatnią fazą 

teksturowania są 
modyfikacje nałożonych 
już na obiekty bitmap. 
Akcelerator wykonuje 
je, wykorzystując do 
tego celu jednostki 
Pixel Shader
Otrzymany efekt 
końcowy zależy od 
fantazji programisty. 
Instrukcje shaderowe 
mogą na przykład 
rozkruszyć cegłę, jak na 
przykładzie obok.

background image

• Sama, nawet najlepsza tekstura nie 

odtworzy gry świateł i cieni, 
obserwowanej w codziennym życiu, 
aby to uzyskać potrzebne jest 
cieniowanie.

• Cieniowanie polega na zamianie 

wektorów natęzenia światła 
obliczonych dla każdego trójkąta a 
więc i tekstury nakładanej na niego.

background image

Sposoby cieniowania a 

wrażenie gładkości powierzchni

• Cieniowanie płaskie 

(najprostsze)

• Cieniowanie Gourauda

• Cieniowanie Phonga 

(złożone, daje refleksy 

światła)

background image

• Ostatnim etapem jest rasteryzacja 

czyli zamiana gotowej sceny 
trójwymiarowej na zbiór pikseli 
(bitmapę), które wyświetlone zostaną 
na ekranie monitora.

• W czasie procesu rasteryzacji jest 

wykorzystywany Z-bufor.

• Można również wykorzystać metodę 

antyaliasingu czyli  odpowiednim 
rozmyciu krawędzi wzdłuż rysowanej 
lini czy granicy kolorów.

background image

• Po rasteryzacji w buforze 

ramki mamy 
przygotowaną do 
wyświetlenia na na 
ekranie scenę 3D,  w 
zależności od ilości 
szczegółów, wielkości 
sceny 3D  i szybkości 
pracy karty graficznej na 
ekranie monitora 
uzyskujemy mniej lub 
bardziej płynną animacje  
o mniejszej lub większej 
liczbie szczegółów


Document Outline