radeon-x1900-crossfire-aneb-pod-krizovou-palbou-podruhe
Hardware Článek Radeon X1900 CrossFire aneb pod křížovou palbou podruhé...

Radeon X1900 CrossFire aneb pod křížovou palbou podruhé... | Kapitola 2

Z. Obermaier

Z. Obermaier

16. 5. 2006 01:00 75

Seznam kapitol

1. Úvod 2. Multiprocesing... 3. CrossFire 1.0 / 2.0+, versus konkurence 4. Testovací sestava
5. CrossFire v akci 6. Začínáme, aneb zacpěte si uši ... 7. Testy 8. Zkušenosti a závěr

V pátek jste si mohli na našich stránkách přečíst recenzi základní desky DFI s podporou zapojení grafických karet v režimu CrossFire. Jelikož jsme vám v článku slíbili, že test právě této technologie přineseme v nejbližších dnech, slib plníme a článek nyní máte možnost shlédnout. Nejprve zopakujeme teorii zpracování výsledného obrazu, poté se podíváme na vylepšení technologií CrossFire 2.0 oproti původní verzi a nakonec si představíme potřebný hardware.

Reklama

Klíčem pro grafický multiprocesing je efektivní a účelné rozdělení výpočtů mezi jednotlivé výpočetní jednotky (grafické čipy). A právě toto rozdělení je základním kamenem každého systému (někdejší 3Dfx SLI, ATi CrossFire, nVidia SLI...). Každý výrobce používá své specifické režimy a dá se říci, že čím více režimů hardware nabízí, tím lépe může vykrýt požadavky různých her, které se v mnoha ohledech liší. Při potřebách dnešních her (a technologiích, které využívají), není žádný režim univerzální do té míry, aby byl zároveň s hrou kompatibilní (tzn. neznemožňoval realizaci použitých grafických efektů, případně nezpůsoboval degradaci kvality obrazu), přinášel dostatečný nárůst výkonu a nezhoršoval hratelnost (k tomu se ještě vrátím v odstavci "AFR"). Podívejme se tedy stručně na jednotlivé možnosti, kterými ATi CrossFire vybavila:

Alternate Frame Rendering (AFR)

Radeon X1900 CrossFire aneb pod křížovou palbou podruhé...
i Zdroj: PCTuning.cz

Rozložení výpočtů mezi grafické čipy (či karty) je provedeno tak, že se ve vykreslování oba (obě) střídají po snímku:

čip A: snímek 1 -> čip B: snímek 2 -> čip A: snímek 3 -> čip B: snímek 4

To logicky vede k velmi vysoké efektivitě (tj. nárůst výkonu oproti použití jednoho čipu), ale zároveň AFR trpí určitými nedostatky. Shrnuto:

Výhody:
+ velmi dobré rozložení zátěže mezi čipy
+ zvyšuje i geometrický výkon
+ nejvyšší nárůst výkonu ze všech současně používaných režimů

Nevýhody:
- nelze použít ve hrách používajících některé postprocessing efekty (např. prolínání za sebou jdoucích snímků; jeden čip totiž nemá přístup ke snímkům vykresleným druhým čipem)
- vzniká grafický lag, tzn. obraz na monitoru je zpožděný oproti reálnému dění (při 2 čipech 2x, při 4 čipech 4x...)

Druhou zmíněnou nevýhodu vysvětlím. Při AFR je obraz (právě kvůli tomu, že se čipy vystřídají ve dvou vykreslených snímcích a ne v jednom, jako v ostatních režimech) na výstupu grafické karty zpožděný oproti situaci, která se "skutečně děje". Tzn. ve chvíli, kdy na obrazovce vidíme např. vystřelit vojáka, můžeme být už mrtví. Ve skutečnosti není ale lag (zpoždění), až tak vysoký - konkrétněji:

