Uniwersalne procesory kart. Jednostki operacji rasteryzacji (ROP)

💖 Podoba Ci się? Udostępnij link swoim znajomym

Zunifikowane jednostki cieniujące łączą w sobie dwa wymienione powyżej typy jednostek; mogą wykonywać zarówno programy wierzchołkowe, jak i pikselowe (a także geometryczne, które pojawiły się w DirectX 10). Ujednolicenie bloków shaderów sprawia, że ​​kod różnych programów shaderów (wierzchołki, piksele i geometria) jest uniwersalny, a odpowiadające im zunifikowane procesory mogą wykonywać dowolny z powyższych programów. Odpowiednio, w nowych architekturach liczba jednostek cieniujących piksele, wierzchołki i geometrię wydaje się łączyć w jedną liczbę - liczbę uniwersalnych procesorów.

Jednostki teksturowania (tmu)

Bloki te współpracują z procesorami cieniującymi wszystkich określonych typów; wybierają i filtrują dane tekstur niezbędne do skonstruowania sceny. Liczba jednostek tekstur w chipie wideo określa wydajność tekstury i szybkość próbkowania tekstur. I choć ostatnio większość obliczeń wykonywana jest przez jednostki cieniujące, obciążenie TMU jest nadal dość duże, a biorąc pod uwagę nacisk niektórych aplikacji na wydajność jednostek teksturujących, możemy powiedzieć, że liczba TMU i odpowiadająca jej wysoka tekstura Wydajność jest jednym z najważniejszych parametrów układów wideo. Parametr ten ma szczególny wpływ na prędkość podczas stosowania filtracji trójliniowej i anizotropowej, które wymagają dodatkowych próbek tekstur.

Bloki operacji rasteryzacji (rop)

Jednostki rasteryzacyjne wykonują operacje zapisywania obliczonych przez kartę graficzną pikseli w buforach oraz operacje ich mieszania (mieszania). Jak zauważono powyżej, wydajność bloków ROP wpływa na szybkość wypełniania i jest to jedna z głównych cech kart graficznych. I chociaż jego znaczenie ostatnio nieco spadło, nadal zdarzają się przypadki, w których wydajność aplikacji w dużym stopniu zależy od szybkości i liczby bloków ROP. Najczęściej wynika to z aktywnego wykorzystania filtrów postprocessingu i włączonego antyaliasingu przy wysokich ustawieniach obrazu.

Pojemność pamięci wideo

Własna pamięć jest wykorzystywana przez chipy wideo do przechowywania niezbędnych danych: tekstur, wierzchołków, buforów itp. Wydawać by się mogło, że im więcej, tym lepiej. Ale to nie jest takie proste, szacowanie mocy karty graficznej na podstawie ilości pamięci wideo jest najczęstszym błędem! Niedoświadczeni użytkownicy najczęściej przeceniają wartość pamięci, wykorzystując ją do porównywania różnych modeli kart graficznych. Jest to zrozumiałe - skoro parametr, jeden z pierwszych wskazanych we wszystkich źródłach, jest dwukrotnie większy, to ich zdaniem prędkość rozwiązania powinna być dwukrotnie większa. Rzeczywistość różni się od tego mitu tym, że wzrost produktywności rośnie do pewnej wielkości, a po jej osiągnięciu po prostu się zatrzymuje.

Każda aplikacja ma określoną ilość pamięci wideo, która wystarcza na wszystkie dane i nawet jeśli umieścisz tam 4 GB, nie będzie powodu, aby przyspieszała renderowanie, prędkość będzie ograniczona przez jednostki wykonawcze. Dlatego w prawie wszystkich przypadkach karta graficzna z 320 MB pamięci wideo będzie działać z tą samą szybkością, co karta z 640 MB (przy wszystkich pozostałych parametrach bez zmian). Zdarzają się sytuacje, w których większa ilość pamięci prowadzi do widocznego wzrostu wydajności, są to bardzo wymagające aplikacje przy wysokich rozdzielczościach i przy maksymalnych ustawieniach. Ale takie przypadki są bardzo rzadkie, dlatego oczywiście należy wziąć pod uwagę ilość pamięci, ale nie zapominając, że wydajność po prostu nie wzrasta powyżej pewnej wartości, istnieją ważniejsze parametry, takie jak szerokość magistrali pamięci i jego częstotliwość pracy.

Podstawowe elementy karty graficznej:

  • wyjścia;
  • interfejsy;
  • system chłodzenia;
  • procesor graficzny;
  • pamięć wideo.

Technologie graficzne:

  • słownik;
  • Architektura GPU: funkcje
    jednostki wierzchołków/pikseli, shadery, współczynnik wypełnienia, jednostki tekstur/rastrów, potoki;
  • Architektura GPU: technologia
    proces techniczny, częstotliwość GPU, lokalna pamięć wideo (wolumen, magistrala, typ, częstotliwość), rozwiązania z wieloma kartami graficznymi;
  • funkcje wizualne
    DirectX, wysoki zakres dynamiki (HDR), pełnoekranowy antyaliasing, filtrowanie tekstur, tekstury w wysokiej rozdzielczości.

Glosariusz podstawowych terminów graficznych

Częstotliwość odświeżania

Podobnie jak w kinie czy telewizorze, komputer symuluje ruch na monitorze, wyświetlając sekwencję klatek. Częstotliwość odświeżania monitora wskazuje, ile razy na sekundę obraz na ekranie będzie aktualizowany. Na przykład częstotliwość 75 Hz odpowiada 75 aktualizacjom na sekundę.

Jeśli komputer przetwarza klatki szybciej niż monitor jest w stanie je wyświetlić, mogą wystąpić problemy w grach. Na przykład, jeśli komputer renderuje 100 klatek na sekundę, a częstotliwość odświeżania monitora wynosi 75 Hz, to z powodu nakładania się monitor może wyświetlić tylko część obrazu w okresie odświeżania. W rezultacie pojawiają się artefakty wizualne.

Jako rozwiązanie możesz włączyć V-Sync (synchronizację pionową). Ogranicza liczbę klatek, które komputer może wyświetlić przy częstotliwości odświeżania monitora, zapobiegając artefaktom. Jeśli włączysz V-Sync, liczba klatek obliczona w grze nigdy nie przekroczy częstotliwości odświeżania. Oznacza to, że przy częstotliwości 75 Hz komputer wygeneruje nie więcej niż 75 klatek na sekundę.

Piksel

Słowo „piksel” oznacza „ fotka Tura el ment" - element obrazu. Jest to maleńka kropka na wyświetlaczu, która może świecić określonym kolorem (w większości przypadków odcień jest wyświetlany poprzez kombinację trzech podstawowych kolorów: czerwonego, zielonego i niebieskiego). Jeśli rozdzielczość ekranu wynosi 1024 x 768, wówczas można zobaczyć matrycę o szerokości 1024 pikseli i wysokości 768 pikseli. Wszystkie piksele razem tworzą obraz. Obraz na ekranie jest aktualizowany od 60 do 120 razy na sekundę, w zależności od typu wyświetlacza i danych wyjściowych z karty graficznej. Monitory CRT odświeżają obraz linia po linii, natomiast monitory LCD z płaskim ekranem mogą odświeżać każdy piksel indywidualnie.

Wierzchołek

Wszystkie obiekty w scenie 3D składają się z wierzchołków. Wierzchołek to punkt w przestrzeni trójwymiarowej o współrzędnych X, Y i Z. Kilka wierzchołków można zgrupować w wielokąt: najczęściej jest to trójkąt, ale możliwe są bardziej złożone kształty. Następnie na wielokąt nakładana jest tekstura, dzięki czemu obiekt wygląda realistycznie. Kostka 3D pokazana na powyższej ilustracji składa się z ośmiu wierzchołków. Bardziej złożone obiekty mają zakrzywione powierzchnie, które w rzeczywistości składają się z bardzo dużej liczby wierzchołków.

Tekstura

Tekstura to po prostu obraz 2D o dowolnym rozmiarze, który jest nanoszony na obiekt 3D w celu symulacji jego powierzchni. Na przykład nasza kostka 3D składa się z ośmiu wierzchołków. Przed nałożeniem tekstury wygląda jak proste pudełko. Ale kiedy nałożymy teksturę, pudełko staje się kolorowe.

Moduł cieniujący

Programy do cieniowania pikseli pozwalają karcie graficznej generować imponujące efekty, na przykład tę wodę w Elder Scrolls: Oblivion.

Obecnie istnieją dwa rodzaje shaderów: wierzchołki i piksele. Programy Vertex Shader mogą modyfikować lub przekształcać obiekty 3D. Programy do cieniowania pikseli umożliwiają zmianę kolorów pikseli na podstawie niektórych danych. Wyobraź sobie źródło światła w scenie 3D, które powoduje, że oświetlone obiekty świecą jaśniej, jednocześnie powodując rzucanie cieni na inne obiekty. Wszystko to osiąga się poprzez zmianę informacji o kolorze pikseli.

Shadery pikseli służą do tworzenia złożonych efektów w Twoich ulubionych grach. Na przykład kod modułu cieniującego może sprawić, że piksele otaczające miecz 3D będą jaśniejsze. Inny moduł cieniujący może przetwarzać wszystkie wierzchołki złożonego obiektu 3D i symulować eksplozję. Twórcy gier coraz częściej sięgają po wyrafinowane programy cieniujące, aby stworzyć realistyczną grafikę. Prawie każda współczesna gra z bogatą grafiką wykorzystuje shadery.

