radeon-x1800-architektura-cipu-r520
Hardware Článek Radeon X1800 - architektura čipu R520

Radeon X1800 - architektura čipu R520 | Kapitola 5

Petr Štefek a Jiří Souček

Petr Štefek a Jiří Souček

7. 10. 2005 01:00 51

Seznam kapitol

1. Radeon X1800 alias R520 2. Vertex shaders 3. Pixel Shadery 4. Řadič pamětí - ring-bus
5. Anizotropní filtrace 6. Full-Scene AntiAliasing 7. HDR - High Dynamic Range, AVIVO, CrossFire a závěr

Společnost ATi konenčně uvedla dlouho očekávanou sérii Radeonů X1000 a my se na ni dnes podíváme trošku blíže a vysvětlíme si některé její výhody a nevýhody oproti konkurenční architektuře nVidie a jejímu čipu G70. Na recenzi výkonu nového Radeonu si ještě budete muset nějaký ten den počkat, protože naměření tak velkého kvanta dat trvá delší dobu než u běžné recenze. Ale již dnes mohu prozradit, že se je opravdu na co těšit.

Reklama

Začněme trochou teorie. Pro realizaci AF je třeba použití příslušeného mip-map LOD (tzn. zjednodušeně: textury o příslušeném rozlišení, čím vyšší filtrace, tím vyšší rozlišení filtrované textury). Rozlišení a úroveň filtrace musí být vždy přímo úměrné. Pokud bychom použili dostatečnou filtraci, ale texturu o nižším rozlišení, bude výsledek nedostatečně ostrý, pokud bychom naopak použili texturu o dostatečném rozlišení, ale nižší úroveň filtrace (méně vzorků, než je třeba), vypadal by sice statický obraz dobře, ale v pohybu by textury působily jakoby přeostřeně a neklidně (chvění, zrnění, často je používán termín shimmering).

Anizotropní filtrace zatěžuje grafickou kartu ve dvou směrech. Jednak je to propustnost paměťového subsystému (použití větších mipmap), a pak fillrate (spočítání více barevných hodnot). Vliv na paměťový systém je celkem zanedbatelný, oproti přístupům k z-bufferu a color-reades/writes rozhodně a tento rozdíl se obvykle projevuje na úrovni jednotek procent. Větší propad výkonu způsobí nároky na fillrate, samozřejmě záleží na konkrétním režimu AF, ale můžeme říct, že propad výkonu je kolem 10%.

Optimalizace - cheatování

Tyto dva fakty byly, jsou a budou používány k navyšování výkonu v driverech. Ať už veřejně, nebo neveřejně (cheatování). V rámci konkurenčního boje jsou mnozí výrobci schopni kvůli zmíněným procentuelním rozdílům obětovat kvalitu obrazu a zničit celkový dojem ze hry chvějícími se texturami. "Optimalizace" (v uvozovkách) jsme už několikrát probírali, a nejvíce proslulá jejich implementací do ovladačů je společnost XGI, která je schopna nedostatečný výkon hardwaru s čitým svědomím kompenzovat zhoršenou kvalitou obrazu prakticky po všech stránkách.

Optimalizace - základní filtrace textur

Dále existují další optimalizace AF, které jsou dány obvykle návrhem čipu a jsou jako takové považovány za korektnější. Je to např. výběr základní filtrace textur (bilineární nebo trilineární). Ta má vliv především na to, jestli budou viditelné hranice jednotlivých mipmap, nebo zda budou jednotlivé mipmapy navazovat. Abyste si to dokázali představit názorněji, připravil jsem dvě ukázky:

vlevo - bilineární filtrace / vpravo - trilineární filtracepřevzato z 3DCenter.de, upraveno
i Zdroj: PCTuning.cz
vlevo - bilineární filtrace / vpravo - trilineární filtracepřevzato z 3DCenter.de, upraveno

Na levém screenshotu je použita bilineární filtrace, na pravém trilineární. Bilineární filtrace zanechává viditelné "zlomy" mezi jednotlivými mip-mapami, označil jsem je zelenými šipkami. Trilineární filtrace naopak vychází ze dvou mip-map o různém rozlišení, které prolne tak, aby na sebe jejich hranice plynule navazovaly. To samozřejmě stojí navíc nějaký fillrate (pokud karta nepoužívá trilineární texturovací jednotky, což je výsada společnosti S3) i propustnost pamětí (přenos dvou mip-map místo jedné).

Pokud přidáme anizotropní filtraci, dojde k úpravě LOD a rozhraní mip-map se přenesou "dále", takže rozdíl mezi bilineárním-anizem a trilineárním-anizem nebude již tak velký, jako v předchozím případě:

vlevo - bilineárně-anizotropní filtrace / vpravo - trilineárně-anizotropní filtracepřevzato z 3DCenter.de, upraveno
i Zdroj: PCTuning.cz
vlevo - bilineárně-anizotropní filtrace / vpravo - trilineárně-anizotropní filtracepřevzato z 3DCenter.de, upraveno

Rozdíly jsou skutečně výrazně menší, ale pokud se dá scéna do pohybu, budou tyto zlomy stále jasně viditelné.

Velmi dobrým kompromisem pro kvalitu a výkon je tzv. brilineární filtrace. Ta spočívá v tom, že střed mip-mapy je filtrován bilineárně a okraje trilneárně (takže mip-mapy navazují). Výsledek je takový, že obraz je prost viditelných "zlomů", ale pokles výkonu není tak vysoký, jako při trilineární filtraci.

poznámka: V poslední době nemá brilineární filtrace dobrou pověst, neboť je často zmiňována ve spojitosti s cheatováním a většina uživatelů ji považuje za výrazné snížení kvality obrazu. Není tomu tak. Toto povědomí je způsobeno tím, že brilineární filtrace bývá používána v kombinaci se sníženým mip-map LOD (nižší rozlišení filtrovaných textur), případně s undersamplingem (neadekvátně nízký počet vzorků pro danou mip-mapu). Pokud je ale použita pouze brilineární filtrace a všechny ostatní aspekty nejsou očesány, je i pro odborníka velmi tvrdým oříškem rozpoznat v běžné herní scéně, zda je použita trilineární nebo brilineární filtrace.

Optimalizace - úhly

Dále má významný vliv tzv. úhlová optimalizace. Ta musí být implementována po HW stránce (nejde o SW hack) a spočívá v tom, že plnou filtraci a kvalitu mip-map grafická karta používá pouze pro ty úhly, na kterých bude nárůst v kvalitě nejvíce viditelný. Pro ostatní úhly je použita horší mip-mapa s horší filtrací - konkrétní úroveň je závislá na úhlu. Úhlová optimalizace je sama o sobě poměrně dobrou technologií, protože s výkonem blízkým neoptimalizovanému AF4x je schopna nabídnout AF16x, přičemž výsledná kvalita je obvykle lepší než u neoptimalizovaného AF4x. Opět je samozřejmě třeba, aby pro odpovídající mip-mapy byla použita odpovídající úroveň filtrace, jinak hrozí poměrně drastický shimmering (chvění textur).

Největším nedostatkem úhlových optimalizací jsou samotné kalkulace příslušeného LOD a úrovně filtrace, která se na ně má použít. Výrobci (ATi i nV) po dlouhou dobu volili metodu, která je nejjednodušší po stránce HW implementace a stojí nejméně tranzistorů. Nejde tedy o metodu, která by byla úplně optimální z hlediska poměru kvalita/výkon.

Největším nedostatkem tohoto konceptu sou případy, kdy je vykreslena hrbolatá plocha, přičemž jednotlivé části této plochy (právě kvůli tomu, že jsou každá vůči pozorovateli pod jiným úhlem) jsou různě ostré/neostré, což působí rušivě. 

ATi a AF

ATi poprvé představila anizotropní filtraci na Rage6c, neboli R256, alias R100 (Radeon DDR/Radeon 7x00). Prostě prvním Radeonu. Oficiálně byl podporován pouze režim 16x, pomocí tweakerů byl možné zpřístupnit i 2x, 4x a 8x. Šlo o poměrně jednoduchý koncept, byla použita silná úhlová optimalizace v ne zrovna ideálních úhlech a jako základ bylo použit bilineární filtr (R100 neměl vysoký fillrate, trilineární základ by znamenal příliš velký propad výkonu). AF na R100 znamenalo filtraci prakticky bez jakéhokoli dopadu na výkon, ale nárůst kvality byl nízký. Kvalita textur se dala do určité míry ovlivnit i zapnutím FSAA (R100 podporoval supersampling, který jak asi víte vyhlazuje celou scénu včetně textur).

Zlepšení znamenala generace pro DirectX 8.1, R200 (Radeon 8500). Rozdíl spočíval především v použití lepších úhlových optimalizací samotné filtrace, které přinesly značný nárůst v kvalitě. Základ byl stále bilineární. Kvalita textur se však dala zlepšit použitím FSAA (opět SS, ale s programovatelnou polohou vzorků a přizpůsobeným LOD, takže už samotné FSAA mělo na kvalitu textur podobný vliv, jako AF. Pokud se obojí zkombinovalo, byla výsledná kvalita textur na velmi vysoké úrovni* (samozřejmě si toto nastavení řádně ukouslo z výkonu a bylo použitelné pouze pro starší hry). 

Nejvýraznější zlepšení se konalo s příchodem generace R300 (Radeon 9700), která používá mnohem výhodnější úhly (jak pro mip-mapy, tak pro filtraci) a krom toho nabízí i trilineární základ (možné je použít i bilineární a brilineární). Tento krok byl třeba kvůli tomu, implementaci nového FSAA, který neovlivňoval kvalitu textur (multisampling).

R420 (Radeon X800) výrazné změny nepřinesl, rozdíly se týkaly především menšího výkonnostního propadu bez viditelného rozdílu v kvalitě.

Připravil jsem obrázkové shrnutí (kliknutím zvětšíte):

AF 2xAF 16x 
Radeon X1800 - architektura čipu R520
i Zdroj: PCTuning.cz
Radeon X1800 - architektura čipu R520
i Zdroj: PCTuning.cz

R100
(Radeon 7200)

Radeon X1800 - architektura čipu R520
i Zdroj: PCTuning.cz
Radeon X1800 - architektura čipu R520
i Zdroj: PCTuning.cz

R2x0
(Radeon 9000)

Radeon X1800 - architektura čipu R520
i Zdroj: PCTuning.cz
Radeon X1800 - architektura čipu R520
i Zdroj: PCTuning.cz

R3x00
(Radeon 9600)

Radeon X1800 - architektura čipu R520
i Zdroj: PCTuning.cz
Radeon X1800 - architektura čipu R520
i Zdroj: PCTuning.cz

R4x0
(Radeon X800)

 
Radeon X1800 - architektura čipu R520
i Zdroj: PCTuning.cz

R520**
(Radeon X1800)

* screenshot je převzatý z oficiálních materiálů ATi, proto má také jiný background. Kartu má momentálně k dispozici kolega Petr Štefek, který připravuje recenzi, v níž samozřejmě najdete snímky pořízené přímo na testovaném kusu

R520 (Radeon X1800) jako vůbec první karta podporuje na hardwarové úrovni anizotropní filtraci 16x bez klasických úhlových optimalizací (obrázek výše). Je také prvním čipem, který umožňuje jak plnou kvalitu, tak úhlový koncept a obojí i v kombinaci se všemi třemi základními filtry (bi/bri/trilineární). To čipu dává značnou flexibilitu a uživateli možnost vybírat z mnoha režimů filtrace.

Režim bez úhlové optimalizace je nazýván HQ (high quality) a podle očekávání nabízí nejkvalitnější filtraci na veškerém dostupném hardwaru:

zmenšeno!kliknutím zvětšíte na originální velikostpřevzato z www.hardocp.com, upraveno
i Zdroj: PCTuning.cz
zmenšeno!kliknutím zvětšíte na originální velikostpřevzato z www.hardocp.com, upraveno

Na výše uvedeném screenshotu je vidět, že HQ režim R520 byl správným krokem a uživatelé, kteří preferují maximální kvalitu nad několika procenty výkonu, to jistě ocení.

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama