Diit.cz - Novinky a informace o hardware, software a internetu

Truform/HDM a Super Sample Filtering

V drtivé většině dnešních recenzí grafických karet se autoři zabývají téměř pouze možnostmi, kvalitou a rychlostí 3D funkcí. Většinou prostě ignorují fakt, že grafickou kartu netvoří pouze 3D část. Takže karty které mají kvalitní 3D dostávají v recenzích velmi pozitivní ohodnocení, kdežto ty s horším než vynikajícím jsou dost často strhány. Takovou obětí tohoto pohledu na svět se stala i grafická karta Matrox Parhelia, která ač nabízí v některých ohledech jedinečné a pro hodně lidí i praktičtější věci než 3D funkce, tak vychází z recenzí velmi negativně a to díky tomu, že svou cenou patří do kategorie, která nabízí mnohem větší výkon v 3D. My jsme se snažili podívat se nejen na výkon v 3D, ale také na ty ostatní funkce a v tomto světle jsme se pokusli tuto grafickou kartu zhodnotit.
Matrox Parhelia logo

Kapitoly článků

Truform (ATI) / Hardware Displacement Mapping (Matrox)

Tyto dvě funkce jsem dal dohromady z jednoho prostého důvodu. Matrox totiž
na svých stránkách uvádí, že Hardware Displacement Mapping (HDM -
opět odkaz na článek) je velmi vylepšený ekvivalent Truform u Ati. U obou
funkcí se totiž jedná o formování objektu (konkrétněji jejich trojúhelníků),
kdy se do jednoduchého objektu přidávají trojúhelníky, které se pak můžou různě
formovat - obrázek TRUFORM...

ATI Truform

... ve výsledku jsou pak objekty lépe zaoblené a propracované. Matrox šel ve
formování objektu ještě dále a přidal vzdálenost od plochy. Tímto způsobem
již není odkázán na původní tvar objektu, ale může jej vizuálně úplně změnit.
Jen pro upřesnění - první obrázek znázorňuje princip vytváření HDM a druhý
výsledek použití této funkce, kdy na stejný objekt je aplikována jiná HDM
textura.

Hardware Displacement MappingVýsledek Hardware Displacement Mappingu

Protože takto přidané trojúhelníky zvyšují náročnost scény, snižuje se i
výkon. ATI tuto nevýhodu "řeší" silou, kdežto Matrox přidal funkci Depth-Adaptive Tessellation, kdy přidává počet trojúhelníku podle vzdálenosti od pozorovatele - čím blíže, tím více trojúhelníku, se zvětšující vzdálenosti se množství trojúhelníku rapidně snižuje (u ATI je úroveň detailu vždy konstantní, resp. program musí být napsán tak, aby byl schopen měnit počet trojúhelníku, kdežto Matrox to dělá automaticky). Tímto způsobem se dá i velice náročná scéna (např. členitá krajina) vykreslit bez obrovského úbytku výkonu. Všechno vypadá dobře, ale bohužel vše má i své stinné stránky - funkci modelování textur lze použít pouze v případě, že ji aplikace podporuje a tady je kámen úrazu, protože kromě několika dem nevím o žádné aplikaci (např. hře), která by tuto funkci podporovala. Vysvětlení je jednoduché: existuje jen jediná grafická karta s kvalitní implementací. Ano, je to Parhelia. ATI a nVidia používají jednoduchý "hack" s využitím vertex shaders, aby si tento pojem mohli zapsat do tabulky "podporuje". Ten je ovšem prakticky nepoužitelný, protože to, co potřebujeme, je dynamické generování trojúhelníků podle úrovně detailu... a poněkud více hodnot, než je registr pro konstanty. Další důvod, proč zatím není HDM využívaný, je ten, že tato funkce je podporována až u DirectX 9, který se začne používat kdovíkdy, a také ten, že je tato funkce víceméně nekompatibilní např. s volumetrickými stíny, které používá Doom3. Takže dokud vývojáři her nebudou hry upravovat (např. formou patchů, jako tomu bylo u EMBM), tak se této funkce v blízké době nedočkáme.

Na závěr aspoň detail obrázku z jednoho dema to, co vidíte, je textura s aplikaci HDM (a využitím Quad texturing, kdy na plochu jsou v jednom čase nanášené až čtyři textury - normal, decal, specular a caustic).

Ryba s HDM a čtyřmi texturami

64 Super Sample Texture Filtering

Parhelia je schopna spočítat během tiku až 64 samplů z textury. Číslo 64
odpovídá tomu, že Parhelia má 4 pipelines, 4 texturovací jednotky na jednu
pipeline a jedna TMU je schopna bilineárniho filtrování - 4×4×4 = 64.

Vzhledem k tomu, že na objekt jsou aplikovány dvě textury (základní textura
+ lightmapa), nazývá se toto Duální texturování. 

  • Duální-texturování pixelů se zapnutým trilinearním filtrováním je výkonově
    stejné, jako dualní-texturování pixelů se zapnutým bilinearním filtrováním.
  • Duální-texturování pixelů se zapnutým 16-sample anisotropním filtrováním je výkonově stejné, jako dualní-texturování pixelů se zapnutým trilinearním filtrováním

Při normálním duálním texturování a bilineárním filtrování je potřeba jen 2
TMU, takže další dvě zahálejí, kdežto při duálním texturování s trilineárním
filtrováním je potřeba všechny 4 TMU. Proto nemá bilineární či trilineární
filtrování vliv na výkon. O tomto se vede dost diskuse, neboť panuje přesvědčení (nejspíše důsledek prvních testů Parhelie na prvních ovladačích), že i přes výše uvedené skutečnosti, klesne u trilineárního texturování výkon. Proto jsem to odzkoušel na několika hrách a vždy byl výsledek stejný. Zkoušel jsem i použití FRAPS (měření FPS v průběhu hry) a opět výsledek stejný. Takže dle mého nejlepšího svědomí mohu říct, že v tomto "reklamní" materiály Matroxu nelžou.

Super Sample Texture Filtering

Kapitoly článků

Diskuse ke článku Matrox Parhelia 512

Žádné komentáře.