Ekspresowe karty

Dalekowschodni producenci kości graficznych ostatnimi czasy nie mieli szczęścia w promowaniu nowych układów generujących obraz 3D. Być może ten stan rzeczy zmieni się za sprawą procesora GammaChrome produkowanego przez legendarną firmę S3

Pamiętacie jeszcze takie nazwy kart graficznych, jak Virge, Savage3D czy Savage 2000? Ich producentem była tajwańska firma S3, należąca obecnie do VIA Technologies, którą śmiało można nazwać jednym z pionierów rozwoju trójwymiarowej grafiki generowanej w czasie rzeczywistym na domowym pececie. Szkoda, że jak to zwykle z twórcami nowych rozwiązań bywa, została ona wyparta z rynku akceleratorów 3D – na początku przez nieistniejące już 3dfx, a następnie przez nVidię i ATI.

Niezbyt udaną próbą powrotu firmy S3 na rynek układów graficznych była seria kości DeltaChrome (patrz: $(LC57902:Blask chromu)$, i $(LC83491:Konkurencja nie śpi)$). Niestety, stosunkowo późne wdrożenie układów do produkcji, kłopoty ze sterownikami i współpraca jedynie z dalekowschodnimi wytwórcami kart graficznych sprawiły, że produktów spod znaku S3 próżno było szukać w Europie i USA. Dopiero niedawno za sprawą firmy Club 3D w sklepach na naszym kontynencie (szkoda, że jeszcze nie w Polsce) zaczęły pojawiać się pierwsze karty DeltaChrome, w tym w najnowszej wersji – S8 Nitro.

Kierunek PCI Express

Nadchodzące zmiany, dotyczące architektury komputerów PC, skłoniły konstruktorów z firmy S3 do przeorientowania koncepcji rozwoju kart graficznych. Najnowszy wspomniany na wstępie akcelerator 3D – GammaChrome – przeznaczony jest wyłącznie do współpracy z magistralą PCI Express x16. Co ważne, w odróżnieniu od urządzeń nVidii wykorzystujących specjalny układ pośredniczący HSI (High Speed Interconnect) kość S3 ma wbudowany natywny kontroler nowej magistrali. Dzięki temu, jak twierdzi producent, dane pochodzące z procesora i pamięci RAM mogą być o ok. 30% szybciej przesyłane do karty graficznej.

Sama konstrukcja układu GammaChrome w znacznej części bazuje na dotychczasowym akceleratorze S3 DeltaChrome. W kości znajduje się osiem potoków renderujących, w których umieszczono po jednej jednostce przetwarzającej piksele – Pixel Shader 2.0+. Oczywiście Pixel Shadery z kości GammaChrome zgodne są sprzętowo ze specyfikacją DirectX 9.0 (Pixel Shader 2.0). Niemniej dodano do nich kilka dodatkowych efektów, o czym nieco dalej, oraz zwiększono dokładność obliczeń z 96 (DX 9.0) do 160 bitów. Stąd w ich nazwie pojawił się symbol „plus”.

W każdym potoku teksturującym znalazły się po dwie jednostki mapujące tekstury TMU (Texture Mapping Unit). Umożliwia to w jednym cyklu zegara nałożenie do szesnastu tekstur na generowaną scenę 3D. Współczynnik fillrate dla układu GammaChrome wynosić ma ok. 4,6 gigateksela/s – dla porównania: w przypadku nVidii GeForce 6800 jest to 4,8 gigateksela/s.

GammaChrome, tak jak jej poprzednik DeltaChrome S8 Nitro, ma cztery 128-bitowe jednostki Vertex Shader 2.0+. Podobnie jak Pixel Shadery 2.0+, są one sprzętowo zgodne z DirectX 9.0. Niemniej zwiększono w nich liczbę zagnieżdżeń pętli z czterech do 256.

Nowością w stosunku do układu S8 Nitro jest dodanie do modułów Vertex Shader jednostki pobierania i analizy tekstur, co również uczynili konstruktorzy nVidii w najnowszych GeForce’ach 6800 (NV40). W zbliżony sposób jak w przypadku akceleratorów nVidii z serii NV40, rozwiązano problem kadrowania sceny. Otóż w Vertex Shaderach umieszczono blok optymalizujący obliczenia geometryczne i kalkulacje oświetlenia z uwzględnieniem punktu, w którym znajduje się obserwator. Całość układów, a więc modułów Pixel i Vertex Shader, oraz technologii odpowiedzialnych za tworzenie sceny 3D nazwana została przez inżynierów z firmy S3 silnikiem graficznym Chromotion 2.0.

Poza DirectX

