První herní či chcete-li konzumní grafické akcelerátory se před deseti lety
zrodily na rýsovacích prknech společností či designérů, kteří se do té doby
věnovali profesionálním grafickým obvodům pro pracovní stanice zejména Silicon
Graphics. Ať už to byli 3D Labs s čipem Game Glint nebo nově vznikající firmy
jako 3Dfx a nVidia, které zakládaly skupinky zaměstnanců odcházející přímo z
SGI a dalších společností. Díky omezením daným technologiemi dostupnými ve
druhé polovině devadesátých let se tyto firmy při návrhu prvních herních 3D
akcelerátorů soustředily na pevnou implementaci základních funkcí pro 3D
rendering. S postupujícím vývojem se ale architektura "konzumních" 3D
akcelerátorů pro PC začala stále více vracet ke svým kořenům na pracovních
stanicích nejprve schopností manipulovat s vlastními 3D modely (funkce
Transformation & Lightning, poprvé implementovaná u grafického procesoru nVidia
GeForce GTS v roce 2000) a poté plnou programovatelností jednotek pro geometrii
(vertex shader) a povrchy (pixel shader) nejprve v celočíselném režimu (GeForce
3 a Radeon 8500), později v plovoucí desetinné čárce (GeForce 6 a Radeon X1000).
Grafický hardware tak uzavřel pomyslný kruh. Výkonné grafické stanice jsou
totiž v současné době stále častěji špičková PC, osazená grafickým hardwarem,
jež byl původně vyvinut pro počítačové hráče (profesionální karty mívají
odlišné ovladače a případně některé drobné úpravy). Přestože výrobci
mikroprocesorů a grafických procesorů dodávají specializovaný hardware určený
pro segment pracovních stanic, ve skutečnosti se jedná o stejný hardware, který
je osazován do výkonných herních PC a naopak. Procesory Xeon se tak proměnily v
Pentium Extreme a grafické karty Radeon jsou prodávány s drobnými úpravami
BIOSu a ovladačů jako řada FireGL. Při pohledu na nové generace grafických
karet si je nutné uvědomit důležitý fakt: nejedná se jen o hardware určený pro
hraní akčních her či realistických simulací, ale o obvody, které lze využít pro
profesionální účely při vizualizaci, renderingu, CAD/CAM a v neposlední řadě i
pro negrafické specializované výpočty v oblastech jako je aplikovaná genetika
či dokonce relační databáze. Právě nové generace grafických procesorů, mezi něž
pochopitelně patří i Radeon X1000, totiž nabízejí vysoký výpočetní výkon a
flexibilní architekturu s možností psaní komplexních programů pro stínovací
jednotky včetně větvení. Věnovat se proto podrobněji jejich architektuře
rozhodně není od věci.
Přestože nové karty ATI byly ohlášeny již počátkem října, odložili jsme náš
podrobný test až do lednového čísla. Důvod je jednoduchý: ATI sice uvedlo
současně sedm modelů grafických karet postavených na jádrech R520, RV530 a
RV515, zpočátku byly ale v prodeji jen některé z modelů, zatímco ty ostatní se
na trh (a v případě nejvýkonnější varianty i do naší redakce) dostaly až v
průběhu listopadu. Na vině jsou pochopitelně výrobní kapacity partnerů jako je
TSMC, kteří čipy ATI produkují zpočátku bude výroba zaměřena především na
dražší hi-end modely a levné čipy, které lze produkovat ve velkých objemech,
zatímco GPU střední třídy se na trhu objeví jako poslední. Ostatně uvedení celé
nové řady se oproti původním plánům značně opozdilo zejména díky problémům s
novým výrobním procesem.
ATI se při uvedení nové řady grafických karet poučilo z úspěšného postupu
konkurenční řady GeForce 6. Všechny nové modely z řady Radeon X1000 vycházejí
ze společné architektury a nabízí stejnou sadu funkcí (zejména plnou podporu
DirectX 9.0c), ale pochopitelně s odlišným výkonem. Díky modulárnímu designu
vlastních grafických procesorů je přitom možné snadno přidávat či odebírat
jednotlivé výpočetní jednotky (obvody pixel shader, vertex shader a texturovací
jednotky jsou nezávislé a nadále netvoří rigidní grafické potrubí), a tak
snadno vytvářet nové verze čipů. Čipy R520, RV530 a RV515 se liší právě počtem
specializovaných obvodů jako jsou shadery či texturovací jednotky a odlišují se
pochopitelně i pracovní frekvencí GPU a RAM. Modulární koncepce navíc umožnila,
aby od sebe byly odloučeny texturovací jendotky (potrubí), které jsou
zodpovědné za hrubý vykreslovací výkon grafického čipu, a stínovací jednotky
(tzv. shadery), které hrají důležitou roli zejména u nejnovějších her s
pokročilými efekty. ATI se tak u nových čipů soustředilo právě na shadery
teoreticky by to mělo znamenat výhodu u náročnějších her, které se objeví v
budoucnu (ze současných titulů by bylo možné jmenovat Fear či Quake 4).
Výsledky testů v současných a zejména starších hrách ale díky tomu dopadají
hůře zejména u GPU střední a nižší třídy, které pohánějí modely X1600 a X1300.
Pravdou ale je, že pouhé čtyři texturovací jednotky u modelu X1600 nepostačují
konkurenční karty i modely předchozí generace mívají spíše dvojnásobek.
Architektura čipů R5xx má, jak už jsme zmínili, několik společných prvků:
podpora DirectX 9.0c včetně shader model 3.0, značná modulárnost, oddělení
pixelových potrubí od stínovacích (shader) jednotek a celkový posun směrem ve
výkonu stínovacích obvodů na úkor hrubého rastrovacího výkonu (fillrate). Mezi
nejdůležitější nové prvky patří již zmíněná podpora shader modelu 3.0 (SM3).
Grafické čipy již dlouho obsahují více než jen soubor několika rychlých
rasterizačních a celočíselných vektorových jednotek, které jsou schopny
provádět jednoduché maticové výpočty s vektorovou grafikou a následně ji
"plnit" texturami, jako tomu bylo u grafických karet, které podporovaly sedmou
generaci Direct X. S příchodem DirectX 8 se objevily obvody pro úpravy a
stínování vektorových modelů (vertex shader) a efektové operace s jednotlivými
body obrazu (pixel shader) jde o specializované, plně programovatelné obvody,
které dokáží zpracovat geometrická a obrazová data masivně paralelním způsobem.
První a druhá generace shaderů měla ale značná omezení jednotky pracovaly zcela
či alespoň částečně v celočíselném režimu a nezvládaly ani základní větvení
algoritmů (for, if, else). Aplikace složitých algoritmů či postupná aplikace
několika efektů vyžadovala celočíselná zaokrouhlení, čímž dochází k
nepřesnostem ve výpočtech. Pixel Shader jednotky třetí generace (PS 3.0) již
pracují plně ve dvaatřicetibitovém FP režimu s podporou větvení kódu. To
umožňuje psaní kvalitnějších a komplexnějších efektových algoritmů a navíc
otevírá možnosti využít GPU i pro některé specifické výpočty. Taktéž jednotky
vertex shader jsou vybaveny vylepšenými obvody pro kontrolu toku instrukcí a
dat samotné programy pro jednotky vertex shader pak mohou mít až 1 024
instrukcí. Významnou novinkou je ultra threading dispatch processor (UTDP),
který má na starosti zásobování pixel shaderů daty a instrukcemi. Jde o to, že
některé instrukce mohou být zdrženy, než jim jsou přiřazena data, což zpomaluje
běh celého GPU. UTDP umožňuje rozdělit práci na mnoho miniaturních vláken
(threads), která jsou zpracována paralelně je-li tedy třeba dodat instrukcím v
některém z vláken data, jsou mezitím zpracovávána ta ostatní. Podobné obvody
existovaly i v předchozích generacích GPU, nová generace v čipech R5xx ale
používá vlákna obsahující pouze 16 pixelů, kterých může být současně
rozpracováno až 512 (u X1800), respektive 128 (u X1600 a X1300). Pixel shader
programy při použití PS 3.0 bývají často větveny a různé efekty jsou následně
aplikovány jen na některé pixely. Je-li v takovém případě možné při větvení
pracovat s menším počtem pixelů (pouze 16, místo stovek u předchozích generací
GPU), probíhají výpočty mnohem efektivněji. Samotné pixel shader jednotky jsou
organizovány do bloků po čtyřech, podobně jako u předchozích čipů ATI. Každá
jednotka přitom může zpracovat během jediného cyklu až 6 instrukcí.
Významné úpravy byly provedeny i na paměťovém řadiči. Hlavním problémem hi-end
karet s 256bitovým paměťovým rozhraním je totiž velké množství
"drátů" (minimálně 256) mezi GPU a paměťovými čipy. Takový počet elektrických
vedení vyžaduje složité PCB s pěti či dokonce osmi vrstvami, což výrobu
grafických karet značně prodražuje. ATI se rozhodlo použít "kruhový" paměťový
řadič, jehož fyzická architektura by se asi nejlépe dala přirovnat k městským
dopravním okruhům (ty řeší obdobný problém jak dostat co největší množství aut
z/do různých částí města). Hlavním dopravním kruhem je v tomto případě
512bitová kruhová sběrnice (256 bitů v každém směru), která má čtyři dopravní
"uzly", z nichž každý komunikuje se dvěma paměťovými moduly pomocí dvou
32bitových rozhraní. Dopravní uzly mohou komunikovat mezi sebou (pomocí zmíněné
512bitové sběrnice, která je přímo v GPU), přijímat povely či data od
paměťového řadiče a odesílat požadovaná data z RAM do cache pamětí, které jsou
k nim přirazeny. Případný požadavek na data z grafické RAM tak předá paměťový
řadič uzlu, v jehož paměti se data nachází. Ten je následně uloží do cache
paměti, která je nejblíže obvodům, jež si data vyžádaly buď do některé z
"vlastních" cache pamětí, nebo je po okruhu pošle uzlu, jehož paměti cache jsou
blíže "cílové adrese" uvnitř čipu. ATI se pomocí nového řadiče snaží
minimalizovat paměťovou latenci tedy dobu, po kterou musí obvody v GPU čekat na
potřebná data, a to na úkor celkové propustnosti. To je sice v rozporu s
dosavadním přístupem (pro výkon GPU byla v případě RAM nejdůležitějším faktorem
propustnost), složitější pixel shader programy s větvením a cykly (a tedy i
častějšími přístupy do paměti) by ale do budoucna mohly právě takovouto
architekturu využít mnohem efektivněji. ATI se v případě paměťového řadiče opět
soustředilo zejména na optimalizace důležité pro hry, které intenzivně
využívají stínovacích jednotek.
Jednou z novinek, které představila nVidia u GeForce 7800, je technika
vykreslování HDR (high dynamic range) tedy obrazu s vysokým dynamickým
rozsahem. HDR je důležité z hlediska kvality obrazu; umožňuje totiž mnohem
výraznější vykreslování barevných odstínů a vyšší barevnou dynamiku. V praxi to
znamená, že světlé i tmavé scény jsou živější či barevnější a u tmavých scén
lze lépe vnímat různé detaily. Nyní tedy s HDR přichází i ATI, a to dokonce v
kombinaci s antialiasingem (což GeForce 7800 nenabízí). Mezi další novinky v
oblasti kvality obrazu patří kvalitnější anisotropické filtrování přesněji
"area aniso", kdy se anisotropické filtrování počítá odlišnými metodami pro
blízké textury (euklidovský model výpočtu vzdálenosti: ÷ x2 + y2 + z2) a pro
vzdálenější textury (zjednodušený výpočet vzdálenosti s konstantou a: ax + by +
cz). nVidia sice podporovala metodu přesnějšího výpočtu již u GeForce FX,
používala ji ale pro celou scénu, což nadměrně zatěžovalo GPU.
Poslední zásadní novinkou, kterou přinášejí karty z rodiny Radeon X1000, je
podpora "platformy pro video" AVIVO, kterou společnost ATI ohlásila s
předstihem před uvedením nových grafických karet. AVIVO tvoří jednak karta pro
digitalizaci videa (ATI Theater 550) a grafické karty s podporou AVIVO tedy
libovolného modelu z řady Radeon X1000. Zatímco karta pro digitalizaci je
vybavena theater čipem pro kompresi MPEG-2 v reálném čase, úlohou grafických
karet je urychlit transkódování (tedy převod mezi formáty) a dekódování
(přehrávání) i těch nejnáročnějších druhů videa počínaje MPEG-2 a MPEG-4 či
DivX, přes WMV9, VC-1 až po H.264 používaný pro HDTV formáty, který nedokáží
současná CPU dekódovat v reálném čase. AVIVO obvody ale mají rovněž vylepšené
funkce De-Interlacing a Scaling, což by se mělo projevit na kvalitnějším
přehrávání běžných formátů jako je DVD či DivX a zobrazování TV signálu.
Výhodou AVIVO je i podpora dvou DVI výstupů dual-link. K jedné kartě je tak
možné připojit současně dva LCD displeje s vysokým rozlišením či LCD s vysokou
barevnou hloubkou 10bit či 16bit na kanál (30bit, respektive 48 bit RGB).
Radeon X1000 v praxi
Jakkoliv fantastická je technologie, kterou ATI pro novou řadu grafických karet
Radeon vyvinula, podstatná jsou především fakta o výkonu nových grafických
karet ve hrách a testech. Podívejme se tedy na jednotlivé modely podrobněji.
Výkon jsme se rozhodli komentovat jen stručně nejlepší obrázek si vytvoříte
podle vlastních výsledků testů, které jsme prováděli na sestavě s procesorem
AMD Athlon 64 X2 4800+, základní deskou Gigabyte GA-8N-SLI Royal, 2 x 512 MB
DDR Corsair 400 a dvěma pevnými disky Seagate s kapacitou 160 GB. K testům byl
potřeba výkonnější zdroj, a proto jsme zvolili 550W model od společnosti
Realpower.
Radeon X1800
Nástupce modelů X800 a X850 má konkurovat kartám GeForce 7800 GT a GTX spadá
tedy do nejvyšší výkonnostní kategorie s prodejní cenou (přinejmenším zpočátku)
nad hranicí deseti tisíc Kč. Prozatím je k dispozici ve dvou variantách:
X1800XT s 512 MB RAM a pracovní frekvencí 625/1500 MHz (GPU/RAM), a X1800XL s
256 MB RAM a frekvencí 500/1000 MHz. Obě karty používají nejvýkonnější variantu
GPU R5xx tedy R520, která má 8 vertexových a 16 pixelových potrubí (konkurenční
GeForce 7800 jich má 24) a 16 texturovacích jednotek. Zatímco Radeon X1800XL
byl v prodeji již v průběhu října, výkonnější varianta XT se do obchodů dostala
až koncem listopadu. Radeony X1800XL a XT jsou důstojnými konkurenty GeForce
7800GT a GTX s jedinou výjimkou. Velmi drahá 512MB varianta GeForce 7800 GTX je
ve většině testů rychlejší. Je ale pravděpodobné, že ATI uvede ještě výkonnější
verzi "platinum", aby dorovnalo náskok konkurence. Cenově jsou modely X1800 XL
srovnatelné s GeForce 7800 GT (od 11 000 Kč s DPH), v případě XT je situace pro
ATI o něco méně příznivá karty se prodávají o cca 1 500 Kč více než konkurenční
GeForce 7800GTX. V cenové relaci 15-16 tisíc Kč s DPH to ale není zas tak
zásadní rozdíl.
Radeon X1600
Radeon X1600 by měl nahradit modely X700, X800 a X800 GT a konkurovat především
GeForce 6600GT a nejlevnějším verzím GeForce 6800. ATI nabízí dvě varianty:
X1600 XT s GPU pracujícím na 590 MHz se 128 či 256 MB RAM a frekvencí 1,38 GHz
(cena v době uzávěrky byla přibližně 6 000 Kč za 256 MB verzi) a X1600 Pro s
grafickým procesorem 500 MHz a se 128 či 256 MB RAM na 780 MHz (výkonnější
verze by měla stát přibližně 4 500 Kč s DPH). Karty jsou postavené na čipu
RV530, který má pět vertexových a dvanáct pixelových jednotek, ale pouze čtyři
texturovací jednotky právě malý počet texturovacích jednotek může být podle
našeho názoru jednou z příčin nekonzistentního výkonu. Drobným problémem
Radeonu X1600 je, že v mnoha situacích je jen o málo rychlejší než GeForce
6600GT (nezřídka je ale i pomalejší), ovšem při o poznání vyšší ceně ta v
případě varianty XT dosahuje téměř ceny nejlevnějších karet GeForce 6800, které
jsou obvykle výkonnější. Je ale téměř jisté, že po novém roce se ceny srovnají
a budou odrážet reálný výkon karet bude-li cena X1600XT srovnatelná s GeForce
6600GT, dali bychom kartě ATI rozhodně přednost, mimo jiné i díky dvěma DVI
výstupům, které by mohly být u X1600 standardem (jen doufáme, že karty nabízené
na trhu budou mít odlišné ventilátory a chladiče než referenční modely, jež nám
zaslalo ATI ty jsou totiž prakticky u všech modelů nepříjemně hlučné).
Radeon X1300
Radeon X550 sice ATI v segmentu levných karet zachránil před fiaskem (modely
X300 jsou pro hráče téměř nepoužitelné), uvedení novinky podporující moderní
technologie ale bylo s ohledem na možnosti konkurenční GeForce 6200
nevyhnutelné. Nové modely X1300 jsou osazeny GPU RV515 se dvěma vertexovými a
čtyřmi pixelovými jednotkami, čtyřmi texturovacími jednotkami a budou dodávány
ve třech variantách: X1300 PRO s GPU 600 MHz a 256 MB RAM na 800 MHz (3 500 Kč
s DPH), X1300 s frekvenci 450 MHz a 128 či 256 MB RAM na 500 MHz (3 100 Kč s
DPH) a konečně X1300 HyperMemory (cca 2 200 Kč s DPH) s grafickým procesorem na
450 MHz a pouhými 32 MB rychlé lokální RAM (1 GHz), které jsou doplněny
využíváním systémové RAM přes sběrnici PCI Express. Ve srovnání s předchozí
generací levných karet Radeon X300 či GeForce 6200 si Radeon X1300 Pro vede
výtečně, zásadním problémem ale je, podobně jako u X1600, její cena. X1300 Pro
totiž konkuruje spíše modelům GeForce 6600, se kterými je výkonnostně pouze
srovnatelný. Volba bude tedy závislá spíše na vašich preferencích, případně na
podpoře novinek jako je AVIVO. Nejlevnější varianty s řešením Hypermemory se
patrně dočkáme až v příštím roce.