Wraz z wydaniem kolejnego interfejsu programowania aplikacji (API), Microsoft DirectX 10, zostanie udostępniony trzeci typ modułu cieniującego, zwany modułem cieniującym geometrię. Za ich pomocą możliwe będzie niszczenie obiektów, modyfikowanie ich, a nawet niszczenie, w zależności od pożądanego rezultatu. Trzeci rodzaj shaderów można zaprogramować dokładnie w taki sam sposób, jak dwa pierwsze, jednak jego rola będzie inna.

Współczynnik wypełnienia

Bardzo często na pudełku z kartą graficzną można znaleźć wartość współczynnika wypełnienia. Zasadniczo współczynnik wypełnienia wskazuje, jak szybko procesor graficzny może wysyłać piksele. Starsze karty graficzne miały współczynnik wypełnienia trójkąta. Jednak obecnie istnieją dwa rodzaje współczynników wypełnienia: współczynnik wypełnienia pikselami i współczynnik wypełnienia teksturą. Jak już wspomniano, współczynnik wypełnienia pikseli odpowiada współczynnikowi wyjściowemu pikseli. Oblicza się ją jako liczbę operacji rastrowych (ROP) pomnożoną przez częstotliwość zegara.

Szybkość wypełniania teksturą jest obliczana inaczej przez ATi i nVidia. Nvidia uważa, że ​​prędkość uzyskuje się poprzez pomnożenie liczby potoków pikseli przez częstotliwość zegara. A ATi mnoży liczbę jednostek tekstur przez prędkość zegara. W zasadzie obie metody są poprawne, ponieważ nVidia używa jednej jednostki tekstury na jednostkę cieniującą piksel (to znaczy jedną na potok pikseli).

Mając na uwadze te definicje, przejdźmy dalej i omówmy najważniejsze funkcje procesora graficznego, do czego służą i dlaczego są tak ważne.

Architektura GPU: funkcje

Realizm grafiki 3D w dużej mierze zależy od wydajności karty graficznej. Im więcej bloków modułu cieniującego pikseli zawiera procesor i im wyższa częstotliwość, tym więcej efektów można zastosować do sceny 3D, aby poprawić jej percepcję wizualną.

Procesor graficzny zawiera wiele różnych bloków funkcjonalnych. Na podstawie liczby niektórych komponentów można oszacować moc procesora graficznego. Zanim przejdziemy dalej, przyjrzyjmy się najważniejszym blokom funkcjonalnym.

Procesory wierzchołków (jednostki cieniujące wierzchołki)

Podobnie jak jednostki cieniujące piksele, procesory wierzchołków wykonują kod modułu cieniującego, który dotyka wierzchołków. Ponieważ większy budżet wierzchołków pozwala na tworzenie bardziej złożonych obiektów 3D, wydajność procesorów wierzchołków jest bardzo ważna w scenach 3D ze złożonymi lub dużą liczbą obiektów. Jednak jednostki cieniujące wierzchołki nadal nie mają tak oczywistego wpływu na wydajność jak procesory pikselowe.

Procesory pikselowe (jednostki cieniujące piksele)

Procesor pikseli to element układu graficznego przeznaczony do przetwarzania programów cieniujących piksele. Procesory te wykonują obliczenia, które dotyczą wyłącznie pikseli. Ponieważ piksele zawierają informacje o kolorze, shadery pikseli umożliwiają osiągnięcie imponujących efektów graficznych. Na przykład większość efektów wodnych, które można zobaczyć w grach, jest tworzona przy użyciu modułów cieniujących piksele. Zwykle do porównania wydajności pikseli kart graficznych używa się liczby procesorów pikselowych. Jeśli jedna karta ma osiem jednostek cieniujących piksele, a druga 16 jednostek, logiczne jest założenie, że karta graficzna z 16 jednostkami będzie szybciej przetwarzać złożone programy cieniujące piksele. Należy również wziąć pod uwagę prędkość zegara, ale obecnie podwojenie liczby procesorów pikselowych jest bardziej energooszczędne niż podwojenie częstotliwości układu graficznego.

Ujednolicone shadery

Zunifikowane shadery nie zagościły jeszcze w świecie komputerów PC, ale nadchodzący standard DirectX 10 opiera się na podobnej architekturze. Oznacza to, że struktura kodu programów wierzchołkowych, geometrycznych i pikselowych będzie taka sama, chociaż shadery będą wykonywać inną pracę. Nową specyfikację można zobaczyć w Xboksie 360, gdzie procesor graficzny został specjalnie zaprojektowany przez ATi dla Microsoftu. Bardzo ciekawie będzie zobaczyć, jaki potencjał niesie ze sobą nowy DirectX 10.

Jednostki mapowania tekstur (TMU)

Tekstury należy wybrać i przefiltrować. Ta praca jest wykonywana przez jednostki mapowania tekstur, które działają w połączeniu z jednostkami cieniującymi piksele i wierzchołki. Zadaniem TMU jest stosowanie operacji teksturowania na pikselach. Liczba jednostek tekstur w procesorze graficznym jest często używana do porównywania wydajności tekstur kart graficznych. Rozsądnie jest założyć, że karta graficzna z większą liczbą TMU zapewni lepszą wydajność tekstur.

Rastrowe jednostki operatorskie (ROP)

Procesory rastrowe są odpowiedzialne za zapisywanie danych pikseli w pamięci. Szybkość wykonywania tej operacji to szybkość napełniania. W początkach akceleratorów 3D bardzo ważnymi cechami kart graficznych były ROP i szybkość wypełniania. Dzisiaj praca nad ROP jest nadal ważna, ale wydajność karty graficznej nie jest już ograniczana przez te bloki, jak kiedyś. Dlatego wydajność (i liczba) ROP jest rzadko wykorzystywana do oceny szybkości karty graficznej.

Przenośniki

Potoki służą do opisu architektury kart graficznych i dają bardzo jasny obraz wydajności procesora graficznego.

Przenośnik nie może być uważany za ściśle techniczny termin. Procesor graficzny wykorzystuje różne potoki, które wykonują różne funkcje. Historycznie rzecz biorąc, potok oznaczał procesor pikseli podłączony do jednostki mapowania tekstur (TMU). Na przykład karta graficzna Radeon 9700 wykorzystuje osiem procesorów pikselowych, z których każdy jest podłączony do własnego TMU, dlatego uważa się, że karta ma osiem potoków.

Ale nowoczesne procesory bardzo trudno opisać liczbą potoków. W porównaniu do poprzednich konstrukcji, nowe procesory wykorzystują modułową, rozdrobnioną strukturę. Za innowatora w tej dziedzinie można uznać firmę ATi, która wraz z linią kart graficznych X1000 przeszła na konstrukcję modułową, co umożliwiło osiągnięcie wzrostu wydajności poprzez wewnętrzną optymalizację. Niektóre bloki procesora są używane częściej niż inne i aby poprawić wydajność procesora graficznego, firma ATi próbowała znaleźć kompromis pomiędzy liczbą potrzebnych bloków a obszarem matrycy (którego nie można zbytnio zwiększyć). W tej architekturze termin „potok pikselowy” stracił już swoje znaczenie, ponieważ procesory pikselowe nie są już podłączone do własnych TMU. Na przykład procesor graficzny ATI Radeon X1600 ma 12 jednostek cieniujących piksele i tylko cztery jednostki mapujące tekstury TMU. Dlatego nie można powiedzieć, że architektura tego procesora ma 12 potoków pikseli, tak jak nie można powiedzieć, że jest ich tylko cztery. Tradycyjnie jednak nadal wspomina się o potokach pikseli.

Biorąc pod uwagę powyższe założenia, do porównywania kart graficznych często wykorzystuje się liczbę potoków pikseli w procesorze graficznym (z wyjątkiem linii ATi X1x00). Na przykład, jeśli weźmiesz karty graficzne z 24 i 16 potokami, całkiem rozsądne jest założenie, że karta z 24 potokami będzie szybsza.

Architektura GPU: Technologia

Proces techniczny

Termin ten odnosi się do wielkości jednego elementu (tranzystora) chipa i dokładności procesu produkcyjnego. Udoskonalenia procesów technicznych umożliwiają uzyskanie elementów o mniejszych gabarytach. Na przykład proces 0,18 mikrona daje większe elementy niż proces 0,13 mikrona, więc nie jest tak wydajny. Mniejsze tranzystory działają przy niższym napięciu. Z kolei spadek napięcia prowadzi do zmniejszenia oporu cieplnego, co skutkuje zmniejszeniem ilości wydzielanego ciepła. Ulepszenia procesu technicznego pozwalają zmniejszyć odległości pomiędzy blokami funkcjonalnymi chipa, a przesyłanie danych zajmuje mniej czasu. Krótsze odległości, niższe napięcia i inne ulepszenia pozwalają na osiągnięcie wyższych częstotliwości zegara.

To, co nieco komplikuje zrozumienie, to fakt, że obecnie do określenia procesu technicznego używa się zarówno mikrometrów (μm), jak i nanometrów (nm). W rzeczywistości wszystko jest bardzo proste: 1 nanometr równa się 0,001 mikrometra, więc procesy 0,09 μm i 90 nm to to samo. Jak zauważono powyżej, mniejsza technologia procesowa pozwala na wyższe częstotliwości taktowania. Na przykład, jeśli porównamy karty graficzne z chipami o wielkości 0,18 mikrona i 0,09 mikrona (90 nm), całkiem rozsądne jest oczekiwanie wyższej częstotliwości od karty 90 nm.

