Podzespoły komputerowe: karta graficzna.

article-thumbnail

Karta graficzna to karta rozszerzeń komputera odpowiedzialna za renderowanie grafiki i jej konwersję na sygnał zrozumiały dla wyświetlacza.                                                                                                                                                                                                                                          

Podzespoły komputerowe
KARTA GRAFICZNA

 

Karta graficzna to karta rozszerzeń komputera odpowiedzialna za renderowanie grafiki i jej konwersję na sygnał zrozumiały dla wyświetlacza. Większość kart graficznych (i wszystkie współczesne) składają się z następujących elementów:
Procesor graficzny (GPU), który jest odpowiedzialny za generowanie obrazu w pamięci obrazu.
– Pamięć VRAM – bufor ramki (ang. framebuffer) który przechowuje cyfrowe dane o obrazie, tekstury, dane geometrii sceny i innych zmiennych.
– Pamięć ROM – pamięć przechowująca dane i/lub firmware karty graficznej, obecnie realizowana jako pamięć flash EEPROM.
– RAMDAC (ang. Digital-to-Analog Converter) przetwornik cyfrowo-analogowy który jest odpowiedzialny za przekształcenie cyfrowych danych z pamięci obrazu na sygnał sterujący dla monitora analogowego; karty graficzne bez wyjścia analogowego nie posiadają tego przetwornika.
– Interfejs do systemu komputerowego, który umożliwia wymianę danych i sterowanie kartą graficzną obecnie to AGP bądź PCI-Express
– Interfejsy na slocie karty graficznej – zazwyczaj P&D, DFP, VGA, DVI, HDMI, DisplayPort.

Karta graficzna nVidia GeForce GTX 780 / źródło: Flickr.com

Najważniejsze funkcje współczesnych akceleratorów graficznych

Filtrowanie anizotropowe

Jest to technika poprawy jakości tekstu, stosowana zwłaszcza dla obiektów obserwowanych pod małymi kątami, znajdujących się w dużych odległościach od kamery. Przy obliczaniu wartości kolorów dla tekstury w danym punkcie wykorzystuje się różne rodzaje filtrowania w celu polepszenia jakości wyświetlana teksturowanego obiektu i uniknięcia niepożądanych efektów takich jak np.aliasing (zniekształcenia obrazu). Filtrowanie trójliniowe uwzględnia sąsiedztwo zadanego punktu w teksturze na podstawie odległości od obserwatora. W filtrowaniu anizotropowym sąsiedztwo jest wybierane w ten sposób, aby uwzględnić kierunek do kamery. W praktyce filtrowanie anizotropowe polega na stosowaniu różnych poziomów szczegółowości dla poszczególnych kierunków obserwacji tekstury – dla każdego poziomu szczegółowości tworzony jest zestaw mipmap dla każdego z kierunków.

Mapowanie wypukłości

Technika polega na użyciu tekstury, która nie jest jednak bezpośrednio wyświetlana, ale powoduje lokalne zakłócenia (obrót) wektora normalnego. Ponieważ każdy model oświetlenia w jakiś sposób wiąże kąt pomiędzy promieniem światła a wektorem normalnym, to rezultatem zakłóceń jest pojawienie się na obrazie złudzenia nierówności powierzchni. Efekt jest bardzo przekonujący, większość ludzi nie zwraca uwagi na fakt, że brzegi obiektu pozostały „niezakłócone”.

Efekty cząsteczkowe

W animacji komputerowej symulacje złożonych zjawisk (takich jak opady, dym, płomień czy pył), w których podstawowym obiektem jest duża grupa wirtualnych cząsteczek, traktowanych jak obiekty punktowe. Cząsteczki mają zwykle ograniczony czas istnienia, podlegają interakcji z otoczeniem, tj. odbijają się od przeszkód, ulegają również wpływom sił zewnętrznych (np. grawitacji, czy sile wiatru). W zależności od pożądanego efektu są reprezentowane na obrazie przez niewielkie obiekty – pojedyncze piksele, kreski, sprite itp. Ich wygląd i kolor może zależeć także od aktualnej prędkości, odległości od obserwatora i innych parametrów symulacji, np. czasu życia.

