Sprzęt podzespoły urządzenia
2. Karty graficzne, tworzenie grafiki 3D
Budowa karty graficznej, zasada działania, standardy, parametry, GPU, RAMDAC, magistrale, interfejsy, złącza, OpenGL, DirectX, SLI, Crossfire, bufor ramki, potok graficzny, producenci: nvidia, ATI, tworzenie grafiki 3D, shadery, bufor Z, clipping, culling, renderowanie, filtrowanie anizotropowe, MIP mapping, antyaliasing, kanał alfa, jaką kartę kupić
Karta graficzna (ang. graphics card, czasami określana też mianem akcelerator grafiki) podzespół komputera, którego zadaniem jest wizualizacja danych cyfrowych w postaci grafiki komputerowej widocznej na monitorze lub innym urządzeniu multimedialnym
Karta graficzna przyjmuje zazwyczaj postać karty rozszerzeń montowanej w magistrali wejścia/wyjścia na płycie głównej Opcjonalnie układ graficzny może być zintegrowany z chipsetem płyty głównej
Budowa karty graficznej
Mimo dużego zróżnicowania na rynku kart graficznych podstawowe elementy są identyczne w każdej karcie:
- procesor graficzny GPU
- pamięć RAM
- konwerter cyfrowo-analogowy RAMDAC
- złącze magistrali
- BIOS karty
- zestaw wyjść (złącz)
- wbudowany akcelerator 3D
Do karty dołączona zostanie także płyta ze sterownikami oraz dodatkowym oprogramowaniem
Procesor GPU
Procesor graficzny (ang. Graphics Processing Unit, koprocesor graficzny) jest główną jednostką obliczeniową każdej karty graficznej; od jego wydajności w dużej mierze zależy wydajność całego podsystemu graficznego w komputerze
Nazywany też koprocesorem, gdyż początkowo jego podstawowym zadaniem było odciążenie głównego procesora CPU od obliczeń związanych z przetwarzaniem grafiki 2D oraz 3D (Two/Three Dimensional Graphics) Jednak współczesne wyrafinowane układy graficzne GPU wiele operacji wykonują wielokrotnie szybciej niż tradycyjne mikroprocesory, dlatego coraz częściej mówimy o nich General Purpose GPU - procesor graficzny do obliczeń ogólnego przeznaczenia
Pamięć RAM
Pamięć operacyjna RAM karty graficznej (ang. Random Access Memory, pamięć o dostępie swobodnym) pamięć operacyjna stanowiąca przestrzeń roboczą procesora GPU, przechowuje aktualnie przetwarzane dane graficzne
Od wielkości pamięci RAM [MB] karty zależy:
- liczba wyświetlanych kolorów w grafice 2D
- jakość i rozmiary nanoszonych tekstur w grafice 3D
Równie ważnymi parametrami pamięci są:
- częstotliwość taktowania pamięci [MHz], np. 1800 MHz
- szerokość szyny pamięci [bit], która określa ile bitów jednocześnie może przesyłać pamięć, np. 256 bitów
Jeżeli częstotliwości taktowania karty podano jako dwie liczby, to pierwsza wskazuje na taktowanie układu GPU, druga pamięci – np. 700/1800 MHz. Najnowsze karty posiadają pamięć oznaczaną jako GDDR (DDR5 SDRAM)
Konwerter RAMDAC
Konwerter cyfrowo-analogowy (ang. Random Access Memory Digital-to-Analog Converter) zamienia sygnał cyfrowy generowany przez kartę graficzną na sygnał analogowy (w którym napięcie elektryczne jest proporcjonalne do wartości reprezentowanej liczby cyfrowej) możliwy do wyświetlenia na analogowym monitorze, telewizorze lub rzutniku
Magistrale wejścia/wyjścia
Magistrala wejścia wyjścia czyli rodzaj złącza na płycie głównej umożliwiający komunikację GPU z pozostałymi komponentami komputera, np. CPU oraz systemową pamięcią RAM
Kartę graficzną umieścić można w następujących magistralach (zależnie od szybkości przesyłania danych):
- PCI Express - do 16 GB/s
- AGP (ang. Accelerated Graphics Port) - do 2 GB/s
- PCI (ang. Peripheral Component Interconnect) - do 0.5 GB/s
- starsze magistrale: VESA, MCA, ISA
Magistrale wejścia/wyjścia
Magistrale wejścia/wyjścia
Rodzaj magistrali |
Przepustowość [MB/s] |
PCI |
133 |
AGP v1.0 prędkość 1x |
266 |
AGP v1.0 prędkość 2x |
533 |
AGP v2.0 prędkość 4x |
1066 |
AGP v3.0 prędkość 8x |
2133 |
PCIe v1.0 prędkość 1x |
250 |
PCIe v1.0 prędkość 2x |
500 |
PCIe v1.0 prędkość 4x |
1000 |
PCIe v1.0 prędkość 8x |
2000 |
PCIe v1.0 prędkość 16x |
4000 |
PCIe v2.0 prędkość 16x |
8000 |
PCIe v3.0 prędkość 16x |
16000 |
BIOS karty graficznej
BIOS karty graficznej (ang. Basic Input/Output System, podstawowy system wejścia/wyjścia) umożliwia działanie karty graficznej zanim zostanie wczytany sustem operacyjny oraz pozwala na wykonywanie instrukcji karty przez oprogramowanie systemowe
Wyjścia karty graficznej
Rodzaje złącz cyfrowych DVI
Złącze cyfrowe DVI (Digital Video Interface)
Cyfrowy standard przesyłania sygnału wideo, w odmianach DVI-I oraz DVI-A umożliwia także przesyłanie sygnału analogowego. Kabel łączący monitor z komputerem nie może być dłuższy niż 5m. DVI-D - obraz prawdziwie cyfrowy, przesyłany między cyfrowym wyjściem karty graficznej a cyfrowym wejściem monitora DVI-A - używany do podłączenia nowoczesnej karty graficznej z wyjściem DVI do monitora z wejściem analogowym DVI-I - zapewnia możliwość przesyłu sygnału analogowego źródła do analogowego monitora jak również cyfrowego sygnału źródła do cyfrowego monitora |
|
Rodzaje złącz cyfrowych DVI
Złącze cyfrowe DVI (Digital Video Interface)
Aby podłączyć analogową kartę graficzną do cyfrowego monitora należy użyć elektronicznego konwertera VGA to DVI-D Różnica pomiędzy wejściami typu Single Link a Dual Link polega na zwiększonej dwukrotnie mocy, szybkości i jakośc transmisji dla wejść Dual Link
Połączenie monitora z komputerem
Złącze HDMI (High Definition Multimedia Interface)
Jest to cyfrowy standard przesyłania sygnału audio/wideo umożliwiający transmisję w wysokiej rozdzielczości (HD) i dźwięku wielokanałowego. Stosowany w odtwarzaczach DVD, Blu-Ray, telewizorach typu LCD i plazmowych oraz konsolach do gier. Maksymalna długość okablowania: 15m
Złącze cyfrowe DisplayPort
Uniwersalny interfejs cyfrowy (zatwierdzony w maju 2006) opracowany przez VESA (Video Electronics Standards Association). Głównym zamierzeniem nowego standardu jest połączenie komputer-monitor lub komputer-system kina domowego (w tym np. projektory, telewizory itp.). DisplayPort już w swojej pierwszej wersji 1.0 osiągnął to, co HDMI udało się osiągnąć dopiero w wersji 1.3b czyli: maksymalna rozdzielczość 2560x1600, 24 bitowa głębia kolorów, maksymalna przepustowość sygnału w granicach około 10 Gb/s. Pełną specyfikację jesteśmy w stanie osiągnąć na kablu o długości 15 metrów, przy dłuższych kablach rozdzielczość zostaje zmniejszona do 1920x1080.
Oprogramowanie kart (sterowniki)
Sterowniki karty graficznej często niedoceniany i lekceważony element wyposażenia karty, mający jednak bardzo duży wpływ na wydajność podsystemu graficznego. Sterownik jest optymalizowany pod kątem współpracy z konkretnym układem graficznym GPU Należy pamiętać o pobraniu ze strony producenta najnowszej wersji sterowników do posiadanej karty graficznej
Interejsy API
Interfejs API (ang. Application Programming Interface) biblioteki stanowiące pomost pomiędzy oprogramowaniem multimedialnym a sprzętem typu karta graficzna, karta dźwiękowa. DirectX jest produktem firmy Microsoft, dostępnym dla systemów Windows oraz konsoli XBox. OpenGL to otwarta biblioteka graficzna - jest to zestaw funkcji umożliwiających budowanie złożonych trójwymiarowych scen z podstawowych figur geometrycznych. OpenGL dostępny jest w wielu systemach operacyjnych
Zestawienie parametrów karty
- producent układów graficznych, np. ATI, NVIDIA
- rodzaj złącza, np. PCI Express, AGP
- wielkość i rodzaj pamięci, np. 512 MB DDR4
- szerokość magistrali pamięci, np. 256 bit
- częstotliwość pracy pamięci w grafice 3D, np. 1800 MHz
- częstotliwość pixel shader, np. 1625 MHz
- częstotliwość pracy procesora graficznego, np. 700 Mhz
- częstotliwość pracy układu RAMDAC, np. 400 MHz
- rodzaj wyjść, np. DSUB, DVI, HDMI
- możliwość pracy w trybie SLI lub CrossFire
- zgodność programowa: DirectX, OpenGL, Shader Model
Tryb SLI
Tryb SLI (ang. Scalable Link Interface) rozwiązanie firmy NVIDIA, w którym obraz generowany jest przez co najmniej dwie karty graficzne połączone mostkiem SLI. Aby korzystać z trybu SLI, należy posiadać płytę główną oraz karty graficzne wspierające tą technologię.
Rodzaje SLI:
- Quad SLI (dwie karty graficzne mające po dwa układy GPU)
- 3-Way SLI (generowanie obrazu przez 3 karty graficzne)
- Hybrid SLI (generowanie obrazu przez kartę graficzną w złączu PCIExpress we współpracy z chipsetem graficznym na płycie głównej)
Tryb CrossFire
Tryb CrossFire (ang. skrzyżowany ogień) konkurencyjne rozwiązanie firmy ATI. Aby skorzystać z trybu CrossFire należy posiadać płytę główną oraz karty graficzne wspierające technologię. Początkowo karty działały w trybie master/slave, nowe płyty główne pozwalają łączyć karty bez konieczności korzystania z karty master. Karty rozszerzeń również połączone są mostkiem. Rodzaje CrossFire:
- CrossFire (generowanie obrazu przez dwie karty graficzne)
- CrossFireX (generowanie obrazu nawet przez 4 karty graficzne)
- Hybrid CrossFireX (generowanie obrazu przez kartę graficzną w złączu PCI-E we współpracy z chipsetem graficznym na płycie głównej)
Bufor ramki, potok graficzny
Bufor ramki (ang. frame buffer) jest częścią pamięci RAM karty graficznej przeznaczoną do przechowywania informacji o pojedynczej ramce (klatce) obrazu. W buforze przechowywane są informacje o wartości każdego piksela tworzącego ramkę
Potok graficzny (ang. graphics pipeline) droga przepływu danych pomiędzy interfejsem karty graficznej a buforem ramki
Najważniejszym komponentem w procesie tworzenia grafiki 3D jest procesor graficzny GPU. Proces tworzenia kolejnych ramek obrazu jest sekwencyjny. Płynność ruchu uzyskuje się przy generowaniu około 30 klatkach na sekundę. W grach komputerowych płynność ruchu uzyskamy przy min. 60 fps
Tworzenie grafiki 3D
Zależnie od rodzaju danych, wykorzystywany jest inny rodzaj cieniowania:
- Vertex Shader (cieniowanie wierzchołkowe) – jego zadaniem jest transformacja położenia wierzchołka w wirtualnej przestrzeni 3D i na współrzędne 2D na ekranie. Operuje 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
- Geometry Shader (cieniowanie geometryczne) – pozwala na dodawanie lub usuwanie wierzchołków z siatki wierzchołków (ang. mesh). Może być używane do proceduralnego tworzenia obiektów geometrycznych albo do dodawania objętościowych detali istniejących siatek wierzchołków |
|
- Pixel Shader (cieniowanie pikseli) – odpowiada za wyliczanie koloru pikseli. Direct3D używa terminu pixel shader, a OpenGL fragment shader. Cieniowanie pikseli jest zazwyczaj używane do oświetlenia sceny 3D
- Teksturowanie – proces nakładania bitmap na siatkę mesh obiektu 3D
Bufor Z (ang. Z-buffer) miejsce w pamięci (osobne dla każdego piksela) przeznaczone na zapamiętanie aktualnej wartości współrzędnej Z piksela. Wielkość bufora Z decyduje o precyzji widoczności (obecnie stosuje się Z-bufory 32-bitowe)
Clipping (ang. podcinanie) obiekty znajdujące się poza polem widzenia zostają wyeliminowane ze sceny
Culling (ang. wybijanie) obiekty zasłonięte przez inne obiekty zostają wyeliminowane ze sceny
Renderowanie nazywane też obrazowaniem lub prezentacją, obejmuje analizę modelu danej sceny 3D oraz utworzenie na jej podstawie dwuwymiarowego obrazu wyjściowego w formie statycznej lub animacji
Podczas renderowania rozpatrywane są m.in. odbicia, cienie, załamania światła, wpływy atmosfery, efekty wolumetryczne itd. Jest to bardzo czasochłonna operacja. Renderowanie może być przeprowadzane w praktycznie każdym programie do tworzenia grafiki trójwymiarowej, nie będącym wyłącznie programem do modelowania (modelerem, mesherem). Przykładami takich programów są np. 3ds Max, Cinema 4D, LightWave 3D, Blender.
Filtrowanie anizotropowe (ang. anisotropic filtering) metoda zapewniająca bardziej realistyczne odwzorowanie powierzchni skośnych, znajdujących się pod dużymi kątami
MIP Mapping technika teksturowania wykorzystywana w grafice trójwymiarowej, polegająca na wykorzystaniu tektur o niskiej i wysokiej rozdzielczości zależnie od odległości obserwatora od obiektu
Antyaliasing proces mający na celu zniwelowanie efektu aliasingu. W wypadku grafiki polega to na dodawaniu pikseli do rysunku, które zmniejszają kontrast pomiędzy obiektem a tłem, przez co ten pierwszy wydaje się bardziej gładki (zaokrąglony)
Bufor matrycowy (ang. stencil buffer) bufor przechowujący informacje o pixelach pozostających nieruchomo w scenie 3D lub pozostających w stałym, lecz względnym położeniu wobec jakiegoś obiektu. Pozwala to zmniejszyć obszar renderowania. Przykłady użycia: kokpity w symulatorach, cienie lub efekty postaci w grach
Kanał alfa (przenikanie) (ang. alpha blending) w grafice komputerowej jest kanałem, który definiuje przezroczyste obszary grafiki. Wartość zerowa oznacza całkowitą przezroczystość, zaś maksymalna - pełne zabarwienie
Opr. Adam Nawara |