Szybkość zegara GPU

Szybkość zegara procesora graficznego mierzona jest w megahercach (MHz), czyli milionach cykli zegara na sekundę.

Szybkość zegara bezpośrednio wpływa na wydajność procesora graficznego. Im jest on wyższy, tym większą pracę można wykonać w ciągu sekundy. Jako pierwszy przykład weźmy karty graficzne nVidia GeForce 6600 i 6600 GT: procesor graficzny 6600 GT pracuje z częstotliwością 500 MHz, podczas gdy zwykła karta 6600 działa z częstotliwością 400 MHz. Ponieważ procesory są technicznie identyczne, 20% wzrost szybkości zegara 6600 GT skutkuje wyższą wydajnością.

Ale szybkość zegara to nie wszystko. Należy pamiętać, że na wydajność duży wpływ ma architektura. Jako drugi przykład weźmy karty graficzne GeForce 6600 GT i GeForce 6800 GT. Procesor graficzny 6600 GT pracuje z częstotliwością 500 MHz, podczas gdy 6800 GT pracuje z częstotliwością zaledwie 350 MHz. Weźmy teraz pod uwagę, że 6800 GT wykorzystuje 16 potoków pikseli, podczas gdy 6600 GT używa tylko ośmiu. Dlatego 6800 GT z 16 potokami przy 350 MHz zapewni w przybliżeniu taką samą wydajność jak procesor z ośmioma potokami i dwukrotnie większą szybkością zegara (700 MHz). Mając to na uwadze, prędkość zegara można z łatwością wykorzystać do porównania wydajności.

Lokalna pamięć wideo

Pamięć karty graficznej znacząco wpływa na wydajność. Ale różne parametry pamięci mają różne skutki.

Rozmiar pamięci wideo

Ilość pamięci wideo można chyba nazwać najbardziej przecenianym parametrem karty graficznej. Niedoświadczeni konsumenci często wykorzystują pojemność pamięci wideo do porównywania różnych kart ze sobą, ale w rzeczywistości pojemność ma niewielki wpływ na wydajność w porównaniu z takimi parametrami, jak częstotliwość magistrali pamięci i interfejs (szerokość magistrali).

W większości przypadków karta ze 128 MB pamięci wideo będzie działać prawie tak samo jak karta z 256 MB. Oczywiście zdarzają się sytuacje, w których większa ilość pamięci poprawi wydajność, należy jednak pamiętać, że większa ilość pamięci nie przełoży się automatycznie na większą prędkość gry.

Głośność może być przydatna w grach z teksturami o wysokiej rozdzielczości. Twórcy gier udostępniają kilka zestawów tekstur do gry. Im więcej pamięci znajduje się na karcie graficznej, tym wyższą rozdzielczość mogą mieć załadowane tekstury. Tekstury w wysokiej rozdzielczości zapewniają większą przejrzystość i szczegółowość gry. Dlatego całkiem rozsądne jest wzięcie karty z dużą ilością pamięci, jeśli wszystkie pozostałe kryteria spełniają. Przypomnijmy jeszcze raz, że szerokość szyny pamięci i jej częstotliwość mają znacznie większy wpływ na wydajność niż ilość pamięci fizycznej na karcie.

Szerokość magistrali pamięci

Szerokość magistrali pamięci jest jednym z najważniejszych aspektów wydajności pamięci. Nowoczesne magistrale mają szerokość od 64 do 256 bitów, a w niektórych przypadkach nawet 512 bitów. Im szersza szyna pamięci, tym więcej informacji może przesłać w jednym cyklu zegara. A to bezpośrednio wpływa na produktywność. Na przykład, jeśli weźmiesz dwie magistrale o równych częstotliwościach, teoretycznie magistrala 128-bitowa prześle dwa razy więcej danych na cykl zegara niż magistrala 64-bitowa. A 256-bitowa magistrala jest dwa razy większa.

Większa przepustowość magistrali (wyrażona w bitach lub bajtach na sekundę, 1 bajt = 8 bitów) zapewnia wyższą wydajność pamięci. Dlatego też szyna pamięci jest o wiele ważniejsza niż jej wielkość. Przy równych częstotliwościach 64-bitowa magistrala pamięci działa z szybkością zaledwie 25% prędkości 256-bitowej!

Weźmy następujący przykład. Karta graficzna ze 128 MB pamięci wideo, ale z 256-bitową magistralą, zapewnia znacznie wyższą wydajność pamięci niż model 512 MB z 64-bitową magistralą. Warto zaznaczyć, że w przypadku niektórych kart z linii ATi X1x00 producenci podają specyfikację wewnętrznej magistrali pamięci, nas natomiast interesują parametry magistrali zewnętrznej. Na przykład X1600 ma wewnętrzną magistralę pierścieniową o szerokości 256 bitów, ale zewnętrzną o szerokości tylko 128 bitów. W rzeczywistości magistrala pamięci działa z wydajnością 128-bitową.

Typy pamięci

Pamięć można podzielić na dwie główne kategorie: SDR (pojedynczy transfer danych) i DDR (podwójny transfer danych), w których dane są przesyłane dwa razy szybciej w cyklu zegara. Obecnie technologia SDR z pojedynczą przekładnią jest przestarzała. Ponieważ pamięć DDR przesyła dane dwa razy szybciej niż SDR, należy pamiętać, że karty graficzne z pamięcią DDR często wskazują dwukrotnie większą częstotliwość, a nie częstotliwość fizyczną. Na przykład, jeśli pamięć DDR jest określona jako 1000 MHz, jest to efektywna częstotliwość, z jaką musi działać zwykła pamięć SDR, aby zapewnić tę samą przepustowość. Ale w rzeczywistości częstotliwość fizyczna wynosi 500 MHz.

Z tego powodu wielu jest zaskoczonych, gdy dla pamięci ich karty graficznej wskazana jest częstotliwość 1200 MHz DDR, a narzędzia podają 600 MHz. Więc będziesz musiał się do tego przyzwyczaić. Pamięci DDR2 i GDDR3/GDDR4 działają na tej samej zasadzie, czyli przy podwójnym transferze danych. Różnica między pamięciami DDR, DDR2, GDDR3 i GDDR4 polega na technologii produkcji i niektórych szczegółach. DDR2 może działać na wyższych częstotliwościach niż pamięć DDR, a DDR3 może działać na jeszcze wyższych częstotliwościach niż DDR2.

Częstotliwość magistrali pamięci

Podobnie jak procesor, pamięć (a dokładniej szyna pamięci) działa z określonymi częstotliwościami taktowania, mierzonymi w megahercach. W tym przypadku zwiększenie częstotliwości zegara bezpośrednio wpływa na wydajność pamięci. Częstotliwość magistrali pamięci jest jednym z parametrów używanych do porównywania wydajności kart graficznych. Na przykład, jeśli wszystkie inne cechy (szerokość magistrali pamięci itp.) są takie same, logiczne jest stwierdzenie, że karta graficzna z pamięcią 700 MHz jest szybsza niż karta z pamięcią 500 MHz.

Ponownie, szybkość zegara to nie wszystko. Pamięć 700 MHz z magistralą 64-bitową będzie wolniejsza niż pamięć 400 MHz z magistralą 128-bitową. Wydajność pamięci 400 MHz na magistrali 128-bitowej odpowiada w przybliżeniu wydajności pamięci 800 MHz na magistrali 64-bitowej. Należy także pamiętać, że częstotliwości procesora graficznego i pamięci to zupełnie inne parametry i zazwyczaj się różnią.

Interfejs karty graficznej

Wszystkie dane przesyłane pomiędzy kartą graficzną a procesorem przechodzą przez interfejs karty graficznej. Obecnie w kartach graficznych używane są trzy typy interfejsów: PCI, AGP i PCI Express. Różnią się przepustowością i innymi cechami. Oczywiste jest, że im większa przepustowość, tym większa prędkość wymiany. Jednak tylko najnowocześniejsze karty mogą wykorzystywać dużą przepustowość, i to tylko częściowo. W pewnym momencie prędkość interfejsu przestała być wąskim gardłem, dziś jest po prostu wystarczająca.

Najwolniejszą magistralą, dla której wyprodukowano karty graficzne, jest PCI (Peripheral Components Interconnect). Bez wchodzenia w historię oczywiście. PCI naprawdę obniżyło wydajność kart graficznych, więc przeszli na interfejs AGP (Accelerated Graphics Port). Jednak nawet specyfikacje AGP 1.0 i 2x ograniczają wydajność. Kiedy standard zwiększył prędkość do poziomu AGP 4x, zaczęliśmy zbliżać się do praktycznej granicy przepustowości, jaką mogą obsłużyć karty graficzne. Specyfikacja AGP 8x po raz kolejny podwoiła przepustowość w porównaniu do AGP 4x (2,16 GB/s), ale nie uzyskaliśmy już zauważalnego wzrostu wydajności grafiki.