Antyaliasing; Full Scene Anti-Aliasing i inne

To zespół technik w informatyce służących zmniejszeniu liczby błędów zniekształceniowych aliasingu lub schodkowania obrazu, powstających przy reprezentacji obrazu lub sygnału o wysokiej rozdzielczości w rozdzielczości mniejszej. W grafice komputerowej rezultatem antyaliasingu jest tworzenie wrażenia wygładzenia krawędzi obiektów wyświetlanych na ekranie komputera (ekranie rastrowym). Innym rodzajem antyaliasingu jest supersampling (nadpróbkowanie) nazwane antyaliasingiem pełnoekranowym (FSAA ang. Full-Screen Anti-Aliasing). Jest to rozwiązanie polegające na użyciu tzw. brute force do rozwiązania problemu aliasingu. W tej technice obraz jest renderowany w rozdzielczości odpowiadającej wielokrotności rozdzielczości docelowej, a uzyskany tym sposobem dużo większy obraz jest dyskretyzowany do właściwej, niższej rozdzielczości. Są także inne rodzaje poza FSAA, chociażby takie jak MSAA, CSAA, TXAA, SMAA czy FXAA.

High Dynamic Range Rendering

To technika generowania sceny w grafice trójwymiarowej, której efektem jest renderowanie świata z realistycznym oświetleniem, przy użyciu szerszego niż normalnie zakresu jasności oświetlenia. Największa różnica dostrzegana jest w bardzo ciemnych lub bardzo jasnych fragmentach sceny, gdzie symulowane jest natężenie światła wykraczające poza zakres możliwy do osiągnięcia na ekranie monitora (np. efekt oślepienia po spojrzeniu na słońce). Technika ta pozwala oddać bardzo duże oraz bardzo małe (mniejsze niż 1/256) natężenie światła oraz koloru.

Pixel Shader

Cieniowanie pikseli jest jednostką odpowiadającą za wyliczanie koloru pikseli. Direct3D używa terminu „pixel shader”, a OpenGL – „fragment shader”. Piksele na wejście ich cieniowania są pobierane z rasteryzatora, który wypełnia wielokąty przesyłane z potoku graficznego. Cieniowanie pikseli jest najczęściej używane do oświetlenia sceny i innych powiązanych efektów, np. Bump- mappingu lub kolorowania.

Vertex Shader

Cieniowanie wierzchołkowe jest uruchamiane dla poszczególnych przetwarzanych wierzchołków. Jego zadaniem jest transformacja położenia wierzchołka w wirtualnej przestrzeni 3D na współrzędne 2D na ekranie. Cieniowanie wierzchołkowe może operować na takich własnościach wierzchołków jak położenie, kolor i współrzędne tekstur, ale nie może tworzyć nowych wierzchołków. Wyjście cieniowania wierzchołkowego jest wejściem dla następnego etapu w potoku, jakim jest albo cieniowanie geometryczne (jeśli jest obecne) albo rasteryzator (rasteryzacja – działanie polegające na jak najwierniejszym przedstawieniu płaskiej figury geometrycznej na urządzeniu rastrowym, dysponującym skończoną rozdzielczością).

Transform & Lighting

Inaczej transformacja i oświetlenie, jest to moduł w kartach graficznych, który przyspiesza obliczanie animacji. Jego brak powoduje konieczność większego wykorzystania procesora, przez co znacznie zmniejsza się płynność renderowania grafiki trójwymiarowej.

Sprzętowy układ T&L pozwala wykonywać skomplikowane obliczenia zmiennoprzecinkowe, które tworzą obraz 3D, obcinają (usuwają) obiekty znajdujące się poza obszarem sceny i przypisują każdemu wierzchołkowi wektor oświetlenia po uprzednim obliczeniu sceny i jej źródeł światła.

