Karta graficzna
Wprowadzenie Karta graficzna karta rozszerzeń odpowiedzialna za generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera informacji o obrazie oraz odpowiednie wyświetlanie tego obrazu za pośrednictwem monitora. Karty graficzne możemy podzielić na: - Karty graficzne zintegrowane z płytą główną (a dokładniej z mostkiem północnym) Z powodu małych rozmiarów są one dużo wolniejsze od kart nie zintegrowanych. Jest to mniej popularny typ kart graficznych. - Karty graficzne pracujące jako oddzielne układy Można je wymieniać, są dużo szybsze od kart zintegrowanych. Współczesne karty graficzne do komunikacji z komputerem wykorzystują interfejs AGP lub PCIe.
Budowa karty graficznej
Budowa karty graficznej 1 - wentylator 2 pokrywa odpowiednio rozprowadzająca zimne powietrze 3 radiatory 4 rurki cieplne 5 procesory graficzne GPU 6 pamięci VRAM
Elementy składowe karty graficznej - Pamięć obrazu (VideoRAM), bufor ramki Jest to odmiana kości pamięci RAM stosowana w kartach graficznych, przeznaczona wyłącznie do przetwarzania informacji o obrazie, teksturach oraz danych o głębi (z pamięci jest w tym celu wydzielany tzw. Bufor Z). - RAMDAC (Random Access Memory Digital to Analog Converter) lub po prostu DAC jest to układ przeznaczony do zmiany sygnału cyfrowego na analogowy. RADMAC pobiera dane o obrazie wygenerowanym przez procesor karty graficznej. RAMDAC zamienia je na sygnały analogowe i wysyła do monitora. Konwerter zawiera 4 funkcjonalne bloki: pamięć SRAM, służącą do przechowywania mapy kolorów, oraz 3 przetworniki cyfrowo-analogowe (C/A), po jednym dla każdego koloru podstawowego modelu RGB. Częstotliwość pracy układu RAMDAC zależy od ustawionej rozdzielczości i częstotliwości odświeżania. W przypadku kart wyłącznie z wyjściem cyfrowym RAMDAC nie ma zastosowania.
Elementy składowe karty graficznej VRAM - jest to pamięć podlegająca jednoczesnemu zapisywaniu (przez kontroler graficzny) i odczytywaniu (przez przetwornik RAMDAC). Gdyby obydwie te czynności musiały by być wykonywane w jednym bloku pamięci przetwornik RAMDAC musiał by czekać na ukończenie zapisywania. Podobnie z było by z odczytem, kontroler karty graficznej musiał by czekać na odczytanie przez przetwornik wszystkich danych. Aby te dwa procesy nie kolidowały ze sobą wprowadzono podwójne buforowanie (Dual Buffering). Kontroler graficzny ma do dyspozycji dwa bloki pamięciowe. Jeśli jeden z nich wypełniany jest świeżą treścią (Back Buffer), drugi można oddać do dyspozycji RAMDAC, by przekazał kompletną zawartość na ekran (Front Buffer). W ten sposób zawsze jakiś bufor jest używany, a jakiś jest gotów do zapisu i wspomniane dwa procesy nie zakłócają się wzajemnie. Podwójne buforowanie nie zawsze się jednak sprawdza i mimo dwóch buforów i tak występują opóźnienia. Dlatego wprowadzono buforowanie potrójne i poczwórne.
Elementy składowe karty graficznej - Interfejs do systemu komputerowego umożliwia wymianę danych i sterowanie kartą graficzną, najczęściej jest to PCI, AGP, PCIe - Interfejs do podłączenia monitora D-SUB (VGA), DVI, HDMI, DisplayPort - Pamięć ROM pamięć przechowująca dane (np. dane generatora znaków) lub firmware karty graficznej, obecnie realizowana jako pamięć flash EEPROM
Najważniejsze funkcje karty graficznej - Technologia przetwarzania i oświetlenia (Transform and Lighting), T&L W karcie graficznej jest odpowiedzialny za przyspieszanie obliczeń animacji. Jego brak obciąża procesor, przez co znacznie zmniejsza się płynność renderowania grafiki trójwymiarowej. Technologię T&L obecnie zastępuje cieniowanie (Shader). - Shader (cieniowanie) opisuje właściwości pikseli oraz wierzchołków. Cieniowanie pozwala na skomplikowane modelowanie oświetlenia i tekstur. Jest wymagająca obliczeniowo. Biblioteki graficzne Direct3D i OpenGL używają trzech typów cieniowania: Vertex Shader (Cieniowanie wierzchołkowe) Geometry Shader (cieniowanie geometryczne) Pixel Shader lub Fragment Shader (cieniowanie pikseli) Obecnie zniknął podział panujący dotychczas na Pixel i Vertex Shader. Obliczenia, jakimi te odrębne jednostki się zajmowały, są teraz wykonywane przez jednolite jednostki obliczeniowe, które są dynamicznie przydzielane do takiego typu obliczeń, jaki jest aktualnie potrzebny. Rozwiązanie takie zostało nazwane przez ATI Stream Processors a przez nvidię Unified Shaders.
Najważniejsze funkcje karty graficznej - Antyaliasing Technologia wygładzanie krawędzi (łuków, okręgów oraz innych krzywych) poprzez nałożenie dodatkowych pikseli o mniejszym nasyceniu i jasności niż piksele obiektu oraz poprzez niewielką zmianę położenia pikseli w pobliżu krawędzi. Ze względu na coraz większe rozdzielczości monitorów (a tym samym mniejsze rozmiary plamek) antyaliasing nie jest już tak potrzebny. - Efekty cząsteczkowe Symulacje zjawisk (takich dym, pył, deszcz, ogień) budowanych z małych wirtualnych cząsteczek traktowanych jak obiekty punktowe które podlegają prawom fizyki oraz interakcji z otoczeniem. - Mapowanie wypukłości (bump mapping) Sposób teksturowanie obiektów symulujący wypukłości powierzchni, bez ingerencji w geometrię obiektu trójwymiarowego. Efektem może być gładka kula wyglądająca jak by była nierówna. - Filtrowanie anizotropowe - Technika filtrowania tekstur poprawiająca ich jakość.
Najważniejsze funkcje karty graficznej - HDR rendering, rendering z użyciem szerokiego zakresu dynamicznego (High Dynamic Range Rendering) Sposób generowania sceny trójwymiarowej przy użyciu większego niż normalnie zakresu jasności. Efektem tej technologii jest scena z realistycznym oświetleniem.
Architektura GCN Graphics Core Next Dąży do jak najlepszego wykorzystania w obliczeniach CPU i GPU.
GCN
GCN Architektura VLIW (ang. Very Long Instruction Word) jest świetna w obliczeniach graficznych, a niekoniecznie dobra do wykorzystywania GPU do akceleracji obliczeń, którymi zajmują się CPU. AMD AMD poświęciło dużo czasu, aby wykonać odpowiedni model programowy procesora (ang. Instruction Set Architecture, ISA). Architektura VLIW jest bardzo wydajna w zadaniach ściśle graficznych, ale w obliczeniach GPGPU da się zrobić znacznie więcej, nie posługując się rozbudowanymi instrukcjami. I właśnie dlatego narodził się nowy model programowy.
GForce 7800 GTX
Akceleracja przez GPU W obliczeniach akcelerowanych na GPU wymagająca obliczeniowo część zadań aplikacji przekazywana jest do wykonania na układach GPU, podczas gdy pozostała część kodu nadal jest wykonywana przez CPU. Z punktu widzenia użytkownika aplikacja działa po prostu znacznie szybciej.
Wydajność CPU kontra GPU Jednostka CPU składa się z kilku rdzeni zoptymalizowanych pod kątem sekwencyjnego przetwarzania szeregowego, natomiast masowo równoległa architektura jednostki GPU składa się z tysięcy mniejszych, bardziej efektywnych rdzeni zaprojektowanych z myślą o przetwarzaniu wielu zadań jednocześnie.
CPU vs GPU
Schemat blokowy karty 2D
Schemat blokowy karty 3D
Rodzaje złączy PCI-Express
Chłodzenie GPU Pasywne chłodzenie realizowane jest poprzez zastosowanie radiatora i pasty. Aktywne chłodzenie realizowane jest poprzez zastosowanie wentylatora zasilanego ze specjalnego złącza.
SLI (z ang. Scalable Link Interface) Możliwość połączenia kilku kart graficznych w jednym komputerze. Warunkiem koniecznym jest posiadanie takiej liczby portów PCI-E na specyfikowanej płycie głównej ile kart graficznych chcemy podłączyć. SLI stosowane są dla kart nvidia. Stosowane są wersje 2-way, 3-way i 4-way. Quad SLI umożliwia pracę dwóch kart graficznych posiadających łącznie cztery procesory. Zasada działania SLI Oba układy podłącza się przy wykorzystaniu mostka (bridge).jedna z kart będzie główną czyli master a druga slave. Na samym początku obraz zostaje podzielony na pół. Jeśli jednak w trakcie analizy okaże się, że jedna z części wymaga więcej obliczeń, linia jest przesuwana. Dzięki temu podział pracy zostaje równomiernie rozłożony na obie karty graficzne. Po zakończeniu obliczeń, karta slave przesyła wygenerowany obraz do układu zarządzającego, by ten mógł połączyć obie części. W ten sposób renderowana jest klatka po klatce.
2-way
3-way
4-way
Crossfire Możliwość połączenia kilku kart graficznych w jednym komputerze. Warunkiem koniecznym jest posiadanie takiej liczby portów PCI-E na dowolnej płycie głównej ile kart graficznych chcemy podłączyć. Crossfire stosowane są dla kart AMD. Stosuje się tri-fire, Quad-fire. Zasada działania Crossfire W przypadku Crossfire, podobnie jak w SLI, obie karty graficzne łączy się przy pomocy mostka (bridge). Nie zawsze jest on wymagany, szczególnie w nowych modelach. Należy jednak pamiętać, by układy były ze sobą kompatybilne, dlatego też najbezpieczniejszym rozwiązaniem jest połączenie dwóch identycznych modeli. Przy tym wymagany jest specjalny kabel CrossFire.
Crossfire bez mostka
Crossfire z mostkiem Mostek dla crossfire
Stosowanie kilku kart graficznych - Znaczny wzrost poboru prądu u wydzielanego ciepła przez system komputerowy - Łączna pojemność pamięci kart nie sumuje się. Dwie karty z 2GB RAM każda nie dają 4GB RAMu graficznego. - Jest możliwe połączenie kart o różnej pojemności RAM. Jednak w takim wypadku konfiguracja będzie się zachowywać, jak najmniejsza karta. -Gdy użyjemy dwóch takich samych kart, ale jedna będzie podkręcona, a druga nie, to konfiguracja będzie się zachowywać, jak by obie karty były niepodkręcone. -Konfiguracja wielokartowa powoduje dodatkowy narzut na procesor, co skutkuje obniżeniem wydajności setupu w grach, w miejscach, gdzie moc procesora się najbardziej liczy (tzw. "miejsca procesorowe"). -Multi-GPU ma zastosowanie tylko wówczas, gdy korzystamy z dużych rozdzielczości (np.. 4K), wysokich poziomów detali. Przy rozdzielczościach niższych niż Full HD, multi-gpu kompletnie traci rację bytu. -Multi-GPU nie jest poprawnie obsługiwane przez wszystkie gry. -Jeśli występuje wzrost wydajności spowodowany dodaniem kolejnej karty, to najbardziej "podbijana" jest maksymalna ilość generowanych klatek na sekundę. Wartość minimalnych FPS, czyli ta która najbardziej wpływa na komfort rozgrywki, najczęściej nie podnosi się zbytnio. -komputer głośniej chodzi -pojawiają się problemy ze sterownikami
Oprogramowanie Do poprawnego działania karty graficznej niezbędne jest zainstalowanie właściwych sterowników dla danego systemu operacyjnego.
API (z ang. Application Programming Interface) Pojawił się wraz z systemem Windows 95 Stanowi on pomost miedzy sprzętem typu karta graficzna i dźwiękowa, a oprogramowaniem multimedialnym. Pozwala na komunikowanie się aplikacji między sobą (np. twojego programu z systemem operacyjnym). Zdefiniowane jest na poziomie kodu źródłowego (np. biblioteka dla danego języka programowania). Zadaniem API jest dostarczenie odpowiednich specyfikacji podprogramów (np. funkcji w bibliotece), klas obiektów (definiują obiekt w j. programowania) i wymaganych protokołów komunikacyjnych (np. http). DirectX OpenGL
DirectX Aplikacje optymalizowane są jedynie pod katem współpracy z DirectX, bez konieczności dostosowywanie ich do potrzeb sprzętu. Elementy składowe Direct X: a) DirectX Graphics składa się z: Direct2D obsługuje grafikę rastrową Direct3D obsługuje grafikę 3D DirectGI umożliwia bezpośrednią obsługę kart graficznych b) DirectInput przetwarza dane pochodzące z klawiatury, myszy i innych kontrolerów c) DirectSound służy do odtwarzania i nagrywania dźwięku Najnowszy DirectX 12 przeznaczony jest dla Windows 10 Istnieje także pakiet DirectX SDK (Software Development Kit), który wspiera rozwój grafiki komputerowej, umożliwiając programistom używającym języków takich jak C#, C++ na oprogramowywanie aplikacji multimedialnych. W ramach SDK znajduje się dokumentacja, przykładowe kody źródłowe oraz biblioteki DirectX, dzięki którym można tworzyć zaawansowaną grafikę komputerową. Obecnie DirectX SDK zostało zintegrowane z Windows SDK.
Open GL (z ang. Open Graphics Library) Służy do wspomagania tworzenia grafiki komputerowej przez karty graficzne za pomocą zestawu kilkuset specjalnych funkcji. OpenGL zaimplementowany został w większości systemów operacyjnych w przeciwieństwie do DirectX, który jest kompatybilny jedynie z platformą Microsoft Windows. OpenGL działa w architekturze klient-serwer. Klientem w tym przypadku jest aplikacja wykorzystująca OpenGL, która zleca operacje graficzne do wykonania, a serwerem aktualnie używana implementacja OpenGL (np. w sterowniku karty graficznej). Zwykle klient i serwer znajdują się na tej samej maszynie, jednak nie jest to konieczne. Jednocześnie dzięki zastosowaniu zunifikowanego protokołu komunikacji wyświetlanie może odbywać się na zupełnie innej platformie niż ta, na której działa aplikacja.
Technologia PhysX Jest to sterownik dla kart graficznych nvidia. PhysX to specjalny silniki fizyki, wykorzystywany do tworzenia gier komputerowych przez producentów. Umożliwia on uzyskanie w grach wideo specjalnych efektów naśladujących zachowanie rzeczywistych obiektów fizycznych.
Technologia CUDA Opracowana przez firmę NVIDIA. Jest to równoległa architektura obliczeniowa, która zapewnia radykalny wzrost wydajności obliczeń, dzięki wykorzystaniu mocy układów GPU (graphics processing unit - jednostka przetwarzania graficznego). Stosowana w przetwarzaniu wideo, astrofizyce, biologii obliczeniowej i chemii, symulacji dynamiki płynów, rekonstrukcji obrazu w tomografii komputerowej i znacznie więcej. Obliczenia równoległe z CUDA Obecnie następuje odchodzenie od przetwarzania centralnego na CPU do przetwarzania równoległego na układach CPU i GPU. Aby umożliwić korzystanie z tego nowego modelu obliczeniowego, firma NVIDIA opracowała równoległą architekturę obliczeniową CUDA, wykorzystywaną przez dostępne już teraz układy GeForce czytesla, które reprezentują znaczącą bazę docelową dla twórców oprogramowania. Dla graczy nie ma znaczenia ta technologia. Jej główne zastosowania to obliczenia inżynierskie czy grafika komputerowa.
GPU Boost GPU Boost pracuje w tle, dynamicznie zwiększając częstotliwość taktowania GPU zależnie od warunków. Funkcja ta działa zupełnie autonomicznie, nie korzystając z predefiniowanych profilów do konkretnych gier. Nie wymaga także uwagi użytkownika.
Technologia Gamestream Posiadając szybki ruter (802.11 n, najlepiej w wersji 5 GHz lub 802.11ac) oraz dobrą kartę GeForce, ona bowiem zajmie się generowaniem grafiki, aby następnie przesłać efekty za pośrednictwem Wi-Fi na urządzenie z serii Shield (zarówno Shield Tablet, jak i Nvidia Shield). I już za pośrednictwem konsoli można uruchamiać gry zainstalowanie na pececie. Czyli komputer zajmuje się częścią obliczeniową, a użytkownik widzi efekty na tablecie i może grać w Crysis 3 (w świetnej jakości!) na kanapie!
Technologia Ansel Umożliwia wykonywanie zdjęć podczas gry w bardzo dobrej jakości.
Technologia Eyefinity Opracowana przez ATI pozwalająca jednej karcie graficznej obsługiwać wiele monitorów (standardowo 3 a w przypadku Eyefinity6, jak sama nazwa wskazuje jest to 6 monitorów). Technologia Eyefinity pozwala na dowolne ułożenie monitorów.
Technologia Zerocore Układ Radeon jest zdolny do przejścia w tryb zerowego poboru mocy, zwanego przez producenta głębokim spoczynkiem (ang. Long Idle). Polega on na tym, że jeżeli użytkownik jest z dala od komputera, ekran po jakimś czasie wygasza się, wentylator na karcie przestaje się kręcić, a układ graficzny przechodzi w tryb minimalnej aktywności, co oznacza zapotrzebowanie rzędu 3 W. Specjalnie zaprojektowany blok w strukturze GPU przedstawia się w systemie operacyjnym jako aktywne urządzenie PCI Express wyświetlające obraz i jednocześnie odcina napięcie zasilające w całej pozostałej części procesora graficznego. W normalnym trybie spoczynku, w którym monitor generuje obraz statyczny, karta pobiera z gniazdka 15 W. Osiągnięto to przez znaczące spowolnienie taktowania układu graficznego (do 27 MHz) i pamięci.
Technologia mantle Mantle (ang. płaszcz) to nazwa nowego API... API to skrót od Application Programming Interface, co oznacza interfejs do programowania aplikacji. Określają zestaw standardowych poleceń: program wydaje polecenie jakiegoś API, a system, sterowniki i sprzęt realizują je na swój sposób. Programista nie musi wiedzieć, na jakim sprzęcie będzie działał jego kod, nie musi dostosowywać go do mniej lub bardziej popularnych podzespołów. Martwi się tylko o zgodność z API, którą zapewniają mu dostawcy sprzętu i systemu operacyjnego. Mantle jest zatem nowym API służącym do komunikacji między programami a kartami graficznymi w architekturze GCN. Na pierwszy rzut oka to dość wąska specjalizacja: mamy przecież DirectX i OpenGL, interfejsy, które mogą się komunikować z każdą zgodną z nimi kartą graficzną. Zamysłem AMD było stworzenie niskopoziomowego interfejsu. Niskopoziomowy oznacza, że poziom abstrakcji jest niski, czyli polecenia API są bardzo bliskie językowi maszynowemu procesora graficznego. W wysokopoziomowym interfejsie jedno uniwersalne polecenie często musi być tłumaczone na wiele dalszych, zrozumiałych dla procesora graficznego. Zaletą niskopoziomowego API jest to, że programista ma znacznie większą kontrolę nad procesorem graficznym: można tak ułożyć procedury programu, żeby korzystały tylko z najszybszych, najbardziej wydajnych operacji tego układu. Polecenia niskopoziomowego API odpowiadają z grubsza funkcjom konkretnej architektury sprzętu, API nie będzie zgodne z diametralnie odmiennymi architekturami.
Technologia DDM Audio Nie nakłada się dźwięk z trzech niezależnych źródeł.
UVD - Unified Video Decoder Jest jednostka dekodująca wideo, stworzona przez ATI Technologies, która ma sprzętowo wspomagać dekodowanie H.264 oraz VC-1. H.264 to kodek video dla systemu MPEG. Jest to część technologii ATI AVIVO HD.
Synchronizacja G-Sync w nvidia Poprzez synchronizację z układem GPU i częstotliwości odświeżania obrazu wyświetlacza, technologia G-SYNC eliminuje problem rozchodzenia się obrazu oraz minimalizuje opóźnienie i zacinanie się wyświetlanych treści, zapewniając najbardziej płynną i wyraźną oraz zapierającą dech w piersiach rozgrywkę. Gdy liczy się każda klatka, potrzebujesz fenomenalnej jakości grafiki i animacji, którą może Ci zapewnić jedynie technologia NVIDIA G- SYNC. Sceny pojawiają się natychmiast. Obiekty są wyraźniejsze i bardziej realistyczne, a Ty możesz cieszyć się płynną rozgrywką oraz krótszym czasem reakcji monitora, gwarantującym Ci możliwość szybszego wykonania ruchu, a co za tym idzie, zapewniającym znaczną przewagę w grach. Każda gra wygląda teraz i działa tak, jak powinna.
Synchronizacja Free-Sync w AMD AMD FreeSync technology to funkcja dynamicznego odświeżania, która jest realizowana za pośrednictwem wbudowanych i zewnętrznych paneli DisplayPort The FreeSync technology w wybranych modelach procesorów graficznych AMD GPU rozwiązuje problemy komunikacji między procesorem a monitorem, eliminując rozrywanie obrazu i przeskoki, aby gra stała się bardziej płynna.
Wiodąca karta GeForce Titan X GeForce GTX Titan X obsługuje 4K. Posiada procesor graficzny Maxwell GM200 i 12 GB pamięci GDDR5 384-bit, a jego taktowania to standardowe 1000/1075 MHz dla rdzenia i efektywne 7000 MHz dla pamięci wideo. Do chłodzenia karty wykorzystano referencyjny system z pojedynczą turbiną. Dodatkowe zasilanie doprowadza 6- i 8-pinowe gniazdo. Cena ok. 4900PLN
Wiodąca karta Radeon AMD Fury X gfg Radeon R9 FURY X obsługuje 4K i korzysta z VR (wirtualnej rzeczywistości). Na pokładzie jest układ graficzny z 4096 procesorami strumieniowymi i 4 GB nowej pamięci HBM 4096-bit. Dodatkowe zasilanie doprowadzają dwa 8-pinowe gniazda. Karta jest zgodna z najnowszymi API: DirectX 12, Mantle API i OpenGL 4.5. Słabe możliwości podkręcenia. Cena ok. 3500PLN.
AMD Radeon R9 295X2
Nvidia GeForce GTX 1080 Founders Edition