Najnowszą i najszybszą magistralą jest PCI Express. Nowe karty graficzne zazwyczaj korzystają z interfejsu PCI Express x16, który łączy 16 linii PCI Express, co zapewnia całkowitą przepustowość 4 GB/s (w jednym kierunku). Jest to dwukrotnie większa przepustowość AGP 8x. Magistrala PCI Express zapewnia wspomnianą przepustowość w obu kierunkach (transfer danych do i z karty graficznej). Ale prędkość standardu AGP 8x była już wystarczająca, więc nie spotkaliśmy się jeszcze z sytuacją, w której przejście na PCI Express dałoby wzrost wydajności w porównaniu do AGP 8x (o ile inne parametry sprzętowe są takie same). Na przykład wersja AGP GeForce 6800 Ultra będzie działać identycznie jak 6800 Ultra dla PCI Express.

Dziś najlepiej kupić kartę z interfejsem PCI Express, pozostanie ona na rynku jeszcze przez kilka lat. Najpotężniejsze karty nie są już produkowane z interfejsem AGP 8x, a rozwiązania PCI Express z reguły są łatwiejsze do znalezienia niż analogi AGP i są tańsze.

Rozwiązania na wielu kartach graficznych

Używanie wielu kart graficznych w celu zwiększenia wydajności grafiki nie jest nowym pomysłem. Na początku grafiki 3D firma 3dfx wkroczyła na rynek z dwiema kartami graficznymi pracującymi równolegle. Jednak wraz ze zniknięciem 3dfx technologia wspólnej obsługi kilku konsumenckich kart graficznych poszła w zapomnienie, chociaż ATi produkowało podobne systemy dla profesjonalnych symulatorów od czasu premiery Radeona 9700. Kilka lat temu technologia powróciła do łask rynek: wraz z pojawieniem się rozwiązań nVidia SLI, a nieco później ATI Crossfire.

Korzystanie z wielu kart graficznych razem zapewnia wystarczającą wydajność, aby uruchomić grę przy wysokich ustawieniach jakości i wysokiej rozdzielczości. Ale wybór tego czy innego rozwiązania nie jest taki prosty.

Zacznijmy od tego, że rozwiązania bazujące na wielu kartach graficznych wymagają dużej ilości energii, dlatego zasilacz musi mieć odpowiednią moc. Całe to ciepło będzie musiało zostać usunięte z karty graficznej, dlatego należy zwrócić uwagę na obudowę komputera i chłodzenie, aby system się nie przegrzał.

Pamiętaj też, że SLI/CrossFire wymaga odpowiedniej płyty głównej (czy to dla tej, czy innej technologii), która zwykle kosztuje więcej niż standardowe modele. Konfiguracja nVidia SLI będzie działać tylko na niektórych płytach nForce4, a karty ATi CrossFire będą działać tylko na płytach głównych z chipsetem CrossFire lub w niektórych modelach Intela. Aby skomplikować sprawę, niektóre konfiguracje CrossFire wymagają, aby jedna z kart była specjalna: CrossFire Edition. Po wydaniu CrossFire w przypadku niektórych modeli kart graficznych firma ATi umożliwiła włączenie technologii współpracy za pośrednictwem magistrali PCI Express, a wraz z wydaniem nowych wersji sterowników wzrasta liczba możliwych kombinacji. Mimo to sprzętowy CrossFire z odpowiednią kartą CrossFire Edition zapewnia wyższą wydajność. Ale karty CrossFire Edition są też droższe od zwykłych modeli. Obecnie można włączyć programowy tryb CrossFire (bez karty CrossFire Edition) na kartach graficznych Radeon X1300, X1600 i X1800 GTO.

Istnieją również inne czynniki, które należy wziąć pod uwagę. Chociaż dwie karty graficzne współpracujące ze sobą zapewniają wzrost wydajności, jest on daleki od dwukrotnego. Ale zapłacisz dwa razy więcej pieniędzy. Najczęściej wzrost produktywności wynosi 20-60%. W niektórych przypadkach, ze względu na dodatkowe koszty obliczeniowe dopasowywania, wzrost nie występuje wcale. Z tego powodu konfiguracje wielokartowe raczej nie będą opłacalne w przypadku tańszych modeli, ponieważ droższa karta graficzna zwykle zawsze będzie lepsza od kilku tańszych kart. Ogólnie rzecz biorąc, dla większości konsumentów zakup rozwiązania SLI/CrossFire nie ma sensu. Ale jeśli chcesz włączyć wszystkie opcje poprawy jakości lub grać w ekstremalnych rozdzielczościach, na przykład 2560x1600, gdy musisz obliczyć ponad 4 miliony pikseli na klatkę, nie możesz obejść się bez dwóch lub czterech sparowanych kart graficznych.

Cechy wizualne

Oprócz specyfikacji czysto sprzętowych, różne generacje i modele procesorów graficznych mogą różnić się zestawem funkcji. Na przykład często mówi się, że karty generacji ATi Radeon X800 XT są kompatybilne z Shader Model 2.0b (SM), natomiast nVidia GeForce 6800 Ultra są kompatybilne z SM 3.0, choć ich specyfikacje sprzętowe są do siebie zbliżone (16 rurociągów ). Dlatego wielu konsumentów dokonuje wyboru na korzyść tego czy innego rozwiązania, nawet nie wiedząc, co oznacza różnica.

Wersje Microsoft DirectX i Shader Model

Nazwy te są najczęściej używane w sporach, ale niewiele osób wie, co tak naprawdę oznaczają. Aby to zrozumieć, zacznijmy od historii graficznych interfejsów API. DirectX i OpenGL to graficzne interfejsy API, czyli interfejsy programowania aplikacji - standardy otwartego kodu dostępne dla każdego.

Przed pojawieniem się graficznych interfejsów API każdy producent procesorów graficznych korzystał z własnego mechanizmu komunikacji z grami. Programiści musieli napisać osobny kod dla każdego procesora graficznego, który chcieli obsługiwać. Bardzo droga i nieskuteczna metoda. Aby rozwiązać ten problem, opracowano interfejsy API dla grafiki 3D, dzięki czemu programiści piszą kod dla konkretnego interfejsu API, a nie dla konkretnej karty graficznej. Następnie problemy ze zgodnością spadły na barki producentów kart graficznych, którzy musieli zadbać o kompatybilność sterowników z API.

Jedyną trudnością pozostaje to, że obecnie używane są dwa różne interfejsy API, a mianowicie Microsoft DirectX i OpenGL, gdzie GL oznacza bibliotekę graficzną. Ponieważ interfejs API DirectX jest obecnie bardziej popularny w grach, skupimy się na nim. I ten standard miał większy wpływ na rozwój gier.

DirectX jest dziełem Microsoftu. W rzeczywistości DirectX zawiera kilka interfejsów API, z których tylko jeden jest używany do grafiki 3D. DirectX zawiera interfejsy API dla dźwięku, muzyki, urządzeń wejściowych itp. Za grafikę 3D w DirectX odpowiada API Direct3D. Kiedy mówią o kartach graficznych, właśnie to mają na myśli, więc pod tym względem pojęcia DirectX i Direct3D są wymienne.

DirectX jest okresowo aktualizowany w miarę postępu technologii graficznej i wdrażania przez twórców gier nowych technik programowania gier. W miarę szybkiego wzrostu popularności DirectX producenci procesorów graficznych zaczęli dostosowywać nowe wersje produktów do możliwości DirectX. Z tego powodu karty graficzne są często powiązane ze sprzętową obsługą tej lub innej generacji DirectX (DirectX 8, 9.0 lub 9.0c).

Aby skomplikować sprawę, części interfejsu API Direct3D mogą zmieniać się w czasie bez zmiany generacji DirectX. Na przykład specyfikacja DirectX 9.0 określa obsługę Pixel Shader 2.0. Jednak aktualizacja DirectX 9.0c zawiera Pixel Shader 3.0. Tak więc, chociaż karty są klasy DirectX 9, mogą obsługiwać różne zestawy funkcji. Przykładowo Radeon 9700 obsługuje Shader Model 2.0, a Radeon X1800 obsługuje Shader Model 3.0, choć obie karty można zaliczyć do generacji DirectX 9.

Pamiętaj, że tworząc nowe gry, programiści biorą pod uwagę właścicieli starych maszyn i kart graficznych, ponieważ jeśli zignorujesz ten segment użytkowników, poziom sprzedaży będzie niższy. Z tego powodu w grach wbudowanych jest wiele ścieżek kodu. Gra klasy DirectX 9 prawdopodobnie ma ścieżkę DirectX 8, a nawet ścieżkę DirectX 7. Zwykle po wybraniu starej ścieżki niektóre wirtualne efekty obecne na nowych kartach graficznych znikają z gry. Ale przynajmniej możesz grać nawet na starym sprzęcie.

Wiele nowych gier wymaga zainstalowania najnowszej wersji DirectX, nawet jeśli karta graficzna pochodzi z poprzedniej generacji. Oznacza to, że nowa gra, która będzie korzystać ze ścieżki DirectX 8, nadal będzie wymagać zainstalowania najnowszej wersji DirectX 9 dla karty graficznej klasy DirectX 8.

Jakie są różnice między różnymi wersjami interfejsu API Direct3D w DirectX? Wczesne wersje DirectX - 3, 5, 6 i 7 - były stosunkowo proste w możliwościach API Direct3D. Programiści mogli wybrać efekty wizualne z listy, a następnie przetestować, jak działają w grze. Kolejnym ważnym krokiem w programowaniu grafiki był DirectX 8. Wprowadził on możliwość programowania karty graficznej za pomocą shaderów, dzięki czemu programiści po raz pierwszy mieli swobodę programowania efektów według potrzeb. Obsługiwane przez DirectX 8 wersje Pixel Shader 1.0 do 1.3 i Vertex Shader 1.0. DirectX 8.1, zaktualizowana wersja DirectX 8, otrzymała Pixel Shader 1.4 i Vertex Shader 1.1.

