Królowie grafiki

Czternastego kwietnia bieżącego roku ukrywający się dotąd pod kryptonimem NV40 najnowszy układ graficzny nVidii ujrzał światło dzienne. Kości GeForce 6800 Ultra i GeForce 6800, bo taką oficjalną nazwę otrzymały dwie wersje układu NV40, nie można tak po prostu nazwać następcami dotychczasowej rodziny akceleratorów GeForce FX.

Dwa razy szybciej

Architektura kości NV40 dość znacznie różni się od rozwiązań stosowanych w układach NV35/ NV38 (GeForce FX 5900/5950). W dotychczasowych procesorach graficznych (patrz: $(LC51642:nVidia kontratakuje)$) nVidii znaleźć można było cztery potoki renderujące (ang. pipeline), a w każdym z nich umieszczono po dwie jednostki mapujące tekstury TMU (Texture Mapping Unit). Oznacza to, że jednocześnie przetwarzane były cztery punkty obrazu, na które można było nałożyć dwie tekstury. Z kolei nowy GeForce FX 6800 Ultra ma aż szesnaście, a GeForce FX 6800 dwanaście jednostek renderujących! Każda z nich wyposażona została w pojedynczy moduł TMU, niemniej jednocześnie przetwarzanych jest cztery razy więcej pikseli i dwa razy więcej tekstur!

To jednak nie jedyne innowacje. Otóż architektura nowych GeForce’ów jest superskalarna, a więc konstruktorzy zwielokrotnili liczbę jednostek wykonawczych. W NV40 zdublowano moduły cieniujące (ang. shader unit) w każdym potoku renderującym. To z kolei sprawia, że w przypadku obliczeń, w których nie uwzględnia się koloru nakładanej tekstury, możliwe jest przeprowadzenie kalkulacji nie dla szesnastu, a dla trzydziestu dwóch punktów obrazu w jednym takcie zegara.

Nie zapomnij o precyzji

Konstruktorzy z nVidii zwiększyli binarną dokładność operacji zmiennoprzecinkowych, z jaką działają moduły Pixel Shader. W układach z serii GeForce 6800 jednostki wykonawcze operują nie jak do tej pory z 24-, lecz z 32-bitową dokładnością. Podniesiono też precyzję odwzorowania jasności kolorów z ośmiobitowej liniowej przestrzeni w modelu RGBA (po osiem bitów na każdy kolor i osiem bitów dla kanału przezroczystości Alpha) do logarytmicznego modelu OpenEXR o 11-bitowej precyzji (dozwolone są wartości od 2-24 do 65 504). Technologia ta, nazwana przez nVidię HPDR (High-Precision Dynamic-Range), umożliwia układowi NV40 wygenerowanie takich scen, jakie znamy z kina, bez straty wydajności. Dotyczy to zwłaszcza obiektów oświetlonych intensywnym światłem słonecznym, rozkładu cieni w ciemnych pomieszczeniach, gdzie przez szczeliny dostaje się światło dzienne, czy realistycznego odwzorowania chmur na niebie.

W NV40 wprowadzono nową metodę wygładzania krawędzi – Rotated-Grid Antialiasing. Polega ona na innym doborze punktów, które posłużą za bazę do obliczeń antyaliasingu. Punkty próbkowania położone są wzajemnie w taki sposób, że tworzą figurę o kształcie diamentu, a nie jak dotychczas w metodzie FSAA 4x – kwadratu. Dzięki temu GeForce 6800 oblicza rozmycie krawędzi na podstawie kolorów sąsiadujących ze sobą powierzchni, a nie tylko linii przedzielającej dwa obszary. Nowa metoda wygładzania krawędzi ma według producenta zapewnić znacznie lepszą jakość wyświetlanego na ekranie monitora obrazu.

Nowe szaty GeForce’a

GeForce 6800 doczekał się kolejnej, trzeciej wersji technologii Intellisample. Składają się na nią dostępne dotychczas jedynie w układach ATI, szesnastokrotne filtrowanie anizotropowe tekstur, znana z poprzedniej generacji GeForce’ów technologia HCT (High-resolution Compression Technology), poprawiająca wydajność kompresji kolorów, tekstur i danych Z-bufora, oraz kolejna wersja techniki UltraShadow – UltraShadow II. Ta ostatnia metoda odpowiedzialna jest za przyśpieszenie generowania cieni, które w takich grach jak Doom III mogą pochłonąć nawet połowę mocy obliczeniowej karty.