GPGPU

Inaczej obliczenia ogólnego przeznaczenia na układach GPU, to technika, dzięki której GPU, zwykle zajmujący się tylko obliczeniami związanymi z grafiką komputerową, umożliwia wykonywanie obliczeń ogólnego przeznaczenia, tak jak CPU. Dzięki temu wiele obliczeń, głównie obliczenia równoległe, można przeprowadzić znacznie szybciej.

PhysX

Silnik fizyki, czyli zestaw narzędzi programistycznych (SDK) umożliwiający uzyskiwanie w grach efektów specjalnych ściśle naśladujących zachowanie się rzeczywistych obiektów fizycznych. Silnik PhysX SDK umożliwia nadawanie obiektom podstawowych własności fizycznych (np. masy, położenia, prędkości, przyspieszenia) i definiowanie ich oddziaływań między sobą (np. poprzez zderzenia, tarcie, przeguby) oraz z otoczeniem (np. wskutek działania grawitacji, antygrawitacji, podmuchów wiatru). Biblioteka zawiera zaawansowane funkcje do detekcji zderzeń obiektów w czasie rzeczywistym, symulacji postaci i pojazdów w ruchu, przepływów cieczy i gazów (w tym przepływów turbulentnych), eksplozji, ruchu tkanin (np. na wietrze), a także odkształceń różnych obiektów (np. ściskania balonu czy zgniatania puszki). Silnik ten jest przykładem oprogramowania pośredniczącego, a jego podstawową rolą jest ułatwienie programistom gier komputerowych uwzględniania skomplikowanych oddziaływań fizycznych występujących we współczesnych grach komputerowych.

Poza tym karty graficzne oferują inne sprzętowe efekty, jak mgła, przezroczystość (dodatkowy kanał Alpha). Zasoby kart graficznych mogą być udostępniane innym stacjom roboczym sieci komputerowych. W obecnych topologiach sieciowych istnieje możliwość przesyłania obrazów na monitory innych stacji roboczych. Karty graficzne mogą być łączone pomiędzy sobą za pomocą technologii SLI (nVidia) i Crossfire (AMD).

Złącza interfejsów kart graficznych

D-SUB (D-Subminiature)

To interfejs transmitujący analogowy sygnał wideo, wykorzystywany m.in. przy monitorach kineskopowych i tańszych monitorach ciekłokrystalicznych oraz przy rzutnikach. 

Po lewej 15 pinowa wtyczka, zaś po prawej jej gniazdo

DVI (Digital Video Interface)

To interfejs transmitujący cyfrowy (i analogowy w niektórych odmianach) sygnał wideo, wykorzystywany m.in. przy monitorach ciekłokrystalicznych, zapewnia większej ostrości obrazu niż VGA. 

Po stronie lewej wtyczka, po prawej zaś gniazdo.

HDMI (High Definition Multimedia Interface)

To multimedialny interfejs wysokiej rozdzielczości który transmituje cyfrowy sygnał audio/wideo. Umożliwia transmisje obrazu wysokiej rozdzielczości i dźwięku wielokanałowego. Standard jest przeznaczony dla urządzeń typu odtwarzacze DVD i Blu-Ray, telewizory LCD i plazmowe oraz konsole do gier. HDMI może zastąpić także złącze DVI. 

Wtyczka HDMI i gniazdo HDMI

DP (Display Port)

To najnowszy standard przesyłania obrazu i dźwięku cyfrowego z wykorzystaniem jednego kabla. DP nie jest kompatybilny sygnałowo z innymi standardami cyfrowymi takimi jak np. DVI czy HDMI. DP umożliwia m.in. obsługę czterech monitorów w rozdzielczości 1920 na 1600 czy obsługę dźwięku ośmiokanałowego.

Wyczka i złącze DP