W DirectX 9 możesz tworzyć jeszcze bardziej złożone programy cieniujące. DirectX 9 obsługuje Pixel Shader 2.0 i Vertex Shader 2.0. DirectX 9c, zaktualizowana wersja DirectX 9, zawiera specyfikację Pixel Shader 3.0.

DirectX 10, nadchodząca wersja interfejsu API, będzie dołączona do nowej wersji systemu Windows Vista. Nie można zainstalować programu DirectX 10 w systemie Windows XP.

Oświetlenie HDR i OpenEXR HDR

HDR oznacza „wysoki zakres dynamiki”. Gra z oświetleniem HDR może generować znacznie bardziej realistyczny obraz niż gra bez niego, a nie wszystkie karty graficzne obsługują oświetlenie HDR.

Przed pojawieniem się kart graficznych DirectX 9, procesory graficzne były poważnie ograniczone przez dokładność obliczeń oświetlenia. Do tej pory oświetlenie można było obliczyć jedynie przy użyciu 256 (8 bitów) poziomów wewnętrznych.

Kiedy pojawiły się karty graficzne DirectX 9, były one w stanie wytwarzać oświetlenie z dużą precyzją – pełne 24 bity, czyli 16,7 miliona poziomów.

Dzięki 16,7 milionom poziomów i kolejnemu krokowi w wydajności kart graficznych DirectX 9/Shader Model 2.0, oświetlenie HDR stało się możliwe na komputerach. Jest to dość złożona technologia i trzeba ją oglądać dynamicznie. Mówiąc prościej, oświetlenie HDR zwiększa kontrast (ciemne odcienie wydają się ciemniejsze, jasne odcienie wydają się jaśniejsze), jednocześnie zwiększając ilość szczegółów oświetlenia w ciemnych i jasnych obszarach. Gra z oświetleniem HDR wydaje się bardziej żywa i realistyczna niż bez niego.

Procesory graficzne zgodne z najnowszą specyfikacją Pixel Shader 3.0 umożliwiają większą 32-bitową precyzję obliczeń oświetlenia i mieszania zmiennoprzecinkowego. Dlatego karty graficzne klasy SM 3.0 mogą obsługiwać specjalną metodę oświetlenia OpenEXR HDR zaprojektowaną specjalnie dla branży filmowej.

Niektóre gry obsługujące wyłącznie oświetlenie OpenEXR HDR nie będą działać z oświetleniem HDR na kartach graficznych Shader Model 2.0. Jednak gry, które nie opierają się na metodzie OpenEXR, będą działać na dowolnej karcie graficznej DirectX 9. Na przykład Oblivion korzysta z metody OpenEXR HDR i umożliwia oświetlenie HDR tylko na najnowszych kartach graficznych obsługujących specyfikację Shader Model 3.0. Na przykład nVidia GeForce 6800 lub ATI Radeon X1800. Gry korzystające z silnika 3D Half-Life 2, w tym Counter-Strike: Source i nadchodząca Half-Life 2: Aftermath, umożliwiają włączenie renderowania HDR na starszych kartach graficznych DirectX 9, które obsługują tylko Pixel Shader 2.0. Przykładami są linia GeForce 5 lub ATi Radeon 9500.

Na koniec należy pamiętać, że wszystkie formy renderowania HDR wymagają dużej mocy obliczeniowej i mogą rzucić na kolana nawet najpotężniejsze procesory graficzne. Jeśli chcesz grać w najnowsze gry z oświetleniem HDR, grafika o wysokiej wydajności jest koniecznością.

Antyaliasing na pełnym ekranie

Pełnoekranowe wygładzanie krawędzi (w skrócie AA) pozwala wyeliminować charakterystyczne „drabinki” na granicach wielokątów. Należy jednak wziąć pod uwagę, że antyaliasing na pełnym ekranie zużywa dużo zasobów obliczeniowych, co prowadzi do spadku liczby klatek na sekundę.

Wygładzanie jest w dużym stopniu zależne od wydajności pamięci wideo, dlatego szybka karta graficzna z szybką pamięcią będzie w stanie obliczyć wygładzanie na pełnym ekranie z mniejszym wpływem na wydajność niż niedroga karta graficzna. Antyaliasing można włączyć w różnych trybach. Na przykład antyaliasing 4x da lepszy obraz niż antyaliasing 2x, ale będzie to miało duży wpływ na wydajność. Podczas gdy antyaliasing 2x podwaja rozdzielczość w poziomie i pionie, tryb 4x zwiększa ją czterokrotnie.

Filtrowanie tekstur

Tekstury są stosowane do wszystkich obiektów 3D w grze, a im większy kąt wyświetlanej powierzchni, tym bardziej zniekształcona będzie tekstura. Aby wyeliminować ten efekt, procesory graficzne korzystają z filtrowania tekstur.

Pierwsza metoda filtrowania nazywała się bilinearna i dawała charakterystyczne, niezbyt przyjemne dla oka paski. Sytuacja poprawiła się wraz z wprowadzeniem filtracji trójliniowej. Obie opcje działają na nowoczesnych kartach graficznych, praktycznie bez spadku wydajności.

Obecnie najlepszym sposobem filtrowania tekstur jest filtrowanie anizotropowe (AF). Podobnie jak antyaliasing pełnoekranowy, filtrowanie anizotropowe można włączyć na różnych poziomach. Na przykład 8x AF zapewnia lepszą jakość filtrowania niż 4x AF. Podobnie jak antyaliasing pełnoekranowy, filtrowanie anizotropowe wymaga pewnej mocy obliczeniowej, która zwiększa się wraz ze wzrostem poziomu AF.

Tekstury w wysokiej rozdzielczości

Wszystkie gry 3D są tworzone z myślą o określonych specyfikacjach, a jedno z tych wymagań określa pamięć tekstur, której gra będzie potrzebować. Wszystkie niezbędne tekstury muszą zmieścić się w pamięci karty graficznej podczas gry, w przeciwnym razie wydajność znacznie spadnie, ponieważ dostęp do tekstur w pamięci RAM powoduje znaczne opóźnienie, nie mówiąc już o pliku stronicowania na dysku twardym. Jeśli więc twórca gry liczy na minimum 128 MB pamięci wideo, to zestaw aktywnych tekstur nie powinien w żadnym momencie przekraczać 128 MB.

Nowoczesne gry mają kilka zestawów tekstur, więc gra będzie działać bez problemów na starszych kartach graficznych z mniejszą ilością pamięci wideo, a także na nowych kartach z większą ilością pamięci wideo. Przykładowo gra może zawierać trzy zestawy tekstur: dla 128 MB, 256 MB i 512 MB. Obecnie istnieje bardzo niewiele gier obsługujących 512 MB pamięci wideo, ale nadal są one najbardziej obiektywnym powodem zakupu karty graficznej z taką ilością pamięci. Chociaż zwiększenie pamięci ma niewielki lub żaden wpływ na wydajność, odniesiesz korzyści z lepszej jakości obrazu, jeśli gra obsługuje odpowiedni zestaw tekstur.

Co musisz wiedzieć o kartach graficznych?

W kontakcie z

Nowoczesne procesory graficzne zawierają wiele bloków funkcjonalnych, których liczba i charakterystyka decydują o końcowej szybkości renderowania, co wpływa na komfort gry. Na podstawie porównawczej liczby tych bloków w różnych układach wideo można z grubsza oszacować szybkość danego procesora graficznego. Chipy wideo mają sporo cech, w tej sekcji rozważymy tylko najważniejsze z nich.

Szybkość zegara układu wideo

Częstotliwość roboczą procesora graficznego mierzy się zwykle w megahercach, czyli milionach cykli na sekundę. Ta cecha bezpośrednio wpływa na wydajność układu wideo - im wyższa, tym więcej pracy procesor graficzny może wykonać w jednostce czasu, przetworzyć większą liczbę wierzchołków i pikseli. Przykład z życia: częstotliwość chipa wideo zainstalowanego na płycie Radeon HD 6670 wynosi 840 MHz, a dokładnie ten sam chip w modelu Radeon HD 6570 pracuje z częstotliwością 650 MHz. W związku z tym wszystkie główne cechy wydajności będą się różnić. Ale nie tylko częstotliwość robocza chipa decyduje o wydajności; na jego prędkość duży wpływ ma sama architektura graficzna: konstrukcja i liczba jednostek wykonawczych, ich charakterystyka itp.

W niektórych przypadkach taktowanie poszczególnych bloków GPU różni się od częstotliwości pracy reszty chipa. Oznacza to, że różne części procesora graficznego działają z różnymi częstotliwościami, a ma to na celu zwiększenie wydajności, ponieważ niektóre bloki mogą pracować z wyższymi częstotliwościami, a inne nie. Większość kart graficznych GeForce firmy NVIDIA jest wyposażona w te procesory graficzne. Jako niedawny przykład przyjrzyjmy się chipowi wideo w modelu GTX 580, którego większość pracuje z częstotliwością 772 MHz, a uniwersalne jednostki obliczeniowe chipa mają podwojoną częstotliwość - 1544 MHz.

Współczynnik wypełnienia