Kolejne nowe efekty graficzne i możliwości GeForce’a 6800 związane są z ulepszonym silnikiem graficznym CineFX 3.0, odpowiedzialnym za operacje na wierzchołkach i pikselach – moduły Vertex i Pixel Shader. Nowe jednostki shaderowe zgodne są z funkcjami Vertex i Pixel Shader 3.0 z pakietu DirectX 9.0c. Obsługiwane są także biblioteki graficzne OpenGL 1.5. Podstawową różnicą w stosunku do poprzedniej wersji specyfikacji Vertex i Pixel Shader jest możliwość korzystania z programów o nieskończonej długości, wykonywania pętli, podprogramów i dynamicznego śledzenia rezultatów wykonywanych obliczeń.

Interesująca jest też możliwość przekazywania sobie wyników obliczeń przez jednostki Pixel Shader w specjalnych buforach. Technologia ta, nazwana MRT (Multiple Render Target), pozwala na zapisanie danych dotyczących położenia, koloru i nałożonej na punkt tekstury. Informacje te mogą być następnie wykorzystane np. do nakładania światła i cieni w końcowej fazie renderowania obiektów, bez konieczności sięgania po nie do pamięci karty. Technika ta znana też jest pod nazwą odroczonego cieniowania (ang. deferred shading).

Porównanie układów NV40 i R420 z najszybszymi obecnie modelami procesorów graficznych
nVidia GeForce FX 5900 UltranVidia GeForce FX 5950 UltranVidia GeForce 6800 UltranVidia GeForce 6800ATI Radeon 9800 ProATI Radeon 9800XTATI Radeon X800 ProATI Radeon X800XT
Nazwa kodowaNV35NV38NV40NV40R350R360R420/R423R420/R423
Sugerowana cena2000 zł2350 zł549 euro349 euro1700 zł2250 zł399 USD499 USD
Technologia wykonania0,13 mm0,13 mm0,13 mm0,13 mm0,15 mm0,15 mm0,13 mm low-k0,13 mm low-k
Liczba tranzystorów130 mln130 mln220 mln220 mln107 mln107 mln160 mln190 mln
Silnik graficznyCineFX 2.0CineFX 2.0CineFX 3.0CineFX 3.0Smartshader 2.1Smartshader 2.1Smartshader 2.2Smartshader 2.2
Liczba potoków renderujących441612881216
Liczba TMU/potok22111111
Generacja DirectX9.0+9.0+9.0c+9.0c+9.09.09.0+9.0+
Vertex Shader2.0+2.0+3.03.02.02.02.0+2.0+
Pixel Shader2.0+2.0+3.03.02.02.02.0+2.0+
PamięćGDDR1 (256-bit)GDDR1 (256-bit)GDDR3 (256-bit)GDDR1 (128-bit)GDDR1 (256-bit)GDDR1 (256-bit) GDDR1/GDDR3 (256-bit) GDDR3 (256-bit)
Przepustowość pamięci27,2 GB/s30,4 GB/s35,2 GB/s*32,0 GB/s (?)21,8 GB/s23,4 GB/s32,0 GB/s (?)38,4 GB/s (?)
Taktowanie pamięci (efektywne)850 MHz950 MHz1100 MHz*1000 MHz (?)680 MHz730 MHz1000 MHz (?)1200 MHz (?)
Taktowanie rdzenia450 MHz475 MHz400 MHz*b.d.380 MHz412 MHz500 MHz (?)600 MHz (?)
Fillrate3,6 Gpiksela/s3,8 Gpiksela/s7,6 Gpiksela/s4,8 Gpiksela/s3,04 Gpiksela/s3,3 Gpiksela/s7,0 Gpiksela/sb.d.
ZłączeAGP 8xAGP 8xAGP 8x/PCI Express 16xAGP 8x/PCI Express 16xAGP 8xAGP 8xAGP 8x/PCI Express 16xAGP 8x/PCI Express 16x
Wydajność**
3DMark03/FarCry (1600×1200 4xAA/8xAF)6198/15 fps6218/17 fps14860/33 fpsb.d./b.d.584/18 fps6235/21 fpsb.d./b.d.b.d./b.d.
* – pierwsze modele kart referencyjnych nVidii; ** – na podstawie danych producenta i uśrednionych wyników testów z Internetu; b.d. – brak danych; (?) – przypuszczalne dane techniczne dla seryjnych wersji układów graficznych
Więcej:bezcatnews