Většina uživatelů hraje při zhruba 60FPS. Při této snímkové frekvenci zabere grafické kartě vykreslení jednoho snímku necelých 17ms (milisekund). To je doba dostatečně krátká na to, aby ji lidský mozek nedokázal postřehnout. Pokud bychom použili dva grafické čipy v režimu AFR, zdvojnásobí se tato doba a jsme na 33ms. To je také ještě více-méně akceptovatelná hodnota. V podstatě stejná, jako kdybychom hráli na jednom čipu při 30FPS. AFR dvou čipů při 60FPS by v tomto případě (oproti jednomu čipu při 30FPS) zdvojnásobilo plynulost, ale lag, latenci, či reakční dobu pro hráče, by nijak nevylepšilo.

Pokud bychom ale teoreticky použili 4 grafické čipy, které by se ve vykreslování střídaly...

čip A: snímek 1 -> čip B: snímek 2 -> čip C: snímek 3 -> čip D: snímek 4 

... zdvojnásobil by se opět lag, to znamená, že by byl oproti situaci s jedním grafickým čipem čtyřnásobný, tedy necelých 67ms. A to už je hodnota, která pro mnoho osob stačí k tomu, aby vnímaly zvuk i obraz asynchronně. 4x zvýšený lag znamená jinými slovy 4x nižší reakční dobu pro hráče - ještě jinak řečeno, když budeme stát před oním mířícím vojákem, budeme mít 50ms kratší dobu na rozmyšlení a případnou reakci (třeba uhnout :-) Možná se vám tato hodnota zdá zanedbatelná, ale vězte, že je stejná, jako byste hráli při pouhých 15FPS jednoho čipu.

AFR - využití:
AFR je v CrossFire povolen pouze u těch her, které nepoužívají efekty postprocesingu, které by nemusely být vykresleny správně. Znamená to, že ATi musí pro příslušnou hru v ovladačích (konkrétně to má na starost Catalyst AI) nastavit, že bude AFR používat. Pokud je vydána hra, která by mohla z AFR profitovat dříve, než ATi přijde s ovladačem, který AFR aktivuje, je možné "ošálit" Catalyst AI tím, že přejmenujete spouštěcí soubor hry např. na fear.exe nebo farcry.exe, pro které je již AFR nastaveno.

AFR - historie:
ATi Rage Fury MAXX, nVidia SLI, ATi CrossFire

Split-Frame Rendering / Scissors (SFR)

Radeon X1900 CrossFire aneb pod křížovou palbou podruhé...
i Zdroj: PCTuning.cz

Obraz je rozdělen vodorovně na stejně vysoké pruhy, každý je zpracováván jedním čipem (obvykle: pokud jsou čipy dva, je obraz rozdělen na dva pruhy, pokud čtyři, tak na čtyři pruhy apod.). Existují různé variace tohoto režimu, různí výrobci si jej upravují (a upravovali) k obrazu svému.

Výhody:
+ velmi kompatibilní (není problém s postprocesing efekty)
+ bez lagu 

Nevýhody:
- nezvyšuje geometrický výkon
- v některých případech horší efektivita rozložení zátěže mezi čipy (horní část obrazu může být méně náročná atp.) 

Opět se pozastavím u druhé nevýhody - nVidia SLI tento problém řeší tak, že je podle nároků již vykresleného snímku (případně podle nastavení v ovladači) upravena hranice, kde je snímek rozdělen. Na jednu stranu tím dojde k lepšímu vyvážení, na stranu druhou je to větší zátěž pro systém a není jednoznačné, zda ve výsledku dojde k lepšímu navýšení FPS oproti fixnímu dělení v polovině. Jistou verzi SFR používalo i 3Dfx na čipu VSA-100, který umožňoval rozdělení obrazu na více pruhů, jejichž počet byl zcela nezávislý na počtu použitých čipů; stejně tak i výšku pruhů bylo možné měnit, čímž bylo možné dosáhnout vyváženého rozložení zátěže bez dalších nároků na systém.

SFR - využití:
SFR je v CrossFire nastaveno a použito pro OpenGL hry (pokud Catalyst AI pro konkrétní hru nestanoví jinak).