Szybkość wypełniania pokazuje, jak szybko układ wideo jest w stanie rysować piksele. Istnieją dwa rodzaje współczynnika wypełnienia: współczynnik wypełnienia pikseli i współczynnik wypełnienia teksturą. Współczynnik wypełnienia pikseli pokazuje prędkość rysowania pikseli na ekranie i zależy od częstotliwości roboczej oraz liczby jednostek ROP (jednostek operacji rasteryzacji i mieszania), a współczynnik wypełnienia teksturą to prędkość próbkowania danych tekstury, która zależy od częstotliwości roboczej i liczbę jednostek tekstury.

Na przykład szczytowa szybkość wypełniania pikseli karty GeForce GTX 560 Ti wynosi 822 (częstotliwość chipa) × 32 (liczba jednostek ROP) = 26304 megapikseli na sekundę, a współczynnik wypełniania teksturami wynosi 822 × 64 (liczba jednostek teksturowania) = 52608 megatekseli /S. W uproszczeniu sytuacja wygląda następująco - im większa pierwsza liczba, tym szybciej karta graficzna może rysować gotowe piksele, a im większa druga, tym szybciej próbkowane są dane tekstury.

Choć znaczenie „czystego” współczynnika wypełnienia w ostatnim czasie wyraźnie spadło, ustępując miejsca prędkości obliczeniowej, parametry te są nadal bardzo ważne, szczególnie w przypadku gier o prostej geometrii i stosunkowo prostych obliczeniach pikseli i wierzchołków. Obydwa parametry pozostają więc ważne we współczesnych grach, ale muszą być zrównoważone. Dlatego liczba jednostek ROP w nowoczesnych układach wideo jest zwykle mniejsza niż liczba jednostek tekstur.

Liczba jednostek obliczeniowych (shaderów) lub procesorów

Być może teraz te bloki są głównymi częściami układu wideo. Uruchamiają specjalne programy zwane shaderami. Co więcej, jeśli wcześniejsze shadery pikseli wykonywały bloki shaderów pikseli, a shadery wierzchołków bloki wierzchołków, to na jakiś czas architektury graficzne zostały ujednolicone i te uniwersalne jednostki obliczeniowe zaczęły zajmować się różnymi obliczeniami: wierzchołkami, pikselami, obliczeniami geometrycznymi, a nawet uniwersalnymi.

Po raz pierwszy ujednoliconą architekturę zastosowano w chipie wideo konsoli do gier Microsoft Xbox 360; ten procesor graficzny został opracowany przez firmę ATI (później zakupioną przez AMD). A w układach wideo do komputerów osobistych zunifikowane jednostki cieniujące pojawiły się na płycie NVIDIA GeForce 8800. Od tego czasu wszystkie nowe układy wideo oparte są na zunifikowanej architekturze, która ma uniwersalny kod dla różnych programów cieniujących (werteks, piksel, geometryczny, itp.), a odpowiednie procesory Unified mogą wykonywać dowolny program.

Na podstawie liczby jednostek obliczeniowych i ich częstotliwości można porównać wydajność matematyczną różnych kart graficznych. Większość gier jest obecnie ograniczona wydajnością shaderów pikseli, dlatego liczba tych bloków jest bardzo ważna. Na przykład, jeśli jeden model karty graficznej oparty jest na procesorze graficznym z 384 procesorami obliczeniowymi w swoim składzie, a inny z tej samej linii ma procesor graficzny ze 192 jednostkami obliczeniowymi, to przy tej samej częstotliwości drugi będzie dwukrotnie wolniej przetwarzał dowolne typu shaderów i ogólnie będą tak samo bardziej produktywne.

Choć nie da się wyciągnąć jednoznacznych wniosków na temat wydajności wyłącznie na podstawie samej liczby jednostek obliczeniowych, należy wziąć pod uwagę częstotliwość taktowania oraz odmienną architekturę jednostek różnych generacji i producentów chipów. Tylko na podstawie tych liczb można porównać chipy tylko w tej samej linii jednego producenta: AMD lub NVIDIA. W innych przypadkach należy zwrócić uwagę na testy wydajności w interesujących grach lub aplikacjach.

Jednostki teksturujące (TMU)

Te jednostki GPU współpracują z procesorami obliczeniowymi; wybierają i filtrują tekstury oraz inne dane niezbędne do konstruowania scen i obliczeń ogólnego przeznaczenia. Liczba jednostek tekstur w chipie wideo określa wydajność tekstur, czyli szybkość pobierania tekseli z tekstur.

Chociaż ostatnio większy nacisk kładzie się na obliczenia matematyczne, a niektóre tekstury są zastępowane proceduralnymi, obciążenie bloków TMU jest w dalszym ciągu dość duże, ponieważ oprócz głównych tekstur trzeba także dokonać selekcji z map normalnych i przemieszczeń, a także bufory renderowania docelowego renderowania poza ekranem.

Biorąc pod uwagę nacisk wielu gier, w tym wydajność jednostek teksturujących, możemy powiedzieć, że liczba jednostek TMU i odpowiadająca im wysoka wydajność tekstur są również jednym z najważniejszych parametrów chipów wideo. Parametr ten ma szczególny wpływ na szybkość renderowania obrazu podczas korzystania z filtrowania anizotropowego, które wymaga dodatkowych próbek tekstur, a także przy skomplikowanych algorytmach miękkiego cienia i nowomodnych algorytmach, takich jak Screen Space Ambient Occlusion.

Jednostki operacji rasteryzacji (ROP)

Jednostki rasteryzacyjne wykonują operacje zapisywania obliczonych przez kartę graficzną pikseli w buforach oraz operacje ich mieszania (mieszania). Jak zauważyliśmy powyżej, wydajność bloków ROP wpływa na szybkość napełniania i jest to jedna z głównych cech kart graficznych wszechczasów. I chociaż jego znaczenie również ostatnio nieco spadło, nadal zdarzają się przypadki, w których wydajność aplikacji zależy od szybkości i liczby bloków ROP. Najczęściej wynika to z aktywnego wykorzystania filtrów postprocessingu i włączonego antyaliasingu przy wysokich ustawieniach gry.

Zauważmy jeszcze raz, że współczesnych chipów wideo nie można oceniać jedynie na podstawie liczby różnych bloków i ich częstotliwości. Każda seria procesorów graficznych wykorzystuje nową architekturę, w której jednostki wykonawcze znacznie różnią się od starych, a stosunek liczby różnych jednostek może się różnić. Tym samym jednostki AMD ROP w niektórych rozwiązaniach mogą wykonać więcej pracy na cykl zegara niż jednostki w rozwiązaniach NVIDIA i odwrotnie. To samo tyczy się możliwości jednostek teksturujących TMU – różnią się one w różnych generacjach procesorów graficznych różnych producentów i trzeba to wziąć pod uwagę przy porównywaniu.

Bloki geometryczne

Do niedawna liczba jednostek przetwarzających geometrię nie była szczególnie istotna. Do większości zadań wystarczył jeden blok na GPU, ponieważ geometria w grach była dość prosta, a wydajność skupiała się głównie na obliczeniach matematycznych. Znaczenie przetwarzania geometrii równoległej i liczby odpowiednich bloków dramatycznie wzrosło wraz z pojawieniem się obsługi teselacji geometrii w DirectX 11. NVIDIA jako pierwsza zrównolegliła przetwarzanie danych geometrycznych, gdy w jej chipach z rodziny GF1xx pojawiło się kilka odpowiednich bloków. Następnie AMD wypuściło podobne rozwiązanie (tylko w topowych rozwiązaniach linii Radeon HD 6700 opartych na chipach Cayman).

W tym materiale nie będziemy wdawać się w szczegóły, można je przeczytać w podstawowych materiałach na naszej stronie poświęconych procesorom graficznym zgodnym z DirectX 11. Dla nas ważne jest to, że liczba jednostek przetwarzających geometrię ma ogromny wpływ na ogólną wydajność w najnowszych grach wykorzystujących teselację, takich jak Metro 2033, HAWX 2 i Crysis 2 (z najnowszymi łatkami). Wybierając nowoczesną kartę graficzną do gier, bardzo ważne jest, aby zwrócić uwagę na wydajność geometryczną.

Rozmiar pamięci wideo

Własna pamięć jest wykorzystywana przez chipy wideo do przechowywania niezbędnych danych: tekstur, wierzchołków, danych bufora itp. Wydawać by się mogło, że im więcej, tym lepiej. Ale to nie jest takie proste, szacowanie mocy karty graficznej na podstawie ilości pamięci wideo jest najczęstszym błędem! Niedoświadczeni użytkownicy najczęściej przeceniają wartość pamięci wideo, a mimo to wykorzystują ją do porównywania różnych modeli kart graficznych. Jest to zrozumiałe - ten parametr jest jednym z pierwszych wskazywanych na listach cech gotowych systemów, a także jest zapisywany dużą czcionką na pudełkach kart graficznych. Dlatego niedoświadczonemu nabywcy wydaje się, że skoro jest dwa razy więcej pamięci, to prędkość takiego rozwiązania powinna być dwa razy większa. Rzeczywistość różni się od tego mitu tym, że pamięć występuje w różnych typach i cechach, a wzrost produktywności rośnie tylko do pewnego poziomu, a po jego osiągnięciu po prostu się zatrzymuje.

Tak więc w każdej grze, przy określonych ustawieniach i scenach gry, dostępna jest pewna ilość pamięci wideo wystarczająca na wszystkie dane. I nawet jeśli umieścisz tam 4 GB pamięci wideo, nie będzie powodu, aby przyspieszała renderowanie, prędkość będzie ograniczona przez omówione powyżej jednostki wykonawcze i po prostu będzie wystarczająco dużo pamięci. Dlatego w wielu przypadkach karta graficzna z 1,5 GB pamięci wideo działa z tą samą szybkością, co karta z 3 GB (przy wszystkich innych parametrach bez zmian).

Są sytuacje, w których większa ilość pamięci prowadzi do widocznego wzrostu wydajności - są to bardzo wymagające gry, zwłaszcza przy ultrawysokich rozdzielczościach i przy maksymalnych ustawieniach jakości. Ale takie przypadki nie zawsze się zdarzają i należy wziąć pod uwagę ilość pamięci, nie zapominając, że wydajność po prostu nie wzrośnie powyżej określonej ilości. Układy pamięci mają także ważniejsze parametry, takie jak szerokość magistrali pamięci i jej częstotliwość pracy. Temat jest na tyle obszerny, że w szóstej części naszego materiału zajmiemy się bardziej szczegółowo wyborem ilości pamięci wideo.

Szerokość magistrali pamięci

Szerokość magistrali pamięci jest najważniejszą cechą wpływającą na przepustowość pamięci (MBB). Większa szerokość umożliwia przesłanie większej ilości informacji z pamięci wideo do procesora graficznego i z powrotem w jednostce czasu, co w większości przypadków ma pozytywny wpływ na wydajność. Teoretycznie magistrala 256-bitowa może przesłać dwa razy więcej danych na cykl zegara niż magistrala 128-bitowa. W praktyce różnica w szybkości renderowania, choć nie osiąga dwukrotności, w wielu przypadkach jest bardzo zbliżona do tej, z naciskiem na przepustowość pamięci wideo.

Nowoczesne karty graficzne do gier wykorzystują różne szerokości magistrali: od 64 do 384 bitów (wcześniej były chipy z magistralą 512-bitową), w zależności od przedziału cenowego i czasu premiery konkretnego modelu GPU. W przypadku najtańszych kart graficznych z niższej półki najczęściej stosuje się 64, a rzadziej 128 bitów, dla średniego poziomu od 128 do 256 bitów, a karty graficzne z wyższego przedziału cenowego wykorzystują magistrale o szerokości od 256 do 384 bitów. Szerokość magistrali nie może już rosnąć wyłącznie z powodu ograniczeń fizycznych - rozmiar kości GPU jest niewystarczający, aby pomieścić więcej niż magistralę 512-bitową, a to jest zbyt drogie. Dlatego przepustowość pamięci jest obecnie zwiększana poprzez zastosowanie nowych typów pamięci (patrz poniżej).

Częstotliwość pamięci wideo

Kolejnym parametrem wpływającym na przepustowość pamięci jest jej częstotliwość taktowania. Zwiększenie przepustowości często bezpośrednio wpływa na wydajność karty graficznej w aplikacjach 3D. Częstotliwość magistrali pamięci na nowoczesnych kartach graficznych waha się od 533 (1066, biorąc pod uwagę podwojenie) MHz do 1375 (5500, biorąc pod uwagę czterokrotne) MHz, czyli może różnić się ponad pięciokrotnie! A ponieważ szerokość pasma zależy zarówno od częstotliwości pamięci, jak i szerokości jej magistrali, pamięć z 256-bitową magistralą pracującą z częstotliwością 800 (3200) MHz będzie miała większą przepustowość w porównaniu do pamięci działającej z częstotliwością 1000 (4000) MHz i 128 -bitowy autobus.

Szczególną uwagę na parametry szerokości magistrali pamięci, jej rodzaj i częstotliwość pracy należy zwrócić przy zakupie stosunkowo niedrogich kart graficznych, z których wiele ma jedynie interfejsy 128-bitowe, a nawet 64-bitowe, co ma wyjątkowo negatywny wpływ na ich wydajność . Ogólnie rzecz biorąc, nie zalecamy zakupu karty graficznej wykorzystującej 64-bitową magistralę pamięci wideo do komputera do gier. Wskazane jest preferowanie co najmniej średniego poziomu z co najmniej 128- lub 192-bitową magistralą.

Typy pamięci

Nowoczesne karty graficzne są wyposażone w kilka różnych typów pamięci. Nigdzie nie znajdziesz już starej, jednobiegowej pamięci SDR, ale nowoczesne typy pamięci DDR i GDDR mają znacząco różne cechy. Różne typy pamięci DDR i GDDR umożliwiają przesyłanie od dwóch do czterech razy większej ilości danych przy tej samej częstotliwości zegara w jednostce czasu, dlatego częstotliwość pracy jest często podwojona lub czterokrotna, pomnożona przez 2 lub 4. Tak więc, jeśli częstotliwość jest określona dla pamięci DDR 1400 MHz, wówczas pamięć ta pracuje z fizyczną częstotliwością 700 MHz, ale wskazują one tzw. częstotliwość „efektywną”, czyli taką, na której musi pracować pamięć SDR, aby zapewnić tę samą przepustowość. To samo z GDDR5, ale częstotliwość jest nawet czterokrotnie większa.

Główną zaletą nowych typów pamięci jest możliwość pracy z wyższymi częstotliwościami taktowania, a co za tym idzie zwiększenie przepustowości w porównaniu do poprzednich technologii. Osiąga się to kosztem zwiększonych opóźnień, które jednak nie są tak istotne w przypadku kart graficznych. Pierwszą płytą wykorzystującą pamięć DDR2 była NVIDIA GeForce FX 5800 Ultra. Od tego czasu technologia pamięci graficznej znacznie się rozwinęła i opracowano standard GDDR3, który jest zbliżony do specyfikacji DDR2, z pewnymi zmianami specjalnie dla kart graficznych.

GDDR3 to pamięć zaprojektowana specjalnie dla kart graficznych, wykorzystująca te same technologie co DDR2, ale z ulepszoną charakterystyką zużycia i rozpraszania ciepła, co umożliwiło tworzenie układów pracujących z wyższymi częstotliwościami taktowania. Pomimo tego, że standard został opracowany przez firmę ATI, pierwszą kartą graficzną, która go wykorzystała, była druga modyfikacja NVIDIA GeForce FX 5700 Ultra, a następną był GeForce 6800 Ultra.

GDDR4 to dalszy rozwój pamięci „graficznej”, działającej prawie dwukrotnie szybciej niż GDDR3. Główne różnice pomiędzy GDDR4 i GDDR3, które są istotne dla użytkowników, to po raz kolejny zwiększona częstotliwość pracy i zmniejszony pobór mocy. Technicznie pamięć GDDR4 nie różni się zbytnio od GDDR3, jest dalszym rozwinięciem tych samych pomysłów. Pierwszymi kartami graficznymi wyposażonymi w układy GDDR4 na pokładzie był ATI Radeon X1950 XTX, a NVIDIA w ogóle nie wypuściła na rynek produktów opartych na tego typu pamięciach. Przewagą nowych układów pamięci nad GDDR3 jest to, że pobór mocy modułów może być o około jedną trzecią niższy. Osiąga się to poprzez niższe napięcie znamionowe dla pamięci GDDR4.

Jednak GDDR4 nie jest powszechnie stosowany nawet w rozwiązaniach AMD. Począwszy od rodziny procesorów graficznych RV7x0, kontrolery pamięci kart graficznych obsługują nowy typ pamięci GDDR5 pracujący z efektywną poczwórną częstotliwością do 5,5 GHz i wyższą (teoretycznie możliwe są częstotliwości do 7 GHz), co daje przepustowość do do 176 GB/s przy użyciu interfejsu 256-bitowego. Jeśli w celu zwiększenia przepustowości pamięci GDDR3/GDDR4 konieczne było zastosowanie magistrali 512-bitowej, to przejście na GDDR5 umożliwiło podwojenie wydajności przy mniejszych rozmiarach kryształów i mniejszym zużyciu energii.

Najnowocześniejsze typy pamięci wideo to GDDR3 i GDDR5, różnią się one od DDR niektórymi szczegółami i obsługują także podwójny/poczwórny transfer danych. W tego typu pamięciach stosowane są specjalne technologie zwiększające częstotliwość roboczą. Zatem pamięć GDDR2 zwykle działa na wyższych częstotliwościach w porównaniu do DDR, GDDR3 na jeszcze wyższych częstotliwościach, a GDDR5 zapewnia w tej chwili maksymalną częstotliwość i przepustowość. Ale niedrogie modele są nadal wyposażone w „niegraficzną” pamięć DDR3 o znacznie niższej częstotliwości, dlatego należy ostrożniej wybierać kartę graficzną.

Architektura GPU: funkcje

Realizm grafiki 3D w dużej mierze zależy od wydajności karty graficznej. Im więcej bloków modułu cieniującego pikseli zawiera procesor i im wyższa częstotliwość, tym więcej efektów można zastosować do sceny 3D, aby poprawić jej percepcję wizualną.

Procesor graficzny zawiera wiele różnych bloków funkcjonalnych. Na podstawie liczby niektórych komponentów można oszacować moc procesora graficznego. Zanim przejdziemy dalej, przyjrzyjmy się najważniejszym blokom funkcjonalnym.

Procesory wierzchołków (jednostki cieniujące wierzchołki)

Podobnie jak jednostki cieniujące piksele, procesory wierzchołków wykonują kod modułu cieniującego, który dotyka wierzchołków. Ponieważ większy budżet wierzchołków pozwala na tworzenie bardziej złożonych obiektów 3D, wydajność procesorów wierzchołków jest bardzo ważna w scenach 3D ze złożonymi lub dużą liczbą obiektów. Jednak jednostki cieniujące wierzchołki nadal nie mają tak oczywistego wpływu na wydajność jak procesory pikselowe.

Procesory pikselowe (jednostki cieniujące piksele)

Procesor pikseli to element układu graficznego przeznaczony do przetwarzania programów cieniujących piksele. Procesory te wykonują obliczenia, które dotyczą wyłącznie pikseli. Ponieważ piksele zawierają informacje o kolorze, shadery pikseli umożliwiają osiągnięcie imponujących efektów graficznych. Na przykład większość efektów wodnych, które można zobaczyć w grach, jest tworzona przy użyciu modułów cieniujących piksele. Zwykle do porównania wydajności pikseli kart graficznych używa się liczby procesorów pikselowych. Jeśli jedna karta ma osiem jednostek cieniujących piksele, a druga 16 jednostek, logiczne jest założenie, że karta graficzna z 16 jednostkami będzie szybciej przetwarzać złożone programy cieniujące piksele. Należy również wziąć pod uwagę prędkość zegara, ale obecnie podwojenie liczby procesorów pikselowych jest bardziej energooszczędne niż podwojenie częstotliwości układu graficznego.

Ujednolicone shadery

Zunifikowane shadery nie zagościły jeszcze w świecie komputerów PC, ale nadchodzący standard DirectX 10 opiera się na podobnej architekturze. Oznacza to, że struktura kodu programów wierzchołkowych, geometrycznych i pikselowych będzie taka sama, chociaż shadery będą wykonywać inną pracę. Nową specyfikację można zobaczyć w Xboksie 360, gdzie procesor graficzny został specjalnie zaprojektowany przez ATi dla Microsoftu. Bardzo ciekawie będzie zobaczyć, jaki potencjał niesie ze sobą nowy DirectX 10.

Jednostki mapowania tekstur (TMU)

Tekstury należy wybrać i przefiltrować. Ta praca jest wykonywana przez jednostki mapowania tekstur, które działają w połączeniu z jednostkami cieniującymi piksele i wierzchołki. Zadaniem TMU jest stosowanie operacji teksturowania na pikselach. Liczba jednostek tekstur w procesorze graficznym jest często używana do porównywania wydajności tekstur kart graficznych. Rozsądnie jest założyć, że karta graficzna z większą liczbą TMU zapewni lepszą wydajność tekstur.

Rastrowe jednostki operatorskie (ROP)

Procesory rastrowe są odpowiedzialne za zapisywanie danych pikseli w pamięci. Szybkość wykonywania tej operacji to szybkość napełniania. W początkach akceleratorów 3D bardzo ważnymi cechami kart graficznych były ROP i szybkość wypełniania. Dzisiaj praca nad ROP jest nadal ważna, ale wydajność karty graficznej nie jest już ograniczana przez te bloki, jak kiedyś. Dlatego wydajność (i liczba) ROP jest rzadko wykorzystywana do oceny szybkości karty graficznej.

Przenośniki

Potoki służą do opisu architektury kart graficznych i dają bardzo jasny obraz wydajności procesora graficznego.

Przenośnik nie może być uważany za ściśle techniczny termin. Procesor graficzny wykorzystuje różne potoki, które wykonują różne funkcje. Historycznie rzecz biorąc, potok oznaczał procesor pikseli podłączony do jednostki mapowania tekstur (TMU). Na przykład karta graficzna Radeon 9700 wykorzystuje osiem procesorów pikselowych, z których każdy jest podłączony do własnego TMU, dlatego uważa się, że karta ma osiem potoków.

Ale nowoczesne procesory bardzo trudno opisać liczbą potoków. W porównaniu do poprzednich konstrukcji, nowe procesory wykorzystują modułową, rozdrobnioną strukturę. Za innowatora w tej dziedzinie można uznać firmę ATi, która wraz z linią kart graficznych X1000 przeszła na konstrukcję modułową, co umożliwiło osiągnięcie wzrostu wydajności poprzez wewnętrzną optymalizację. Niektóre bloki procesora są używane częściej niż inne i aby poprawić wydajność procesora graficznego, firma ATi próbowała znaleźć kompromis pomiędzy liczbą potrzebnych bloków a obszarem matrycy (którego nie można zbytnio zwiększyć). W tej architekturze termin „potok pikselowy” stracił już swoje znaczenie, ponieważ procesory pikselowe nie są już podłączone do własnych TMU. Na przykład procesor graficzny ATI Radeon X1600 ma 12 jednostek cieniujących piksele i tylko cztery jednostki mapujące tekstury TMU. Dlatego nie można powiedzieć, że architektura tego procesora ma 12 potoków pikseli, tak jak nie można powiedzieć, że jest ich tylko cztery. Tradycyjnie jednak nadal wspomina się o potokach pikseli.

Biorąc pod uwagę powyższe założenia, do porównywania kart graficznych często wykorzystuje się liczbę potoków pikseli w procesorze graficznym (z wyjątkiem linii ATi X1x00). Na przykład, jeśli weźmiesz karty graficzne z 24 i 16 potokami, całkiem rozsądne jest założenie, że karta z 24 potokami będzie szybsza.


TREŚĆ

Automatyzacja rozliczania transakcji bankowych i jej wdrożenie w programie 1C Accounting

Jeżeli całą działalność przedsiębiorstwa można podzielić na procesy biznesowe, wówczas procesy te można podzielić na mniejsze elementy. W metodyce budowania procesów biznesowych nazywa się to dekompozycją...

Elementy wewnętrzne i urządzenia peryferyjne komputerów PC

Badanie modelu populacji dyskretnej przy użyciu programu Model Vision Studio

Głównym „cegiełkiem” opisu w MVS jest blok. Blok to jakiś aktywny obiekt, który funkcjonuje równolegle i niezależnie od innych obiektów w czasie ciągłym. Blok jest blokiem zorientowanym...

Wykorzystanie LMS Moodle w procesie edukacyjnym

Każde pole musi mieć obszar centralny. Może nie być lewej lub prawej kolumny z blokami. Ale różne bloki zawarte w systemie zarządzania nauczaniem Moodle zwiększają funkcjonalność...

Badanie możliwości nauczycieli w systemie nauczania na odległość Moodle

Aby dodać nowe zasoby, elementy, bloki lub edytować istniejące w swoim kursie, kliknij przycisk Edytuj znajdujący się w bloku kontrolnym. Ogólny widok okna kursu w trybie edycji pokazano na rysunku 2.5: Rysunek 2...

Symulacja w tworzeniu oprogramowania

Słownictwo UML obejmuje trzy typy elementów składowych: jednostki; relacja; diagramy. Jednostki to abstrakcje będące podstawowymi elementami modelu...

Symulacja pracy w bibliotece

Operatory - bloki tworzą logikę modelu. GPSS/PC zawiera około 50 różnych typów bloków, z których każdy pełni określoną funkcję. Za każdym z tych bloków znajduje się odpowiedni podprogram tłumacza...

Kluczowe cechy CSS3

Możesz zaprojektować tekst w oryginalny sposób, korzystając z różnorodnych bloków konwersacyjnych, które również są wykonane w oparciu o technologie CSS3. (Rys. 5.) Ryc. 5...

Kluczowe cechy CSS3

Półprzezroczysty efekt elementu jest wyraźnie widoczny na obrazie tła i stał się powszechny w różnych systemach operacyjnych, ponieważ wygląda stylowo i pięknie...

Przygotowanie dokumentu tekstowego zgodnie z STP 01-01

Bloki rozszerzeń (karty) lub karty (karty), jak się je czasami nazywa, mogą służyć do obsługi urządzeń podłączonych do komputera IBM PC. Można je wykorzystać do podłączenia dodatkowych urządzeń (kart graficznych, kontrolerów dysków itp.)...

Awaria i naprawa karty graficznej

Bloki te współpracują z procesorami cieniującymi wszystkich określonych typów; wybierają i filtrują dane tekstur niezbędne do zbudowania sceny...

Program rejestracji procesu produkcyjnego dla zautomatyzowanego systemu zarządzania przedsiębiorstwem w branży elektronicznej

Istnieje 11 rodzajów bloków, z których można wykonać konkretny system MES dla konkretnej produkcji...

Opracowanie pakietu oprogramowania do obliczania odszkodowań za naprawy główne

Na najniższym poziomie szczegółowości dane bazy danych Oracle są przechowywane w blokach danych. Jeden blok danych odpowiada określonej liczbie bajtów miejsca na dysku fizycznym...

Rozwój systemu zarządzania sprzętem i oprogramowaniem dla platform transportowych w Simatic Step-7

Jednostki systemowe są składnikami systemu operacyjnego. Mogą być przechowywane przez programy (funkcje systemowe, SFC) lub dane (systemowe bloki danych, SDB). Jednostki systemowe zapewniają dostęp do ważnych funkcji systemu...

Urządzenia wchodzące w skład komputera

Bloki rozszerzeń (karty) lub karty (karty), jak się je czasami nazywa, mogą służyć do obsługi urządzeń podłączonych do komputera IBM PC. Można je wykorzystać do podłączenia dodatkowych urządzeń (kart graficznych, kontrolerów dysków itp.)...

Powiedz przyjaciołom