Porovnanie AA
Moderné high end grafické karty by nemali byť len výkonné, ale mali by poskytovať aj kvalitný obraz. Jednou z možností ako toto dosiahnuť, aj keď content hry nevyzerá najlepšie je zapnutie antialiasingu – AA, aby boli vyhladzované hrany polygonov a anizotropného filtra - AF, ktorý spôsobí ostrosť na textúrach. AMD/ATi a nVidia sa preto snažia vždy so zavedením novej generácie grafických kariet prekonať konkurenta v týchto features. Často preto vídame pozitívne zlepšenia, ale aj negatívne prekvapenia v podobe optimalizácií, ktoré znižujú kvalitu obrazu. (Poznámka: optimalizácia nie je automaticky negatívna, ale pokiaľ zhoršuje kvalitu obrazu, áno.) Z tohoto dôvodu sa pozrieme aj na kvalitu obrazu Radeon HD 2900XT a GeForce 8800GTX.
Teraz sa pozrieme na antialasing (AA), čiže vyhladzovanie hrán, ktoré poskytujú grafické karty GeForce 8. a Radeon HD 2000 série z technického hľadiska. Pre zistenie sample pozícií jednotlivých AA modov sme využili aplikáciu „D3D FSAA Viewer“. Takisto sme použili aj aplikáciu „D3D FSAA Tester“, pomocou ktorej sa dá porovnať kvalita vyhladzovania jednotlivých modov v Direct3D. Porovnanie kvality AA modov sme uskutočnili len v Direct3D, nakoľko sa ich kvalita nelíši od tej v OpenGL. Okrem toho by nebolo možné v OpenGL použiť CFAA mody.
Spolu s novými grafickými čipmi R600 a G80 zavádzajú obaja veľký výrobcovia GPUs aj nové AA mody, ktoré pracujú s mierne inými AA technológiami pre docielenie jedného a toho istého cieľa ako klasické multisampling antialiasing mody. nVidia zaviedla „Coverage Sample Anti-Aliasing“ (CSAA) a ATi „Custom Filter Anti-Aliasing“ (CFAA), ktorému sme sa bližšie venovali už pred pár stranami. V nasledujúcich dvoch tabuľkách máme vymenované a porovnané detailnejšie všetky, podotýkam štandardne dostupné AA mody.
AntiAliasing Radeon HD 2000 série | |||
Poznámky: | Sample pozície: | Kvalita AA v Direct3D: | |
1xMSAA (bez AA) | bez AA | ||
2xRGMSAA (2x) | Multisampling otočený (rotated) grid EER: 2x2 automaticky gamakorektívne | ||
4xRGMSAA (4x) | Multisampling otočený (rotated) grid EER: 4x4 automaticky gamakorektívne | ||
8xSGMSAA (8x) | Multisampling ručne optimalizovaný sparse grid EER: 8x8 automaticky gamakorektívne | ||
8xSGMSAA + Narrow Tent CFAA (12xCFAA) | Multisampling + Narrow Tent Custom Filter Anti-Aliasing ručne optimalizovaný sparse grid (MSAA podiel) EER: 8x8 (MSAA podiel) automaticky gamakorektívne | ||
4xSGMSAA + Narrow Tent CFAA (12xEDCFAA) | Multisampling + Edge detect Custom Filter Anti-Aliasing ručne optimalizovaný sparse grid (MSAA podiel) EER: 4x4 (MSAA podiel) automaticky gamakorektívne | x | |
8xSGMSAA + Wide Tent CFAA (16xCFAA) | Multisampling + Wide Tent Custom Filter Anti-Aliasing ručne optimalizovaný sparse grid (MSAA podiel) EER: 8x8 (MSAA podiel) automaticky gamakorektívne | ||
8xSGMSAA + EDCFAA (24xEDCFAA) | Multisampling + Edge detect Custom Filter Anti-Aliasing ručne optimalizovaný sparse grid (MSAA podiel) EER: 8x8 (MSAA podiel) automaticky gamakorektívne | x |
AntiAliasing GeForce 8. série | |||
Poznámky: | Sample pozície: | Kvalita AA v Direct3D: | |
1xMSAA (bez AA) | bez AA | ||
2xRGMSAA (2x) | Multisampling otočený (rotated) grid EER: 2x2 gamakorektívne | ||
4xRGMSAA (4x) | Multisampling otočený (rotated) grid EER: 4x4 gamakorektívne | ||
4xSGMSAA + 4xSGCS (8x) | Multisampling + Coverage Sample Anti-Aliasing ručne optimalizovaný sparse grid EER: 8x8 s CSAA, EER: 4x4 bez CSAA gamakorektívne | x | |
8xSGMSAA (8xQ) | Multisampling ručne optimalizovaný sparse grid EER: 8x8 gamakorektívne | ||
4xSGMSAA + 12xSGCS (16x) | Multisampling + Coverage Sample Anti-Aliasing ručne optimalizovaný sparse grid EER: 16X16 s CSAA, EER: 4x4 bez CSAA gamakorektívne | x | |
8xSGMSAA + 8xSGCS (16xQ) | Multisampling + Coverage Sample Anti-Aliasing ručne optimalizovaný sparse grid EER: 16X16 s CSAA, EER: 8x8 bez CSAA gamakorektívne | x |
Ako vidieť na obrázkoch z FSAA viewera, pri multisampling AA modoch 2x a 4x sa u sérii Radeon HD 2000 prakticky nič nezmenilo voči predchádzajúcej generácii čipov. Mierne sa len posunuli sample pozície 4x rotated grid multisampling AA do stredu, čo ale nemá skoro žiaden vplyv na kvalitu AA. Pri týchto modoch ale ani nebolo nutné vykonať zmeny, nakoľko sú dané pozície samplov takmer ideálne.
Ako som už spomýnal, podporuje Radeon HD 2900XT podobne ako celá séria HD 2000 - 8x sparse grid multisampling antialiasing, ktorý nahradil 6x sparse grid multisampling antialiasing Radeon X1x00 série. 6xSGMSAA už viac séria HD 2000 nepodporuje.
Poznámky | Sample pozície: | Kvalita AA v Direct3D: | |
6xSGMSAA (6x) | Multisampling ručne optimalizovaný sparse grid EER: 6x6 (automaticky) gamakorektívne |
V tabuľkách máme vždy uvedenú aj hodnotu EER (Edge Equivalent Resolution) daného AA modu. Tento pojem je pravdepodobne menej známy, preto si ho vysvetlíme. EER je ukazovateľ, ktorý charakterizuje pravdepodobne najlepšie teoretickú kvalitu každého AA modu pomocou dvojice čísel. Tieto čísla určujú počet samplov na x a y osi, ktoré sa nenachádzajú, pokiaľ by sme cez stred samplov spravili vodorovnú čiaru, na iných osiach samplov. Samozrejme, existujú aj iné kritériá, ktoré je potrebné splniť, aby mal daný AA mod vysokú kvalitu vyhladzovania. Hlbšie ale nebudeme teraz zachádzať do teórie AA a pozrieme sa najlepšie hneď na príklad k EER.
Nasledovný 4x AA mod má ordered grid a EER 2x2:
Tento 2x multisampling AA mod, ktorý je už ale rotated grid má takisto EER 2x2:
Na koniec obrákov 4x multisamplingu s rotated gridom, ktorý má už EER 4x4:
Z daných obrázov v spojení s teóriou je teda jasné, že 1. AA mod s ordered gridom, má preto EER len hodnoty 2x2, nakoľko sa jednotlivé sample prekrývajú – nachádzajú sa na jednej osi a kvalita vyhladzovania v porovnaní s náročnosťou na výpočet je veľmi zlá. Rovnakú kvalitu vyhladenia možno dosiahnuť aj pomocou 2x multisamplingu s rotated gridom. Vidieť teda prečo sa hodnota ich EER zhoduje. Okrem toho je 2x multisampling s rotated gridom oveľa menej náročný na výpočet – teda pomer kvalia/potrebný výpočtový výkon je oveľa lepší. To je hlavný dôvod prečo sa teraz používajú rotated/sparse gridy a ordered gridy vôbec. Porovnajme si ešte 1. AA mod s posledným 4x multisampling antialiasingom s rotated gridom. Počet samplov sa zhoduje, EER nie – dôvod sme si vysvetlili už vyššie. Ako vidieť z obrázka rotated grid (ako to koniec koncom vyplýva aj jeho názvu), vzniká otočením sample pozícií ordered gridu o určité ° v kladnom alebo zápornom zmysle. Ostáva nám už len sparse grid. Tento grid vzniká manuálnou optimalizáciou. Pozície jednotlivých samplov sa vyberajú viac menej ľubovoľne, aby bolo dosiahnuté lepšie vyhladenie. Sparse gridy sa využívajú hlavne pri AA modoch s vyšším počtom samplov, kde by bol inak problém efektívne rozložiť sample.
U G80 podobne ako u R600 nedošlo k žiadnej zmne 2x, 4x AA modov. Gridy aj sample pozície týchto AA modov sú zhodné s predchádzajúcou generáciou. 8x Multisampling antialiasing G80 s označením 8xQ je takisto ako 8x MSAA R600 sparse grid a predstavuje novinku zavedenú s týmto čipom. EER oboch 8xMSAA variant sa zhoduje – 8x8, ale jednotlivé sample pozície nie.
Pri pohľadoch na FSAA Tester vidieť, že si jednotlivé 8xMSAA mody v rôznych uhloch počínajú mierne lepšie ako konkurencie a jasného víťaza preto nemožno určiť. Úplný výpadok v určitých uhloch sme nezaznamenali, ako to bolo s MSAA modmi v minulosti, čo hodnotíme kladne. Obidvom 8xMSAA modom sa takisto darí v kvalite mierne poraziť 6xMSAA.
Podobne dopadolo aj porovnanie 4x a 2x AA modov medzi týmito grafickými kartami – v určitých uhloch poskytuje konkurencia lepšie vyhladenie, v určitých nie. Výsledky sa aj tu líšia od uhlu k uhlu.
Zameriame sa ešte na CFAA mody, ktorých sample pozície nebolo žiaľ možné zistiť, nakoľko ich nerozozná FSAA viewer a museli sme sa spoľahnúť len na materiál od AMD/ATi. Dobrý dojem zanecháva 12xCFAA, ktorý sa čisto len pri zohľadnení kvality vyhladzovania dostáva nad úroveň 8xMSAA. Vo väčšine prípadov je vyhladenie lepšie a tento mod možno porovnávať aj s 16xAA modom od nVidie, ktorý má CSAA podiel. V praxi kvalitatívne lepší mod – 12x edge detect (ED)CFAA, lebo nespôsobuje blur a tým stratenie drahocenných informácií na celej obrazovke, si počína v FSAA testeri mierne horšie ako 12xCFAA. Blur, ktorý spôsobujú CFAA mody (okrem EDCFAA) možno spozorovať aj v FSAA testeri na písme. 16xCFAA podáva ešte vyššiu kvalitu vyhladenia v FSAA testeri a je nad úrovňou 12xCFAA/16x AA modu od nVidie. V určitých uhloch sa darí 16xCFAA porážať pomerne jednoznačne aj 16xQ AA mod od nVidie. Napriek tomu, že vyhladenie 16xQ je na vysokej úrovni, dokáže 16xCFAA poskytnúť ešte mierne lepší výsledok. Medzi ďalšie výhody CFAA okrem kvality vyhladenia patrí aj nízka náročnosť na kapacitu Vram. Zmiešané pocity zanecháva najvyšší 24x DCFAA mod, ktorý poskytuje v určitých uhloch mierne horší výsledok ako 16xCFAA. Samozrejme, netreba zabúdať, že sa jedná len o aplikáciu na testovanie FSAA a podstatná je hlavne kvalita vyhladenia v hrách, na ktorú sa teraz pozrieme. Zamerali sme sa pri tom hlavne na 8xMSAA a vyššie CFAA mody (>12xCFAA), nakoľko neposkytujú nižšie CFAA mody viditeľné zlepšenie kvality vyhladenia voči MSAA modom, napriek tomu spôsobujú blur na celej obrazovke.
Na testovanie kvality AA sme použili 2 hry, Half Life 2 Epizode One a TES4: Oblivion. Porovnávali sme samozrejme vo viacerých scénach.
Najprv si pozrieme scénu z hry Oblivion „pri strome 1“. Porovnávali sme 4 mody medzi sebou.
8xMSAA:
12xCFAA:
16xCFAA:
Na obrázkoch vidieť jasné rozdiely medzi 4x a 8xMSAA, kde poskytuje 8x variant lepšiu kvalitu vyhladzovania. Ešte lepšiu kvalitu vyhladzovania poskytuje 12xCFAA mod, spojenú s blurom, ktorý sa dá vidieť na viacerých textúrach. Medzi 12xCFAA a 16xCFAA už nevidieť kvalitívne veľké rozdiely. 16xCFAA variant ale spôsobuje ešte silnejší blur.
Podobný scenár sa opakuje aj v scéne „pri strome 2“.
8xMSAA:
12xCFAA:
16xCFAA:
Vidieť kvalitatívne lepšie vyhladenie 8xMSAA voči 4xMSAA. 12xCFAA spolu so 16xCFAA sa dokážu presadiť voči 8xMSAA, avšak znovu za cenu bluru, ktorý je veľmi viditeľný hlavne na textúre stromu a zeme.
Nakoľko sú rozdiely medzi 4x a 8xMSAA jasne viditeľné, nebudeme sa viac zaoberať 4xMSAA, ktoré poskytuje Radeon HD 2900XT a zameriame sa už len na kvalitatívne vyššie AA mody.
Dostali sme sa k scéne 3. „pri kostole“. Porovnávali sme 8xMSAA s CFAA a EDCFAA.
12xCFAA:
12xEDCFAA:
16xCFAA:
24xEDCFAA:
8xMSAA poskytuje štandardne vysokú kvalitu vyhladenia hrán, ktorú sa ale darí viditeľne prekonať 12xCFAA. Blur je v tomto prípade neprehliadnuteľný a spôsobuje viditeľné rozostrenie všetkých textúr, hlavne kostola. 12x edge detect CFAA naozaj nespôsobuje blur, ako to bolo sľúbené od AMD/ATi a poskytuje mierne lepšie vyhladenie hrán ako 8xMSAA. Pri porovnaní 12xEDCFAA a 12xCFAA je varianta bez edge detect s kvalitou vyhladenia hrán na tom mierne lepšie. 24xEDCFAA mod je na tom kvalitatívne ešte lepšie ako 12xEDCFAA a nespôsobuje rovnako blur. Rozdiely sú však znovu minimálne. Podobne ako v prípade 12xCFAA a 16xCFAA. 16xCFAA spôsobí ale ešte viditeľnejší blur.
Posledná scéna, ktorú sme použili bola z hry HL 2 Epizode One, aby sme ukázali, že intenzita bluru spôsobená CFAA modmi bez edge detect sa líši v závisloti od použitej hry.
12xCFAA:
12xEDCFAA:
16xCFAA:
24xEDCFAA:
Tentokrát sú rozdiely medzi 8xMSAA a 12xCFAA viditeľnejšie, čo spôsobuje vysoký kontrast scény. 16xCFAA je už len v detailoch lepší ako 12xCFAA. Blur možno spozorovať opäť. 12xEDCFAA neprekvapil a poskytol kvalitatívne vysoký výsledok. Rozdiel v kvalite medzi 12xEDCFAA a 12xCFAA je malý ale v prospech 12xCFAA. 24xEDCFAA dosiahol opäť len mierne lepší výsledok vo vyhladení hrán ako 12xEDCFAA, ale celkovo hroší ako 16xCFAA.
Porovnali sme si teda kvalitu jednotlivých AA modov v hrách ako aj v FSAA testeri. Kvalitné AA mody nám ale veľmi nepomôžu, pokiaľ nemá hardware dostatok výkonu, aby sme ich mohli aj používať pri hraní hier. Logicky preto nasleduje porovnanie prepadu výkonu pri jednotlivých AA modoch. Namerané hodnoty máme zhrnuté v tomto grafe:
Porovnali sme si takisto prepad výkonu Radeon HD 2900XT s GeForce 8800GTX pri jednotlivých MSAA modoch:
Ako vyplýva z grafov je prepad výkonu HD 2900XT so zapnutým MSAA o dosť väčší ako v prípade GeForce 8800GTX, napriek širšej 512-bit zbernici, väčšej priepustnosti a výkonným ROPs.
Pri porovnaní jednotlivých AA modov vidieť veľmi veľkú stratu výkonu pri zapnutí CFAA s edge detect. Dôvod prepadu je spôsob, ktorým EDCFAA vyhľadáva len hrany polygonov (celá scéna je nahraná cez ROPs do shaderov). Pomerne veľké prepady sme zaznamenali aj pri zapnutí CFAA alebo 8xMSAA.
Celkovo sa nám veľmi páčil nový 8xSGMSAA mod Radeon HD 2900XT, ktorý poskytuje vysokú kvalitu vyhladenia a nemusí sa skrývať ani pred 8xMSAA modom konkurencie. CFAA mody bez edge detect poskytujú bezkonkurenčne najlepšie vyhladenie hrán, ktoré by bolo možné dosiahnuť len veľmi ťažko pomocou klasických multisampling box filtrov. Riešia danú problematiku vyhladenia novým spôsobom, ktorý má ale jednu veľkú nevýhodu a tou je spôsobený blur. Rozhodnutie ostáva preto na koncovom užívateľovi, či si potrpí viac na kvalite vyhladenia, alebo mu je strata informácií spôsobená blurom neprijateľná. Odporučili by sme radšej 12xCFAA mod, nakoľko nespôsobuje až taký silný bur ako 16xCFAA a rozdiel v kvalite vyhladenia je minimálny. CFAA mody s edge detect ukazujú ďalšiu cestu, ktorou by sa technológie pre vyhladzovanie hrán mohli vybrať. Nespôsobujú blur, avšak neposkytujú takú vysokú kvalitu vyhladenia ako „čisté“ CFAA mody. Kvalita vyhladenia EDCFAA modov je v hrách napriek tomu na vysokej úrovni. EDCFAA mody sa nebudú pravdepodobne tak často využívať, nakoľko je strata výkonu veľmi vysoká.
subz3ro
gabriel
epto
Pavol Bobik
MichiGen
koro
Ryko
glide
thimy
A2C
noben
cpy
teho
Dwarden
crux2005
mirke
Dwarden
crux2005