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 GammaChrome | S3 DeltaChrome S8 | ATI Radeon X800 Pro | ATI Radeon 9800 Pro | nVidia GeForce 6800 | nVidia GeForce FX 5900 Ultra | |
Nazwa kodowa | GammaChrome | DeltaChrome | R420/R423 | R350 | NV40 | NV35 |
Sugerowana cena | 1200 zł | 570 zł | 2100 zł | 1700 zł | 1600 zł | 2000 zł |
Technologia wykonania | 0,13 mm | 0,15 mm | 0,13 mm | 0,15 mm | 0,13 mm | 0,13 mm |
Liczba tranzystorów | 95 mln | 80 mln | 160 mln | 107 mln | 220 mln | 130 mln |
Silnik graficzny | Chromotion 2.0 | Chromotion 1.0 | Smartshader 2.2 | Smartshader 2.1 | CineFX 3.0 | Cine FX 2.0 |
Liczba potoków renderujących | 8 | 8 | 12 | 8 | 16 | 4 |
Liczba TMU/potok | 2 | 2 | 1 | 1 | 1 | 2 |
Generacja DirectX1) | 9.0+ | 9.0+ | 9.0+ | 9.0 | 9.0c+ | 9.0+ |
Vertex Shader1) | 2.0+ | 2.0+ | 2.0+ | 2.0 | 3.0 | 2.0+ |
Pixel Shader1) | 2.0+ | 2.0+ | 2.0+ | 2.0 | 3.0 | 2.0+ |
Pamięć | GDDR1/GDDR3 (128-bit) | GDDR1 (128-bit) | GDDR1/GDDR3 (256-bit) | GDDR1 (256-bit) | GDDR3 (256-bit) | GDDR1 (256-bit) |
Taktowanie rdzenia | 520_600 MHz | 300 MHz | 475 MHz | 380 MHz | 375 MHz | 450 MHz |
Fillrate | 4,6 gigateksela/s | 2,4 gigateksela/s | 5,7 gigateksela/s | 3,04 gigateksela/s | 7,6 gigateksela/s | 3,6 gigateksela/s |
Złącze | PCI Express x16 | AGP 8x | PCI Express x16/AGP 8x | AGP 8x | PCI Express x16/AGP 8x | AGP 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 | ||||||