SFR - historie:
MegaByte PGC, nVidia SLI, ATi CrossFire, do jisté míry 3Dfx VSA-100

SuperTiling (ST)

Radeon X1900 CrossFire aneb pod křížovou palbou podruhé...
i Zdroj: PCTuning.cz

SuperTiling ATi podporuje už na čipech R300 (Radeon 9700) a spočívá v rozdělení obrazů na čtverce (jako na šachovnici), které jsou rozděleny mezi jednotlivé čipy. 

Výhody:
+ velmi kompatibilní
+ bez lagu
+ ideální rozložení zátěže
+ možnost použití neomezeného množství grafických čipů

Nevýhody:
- nezvyšuje geometrický výkon
- v některých hrách nízký nárůst výkonu 

ST - využití:
ST je v CrossFire nastaveno a použito pro D3D hry (pokud Catalyst AI pro konkrétní hru nestanoví jinak).

ST - historie:
Tento režim je specifický pro čipy ATi (>R300) - částečně souvisí s jejich systémem vykreslování, kdy je pro jednotlivé quady obraz podobným způsobem rozdělován i na úrovni čipu.

SuperAA

Radeon X1900 CrossFire aneb pod křížovou palbou podruhé...
i Zdroj: PCTuning.cz

Zvyšuje kvalitu obrazu pomocí FSAA (anti-asliasing). V režimech 8x a 12x zvyšuje počet MSAA vzorků (= dvojnásobná kvalita vyhlazení hran oproti 4x a 6x). V režimech 10x a 14x ještě navíc používá RGSS (rotated-grid supersampling), takže má pozitivní vliv na kvalitu textur a alpha textur (účinná redukce shimmeringu, moire, redukuje zubatost na alpha-texturách atp.). Kvalita SuperAA vychází ze schopnosti grafických čipů ATi měnit rozložení AA vzorků specificky podle potřeby každého AA režimu (=programovatelné AA), takže vzorky jsou vždy rozloženy tak, aby poskytovaly maximální možnou účinnost ve vyhlazení hran, na nichž je aliasing nejvíce patrný (tzn. linie blízké horizontále a vertikále), tedy maximální tzv. EER (edge-effective resolution), kterého lze s daným počtem vzorků dosáhnout.

Zde je důležité poznamenat, že režim SuperAA (podobně jako staré 3Dfx SLI) využívá možnosti čipů ATi nastavit rozložení AA vzorků v mřížce 12x12. Maximum MSAA vzorků, které ATi v SuperAA používá je 12 a tato souvislost není náhodná. Pro ideální účinnost je totiž optimální použít stejné množství vzorků, jaké rozlišení nabízí mřížka. Vyšší počet vzorků by totiž už příliš výrazně kvalitu nenavýšil (představíte-li si tuto mřížku, tak by potom vycházel více než jeden vzorek na řádek či sloupec, což lze označit jako plýtvání), zato výkon by dále klesal. (prakticky stejný přístup mělo 3Dfx, kdy čipy VSA-100 nabízely mřížku 8x8 a maximální režim 3Dfx SLI byl 8x - opět kvůli dosažení optimální rovnováhy mezi kvalitou a výkonem).

Zvyšování počtu AA vzorků s počtem čipů se používá v profesionální sféře celkem hojně; z běžných systémů to ale byly 3Dfx Voodoo 5, ATi CrossFire a nVidia SLI. V souvislosti s SLI stojí za zmínku fakt, že čipy NV4x/G7x (GeForce 6/7) buďto programovatelnost AA vzorků nepodporují, nebo pouze v rámci mřížky 4x4 (což vyjde prakticky vzato nastejno), takže režimy AA vyšší než 4x nezvyšují kvalitu obrazu stejnou měrou, jakou snižují výkon, neboť kvůli absenci programovatelnosti ve větší mřížce není možné jejich polohy upravit, a tak do jednoho sloupce/řádku spadá často více vzorků, případně jsou vzorky namísto rovnoměrného vykrytí plochy pixelu neefektivně nakumulovány ve skupinách.

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama