Non-Maskable AA, Sparse AA...

Grafické karty s libovolným GPU firmy AMD/ATI (např. Rage, Radeon).

Moderátoři: morke, Walker1134, Wilik

Odpovědět
Lukfi
Mírně pokročilý
Mírně pokročilý
Uživatelský avatar
Registrován: 04. črc 2005
Bydliště: Praha
Kontaktovat uživatele:

Non-Maskable AA, Sparse AA...

Příspěvek od Lukfi »

Zajímalo by mě několik věcí ohledně antialiasingu a vypadá to že ve FAQ to není. Konkrétně...
1) Co je to "non-maskable AA" (dá se zapnout v 3DMarku) a jaký je rozdíl mezi tím když se nastaví non-maskable AA na max samples 2 a když se nastaví "normální" AA na 2x Samples?
2) Co to znamená Sparse antialiasing a čím se liší od multisamplingu?

P.S. mohl jsem se sice zeptat no-Xe přes ICQ/SZ, sice bych se tu neztrapňoval ale ostatní by z toho nic neměli :oops:
Výkaly prosím umisťujte do záchodové mísy a nikoliv diskuzního fóra.
no-X
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. úno 2004
Bydliště: Č.Budějovice

Příspěvek od no-X »

2)...

Sparse AA a MSAA, to se nevylučuje, každé je označení pro něco jiného (např. jako slova motorka a yamaha - motorka může být yamaha, yamaha může být motorka, ale stejně tak obě slova a jejich významy mohou existovat i v jiné souvislosti)

Takže... existují dva nejběžnější typy AA a to je supersampling (SS, SSAA) a multisampling (MS, MSAA). Supersampling je v podstatě rendering, kdy každý vzorek má svojí vlastní barvu i z-hodnotu, lidsky řečeno, že každý vzorek je v podstatě jakoby plnohodnotný pixel, takže se na jeho vykreslení konzumují stejné prostředky, jako při běžném renderingu, jen ve větší míře. Dá se říct, že supersampling je (s trochou nepřesnosti) rendering ve vyšším rozlišení + zmenšení.

Multisampling naopak nepočítá pro každý vzorek barvu, ale porovnává polohy vzorků podle hran polygonů; pokud se všechny vzorky jednoho pixelu nacházejí na jednom polygonu, je všem přiřazena jedna barva (v podstatě je bez jakýchkoli úprav zachována barva pixelu = MSAA nemá vliv na plochu textury, ponechá ji beze změny), pokud se naopak pixel nachází na hraně polygonu a některý ze vzorků zasáhne na sousedící polygon, je pro něj určena barva podle sousedního polygonu a následně jsou barvy všech vzorků zprůměrovány a výsledkem je barva zobrazeného pixelu (tohle platí vlastně i pro SS, ale tam se to provede na všech pixelech z celé scény bez ohledu na tom, kde jsou)

Stručně řečeno, MSAA ovlivní hrany, SSAA celý obraz.

Sparse AA, možná korektněji řečeno sparse-grid AA je označení pro jeden z typů rozložení AA vzorků. Nejběžnější jsou ordered (uspořádaný), rotated (jakoby pootočený), sparsed a třeba stochastic (náhodný). Za vhodnější rozložení se považuje takové, které má maximální účinnost v úhlech blízkých horizontále a vertikále (na kterých jsou "zuby" v obraze nejvíce vidět - viz hrana označená červeně). To se dá snadno zjistit už pohledem na rozložení vzorků - pokud chceš maximální účinnost v úhlech blízkých horizontále, nesmí se stát, aby na jedné horizontále leželo více vzorků (totéž platí i pro vertikálu). Když se podíváš na rozložení ordered grid - třeba 4x (to máš stejný rozložení jako číslo čtyři na hrací kostce - jen pro představu), tak když skrz libovolný vozrek protneš horizontálu, tak tato horizontála bude procházet celkem dvěma vzorky, tzn. výsledná účinnost bude špatná. Když ale vzorky pootočíme (cca o 25°), tak se dostaneme do situace, kdy každý vzorek má vlastní horizontálu i vertikálu a účinnost je tedy maximální. Obzvlášť výhodné, je když je vzdálenost mezi těmito horizontálami/vertikálami (dál jen H/V) stejná (asi takhle).