W stosunku do standardowych wymagań związanych z generowaniem obrazu w nowej kości S3 zwiększona została precyzja odwzorowania kolorów. Zamiast ośmiu bitów przypadających na jeden kolor RGB i ośmiu bitów dla kanału przezroczystości Alpha GammaChrome posługuje się dziesięcioma bitami. Technologia ta, którą nazwano DeepColor Precision, umożliwia odwzorowanie nie jak dotychczas 256, lecz 1024 odcieni składowych barw. Co więcej, tak jak w przypadku kości DeltaChrome, Pixel Shadery można wykorzystać do korekcji jasności, kontrastu i nasycenia kolorów pojedynczych punktów obrazu, i to nie tylko przy generowaniu grafiki 3D (technologia Per Pixel Gamma Correction).

Wracając do dodatkowych trójwymiarowych efektów graficznych, w nowej kości znalazły się następujące ciekawe funkcje: Shadow Volume Acceleration, Volume and Cube Maps for Photo-Realistic Reflections, Render Target Blending i Depth Shader. Dwie ostatnie znane są już z poprzedniej wersji kości S3 DeltaChrome. Odpowiadają one m.in. za cieniowanie obiektów i wydobywanie lub ukrywanie we mgle i mroku. Funkcja działa na zasadzie wyostrzania bądź zamazywania obrazu obiektów. Z kolei opcja Shadow Volume Acceleration pozwala w szybki sposób operować na tzw. cieniach wolumetrycznych. Nakłada ona na przedstawiające cienie tzw. objętościowe tekstury, przezroczystości opisane kanałem Alpha. W odróżnieniu jednak od tradycyjnych metod posługiwania się „przenikalnościami” możliwe jest jednoczesne nałożenie dwóch wartości kanału Alpha zamiast jednej.

Ostatnia z wymienionych wyżej technologii – Volume and Cube Maps for Photo-Realistic Reflections – w swoim działaniu przypomina funkcję Shadow Volume Acceleration. Z tym jednak, że wszelkie operacje, tym razem dotyczące refleksów świetlnych, wykonywane są na teksturach wolumetrycznych i mapach kubicznych powstałych z połączenia tekstury pierwotnej nakładanej na obiekt z mapami środowiska (np. odbiciami światła od przedmiotów). Jak można się domyślić, zastosowanie powyższych funkcji znacznie skraca czas obliczeń – zamiast wykonywania szeregu skomplikowanych operacji wystarczy jedna instrukcja, dzięki której osiągnie się ten sam efekt graficzny.

Porównanie układu GammaChrome z wybranymi modelami procesorów graficznych
S3 GammaChromeS3 DeltaChrome S8ATI Radeon X800 ProATI Radeon 9800 PronVidia GeForce 6800nVidia GeForce FX 5900 Ultra
Nazwa kodowaGammaChromeDeltaChromeR420/R423R350NV40NV35
Sugerowana cena1200 zł570 zł2100 zł1700 zł1600 zł2000 zł
Technologia wykonania0,13 mm0,15 mm0,13 mm0,15 mm0,13 mm0,13 mm
Liczba tranzystorów95 mln80 mln160 mln107 mln220 mln130 mln
Silnik graficznyChromotion 2.0Chromotion 1.0Smartshader 2.2Smartshader 2.1CineFX 3.0Cine FX 2.0
Liczba potoków renderujących88128164
Liczba TMU/potok221112
Generacja DirectX1)9.0+9.0+9.0+9.09.0c+9.0+
Vertex Shader1)2.0+2.0+2.0+2.03.02.0+
Pixel Shader1)2.0+2.0+2.0+2.03.02.0+
PamięćGDDR1/GDDR3 (128-bit)GDDR1 (128-bit)GDDR1/GDDR3 (256-bit)GDDR1 (256-bit)GDDR3 (256-bit)GDDR1 (256-bit)
Taktowanie rdzenia520_600 MHz300 MHz475 MHz380 MHz375 MHz450 MHz
Fillrate4,6 gigateksela/s2,4 gigateksela/s5,7 gigateksela/s3,04 gigateksela/s7,6 gigateksela/s3,6 gigateksela/s
ZłączePCI Express x16AGP 8xPCI Express x16/AGP 8xAGP 8xPCI Express x16/AGP 8xAGP 8x
1) – Specyfikacje DirectX 9.0+ dla produktów nVidii, ATI i S3 są różne, odmiene są też możliwości Vertex i Pixel Shaderów
Zamknij

Choć staramy się je ograniczać, wykorzystujemy mechanizmy takie jak ciasteczka, które pozwalają naszym partnerom na śledzenie Twojego zachowania w sieci. Dowiedz się więcej.