Toto rozložení je velice výhodné, první ho používalo 3Dfx, pak i ATi, S3 a nakonec na něj přešla i nVidia (ale jen u multisamplingu, pro SS používá stále oredered gird kvůli tomu, že ho lze používat i bez HW podpory ze strany čipu). Složitější situace ale nastane, když použijeme víc než 4 vzorky (tedy třeba 6, 8, 16, 32) atp. Protože kdybys postupoval stejně a vzorky si rozkreslil do čtverečku (či obdélníku) a ten pak pootočil, tak sice dostaneš tutéž ideální účinnost na hranách polygonů blízkých horizontále/vertikále, ale zároveň si musíš uvědomovat, že jsi tím pootočením vlastně jen posunul slabinu, která se projevovala u H/V na trochu jiný úhel (tzn. pokud bychom vzorky pootočili třeba o 15°, tak i úhel, na kterým má toto rozložení nejnižší účinnost, posuneme o 15°) A u takto vysokého množství vzorků je zbytečné se soustředit pouze na H/V, protože existuje řešení, jak dobře zvládnout i ostatní úhly. A tohle řešení je vzorky neotáčet (představ si rozložení šesti vzorků, které by vypadalo jako šestka na hrací kostce - když ho otočíš, tak sice H/V budou OK, ale zároveň ti tři a tři vzorky leží na jedné přímce, tzn. jsou jakoby "v zákrytu" a v tomhle úhlu pak mají nižší účinnost - tzn. pouhé otočení není v případě >5 vzorků ideální řešení), ale místo otočení je rozhodit tak, aby vzdálenosti horizontál/vertikál byly také stejné (t to pravidlo tedy zůstává), ale zároveň žádné tři vzorky neležely na stejné přímce. Tzn. jako sparsed se označuje takové rozložení, které vypadá na první pohled nepravidelně, ale vzdálenosti mezi vzorky (resp. H/V, které jimi prochází) jsou stejné. To používá ATi při AA 6x a všech vyšších režimech CF.

Čím více vzorků máš, tím více kombinací pro sparsed grid s nimi můžeš vymyslet - je to v podstatě hra se šachovnicí nebo se čtverečkovaným papírem. Pokud chceš nakreslit sparsed grid 8x, vyznač si plochu 8x8 čtverečků a do každého sloupečku/řádku umísti (vybarvi) přesně jeden čtvereček. V žádném nesmí být dva. A zároveň by se nemělo stát, že by tři či více čtverečků leželo na jedné přímce (tomu se ale leckdy nelze vyhnout). Zároveň by pak vykrytí celého povrchu mělo být co nejrovnoměrnější.

Pro jeden počet vzorků takhle můžeš vymyslet několik možných rozložení a které z nich je nejvýhodnější, tím se zabývají pánové ve většině velkých společností, které mají co dělat s grafikou. Není to nic jednoduchého, testuje se to obvykle v praxi a výsledky ani nemusejí být jednoznačné - co je lepší v jednom případě, může být jindy horší...

Tady je pro zajímavost ukázka, kolik kombinací můžeš dostat ze šesti vzorků:

Obrázek

a tady ukázky těch vhodnějších způsobů rozložení pro různé počty vzorků:

Obrázek


Pokud jsi čekal odpověď v jedné větě, tak: sparse AA značí rozložení vzorků s maximalizovanou účinností, která je dána určitou nepravidelností v jejich rozložení :roll:

/edit: ty poslední schémata jsou od uživatele Xmas z B3Df
Nejlepší moderátor ve výslužbě
SNowie
Začátečník
Začátečník
Uživatelský avatar
Registrován: 14. led 2006
Bydliště: Praha, Teplice

Příspěvek od SNowie »

myslím, že no-Xovy příspěvky leckdy vydají na článek :) ... skvěle to vysvěltuje, dokonce i já (!) to chápu :worship:
sice je to OT, ale tohle se musí ocenit veřejně
Lukfi
Mírně pokročilý
Mírně pokročilý
Uživatelský avatar
Registrován: 04. črc 2005
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od Lukfi »

Tak nějak jsem tušil, že to nebude na jednu větu, ale z tohohle mi spadla čelist :D
Snowie má pravdu, kdybys shromáždil příspěvky na stejné téma cos tu kdy napsal, mohl bys je za autorský honorář prodat PCTuningu...
btw, tím žes začal od bodu 2 znamená že o non-maskable AA sepisuješ něco ještě většího nebo pro změnu nevíš? :)
Výkaly prosím umisťujte do záchodové mísy a nikoliv diskuzního fóra.
no-X
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. úno 2004
Bydliště: Č.Budějovice

Příspěvek od no-X »

S non-maskable AA si nejsem jistý, že to znamená to, co si myslím a popravdě jsem na to nenarazil jinde než právě ve 3DMarku :) Já se v tom stejně orientuju jen tak rámcově, takže zdaleka neznám všechno.

Kdysi jsem pro PCT nějaký seriál o FSAA psát začal, ale nikdy jsem to nedokončil (myslím, že to dosavadní by bylo tak na tři díly). A dokončovat ho nebudu minimálně dokud nebudou venku G80 a R600, protože to by byl pěkně rychle neaktuální...
Nejlepší moderátor ve výslužbě
Lukfi
Mírně pokročilý
Mírně pokročilý
Uživatelský avatar
Registrován: 04. črc 2005
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od Lukfi »

no-X píše:S non-maskable AA si nejsem jistý, že to znamená to, co si myslím a popravdě jsem na to nenarazil jinde než právě ve 3DMarku :)
Já právě nevím proč to tam je, protože propad výkonu s 2x non-maskable AA a 2x normálním AA je úplně stejnej...
Výkaly prosím umisťujte do záchodové mísy a nikoliv diskuzního fóra.
crux2005
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 25. zář 2005
Kontaktovat uživatele:

Příspěvek od crux2005 »

Lukfi píše:Já právě nevím proč to tam je, protože propad výkonu s 2x non-maskable AA a 2x normálním AA je úplně stejnej...
2.) Non-maskable AA nie je AA mod.Je to klasifikácia AA-metód pod DX9.
Pod DX9 existujú dve metódy ako vyžiadať pomocou aplikácie antialaising.
Multisampling s N Samples a Antialaising s úrovňou kvality X - toto sa považuje ako Non-maskable AA.

Rozdiel je ,že len v prvej sa dá použiť tzv "multisample masking".

Pri Non-maskable AA je použitie multisample maskingu zakázané.Preto môže ovládač ponúknuť v tejto kategórii AA módy ako napríklad: Fragment AA od Matroxu ...


(v krátkosti :D) za chyby neručím - písané v rýchlosti ...

:wink:
s pozdravom, crux.
Lukfi
Mírně pokročilý
Mírně pokročilý
Uživatelský avatar
Registrován: 04. črc 2005
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od Lukfi »

Díky. Ještě bych měl jeden dotaz, takovej obecnější - která kombinace úrovní AA a AF nabízí nejlepší kompromis mezi výkonem a kvalitou obrazu, když výkonu je málo? A je v tomhle ohledu lepší nižší level AF na High Quality (popř. HQ w/ Full Trilinear) nebo vyšší na Performance?
Výkaly prosím umisťujte do záchodové mísy a nikoliv diskuzního fóra.
no-X
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. úno 2004
Bydliště: Č.Budějovice

Příspěvek od no-X »

To záleží, jestli ti víc vadí méně ostré textury, nebo shimmering :-)
Nejlepší moderátor ve výslužbě
Lukfi
Mírně pokročilý
Mírně pokročilý
Uživatelský avatar
Registrován: 04. črc 2005
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od Lukfi »

no-X píše:To záleží, jestli ti víc vadí méně ostré textury, nebo shimmering :-)
mám AF nastaveno na quality with full trilinear a stejně mi někdy na rozhraní textur prosvítaj bílý pixely (jako sněžení ale jen mezi těma texturama), tak jestli je to ten shimmering...? tak asi radši ostřejší textury... ale spíš mi šlo o to AA/AF... jestli je třeba lepší 2xAA/4xAF nebo radši noAA/8xAF
Výkaly prosím umisťujte do záchodové mísy a nikoliv diskuzního fóra.
no-X
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. úno 2004
Bydliště: Č.Budějovice

Příspěvek od no-X »

ne, to není shimmering, ale spíš chyba enginu nebo driveru
jestli je třeba lepší 2xAA/4xAF nebo radši noAA/8xAF
pro mě první varianta
Nejlepší moderátor ve výslužbě
Odpovědět

Zpět na „AMD/ATI grafické karty“