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

Vyhlazování a Glyph Antialiasing

Matrox Parhelia logo
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.

Kapitoly článků

Vyhlazování

Kvalita obrazu je již delší dobu trnem v oku výrobcům grafických čipů. Proto
přišlo před několika léty na svět celoobrazovkové vyhlazování (v angličtině
Full Scene Anti Aliasing), které má zkratku FSAA. Zjednodušeně lze říct,
že grafická karta počítá obraz ve vyšším rozlišení a zobrazuje v nižším, což
znamená, že počítá např. 4 pixely, které pak sloučí v jeden, a to i uvnitř
polygonu, ale pro všechny tyto pixely použije stejné body textury (v podstatě
se vícenásobně počítá jen "pixel je nebo není vidět", nikoliv jeho
barva). Implementace může být pomocí Supersamplingu, Multisamplingu atd.
Bohužel má tato funkce hned tři nevýhody:

  1. mohou se ztratit některé důležité detaily,
  2. může dojít k rozmazání písma,
  3. v podstatě do dnešní doby je tato funkce díky snížení výkonu málo
    využívaná (viz. benchmark).
  4. Matrox na problematiku vyhlazování šel jinak. Jeho metoda se nazývá fragmentové vyhlazování (v angličtině Fragment Anti Aliasing), která má zkratku FAA. Opět bych to zjednodušeně popsal tak, že si karta vybere objekty ve scéně a ty pak vyhladí v místech, kde je to třeba (nebo kde uzná za vhodné). Hned teď mohu říct, že tato funkce je naprosto dokonalá. Našel jsem pouze jednu nevýhodu - vyhlazování FAA nefunguje vždy, čímž nemám na mysli, že by u nějaké hry nešlo zapnout, ale ne všechny objekty ve scéně takto vyhladí. Ale všiml jsem si toho až u screenshotu, kde u NFS HS2 byl ignorován horizont cesty (obrázek najdete na konci kapitoly).

    Porovnání vyhlazování

    Rozdíl mezi FSAA a FAA jednou větou: full scene znamená, že hodnotu
    sub-pixelu počítá pro každý pixel obrazu, fragment znamená, ze hodnotu
    sub-pixelu počítá jen pro ty pixely, které to potřebuji (typicky hrany
    polygonu)... Výhody FAA jsou zřejmé, je to nejkvalitnější forma AA, která je
    navíc použitelná (rychlá, nezabírá násobky paměti pro frame-buffer, neprovádí
    AA tam, kde je to na škodu - vnitřek polygonu - jinými slovy, nechová se jako
    další filtr). FAA bohužel nelze aplikovat úplně na všechno, proto i Matrox
    přidal podporu FSAA.

    Nastavení FFA

    FSAA může mít několik hodnot (2, 4, 6), které vyjadřují s jakou kvalitou se
    bude počítat (interpolace, množství okolních pixelu atd.). Čím vyšší hodnotu
    nastavíme, tím vyhlazenější obraz bude, ovšem za cenu ztráty výkonu. Naproti
    tomu FAA má hodnotu pouze 16, která vyjadřuje počet subpixelů z fragmentového
    pixelu.

    Tak tolik teorie snad stačilo. A jak to vypadá v praxi? U většiny her si
    můžete bez obav zapnout FAA16× i v rozlišení 1600×1200. U ostatních, které jsou
    náročnější, můžete použít 1280×1024 (nebo lepších 1280×960) a níž. Když jsem
    měl zapnutý FAA16× u hry UT2003 v rozlišení 1600×1200, tak se v některých
    místech projevilo cukání, ovšem ve 1280×1024 bylo vše v naprostém pořádku. Na
    tomto místě bych mohl polemizovat nad použitím rozlišení 1600×1200 ve hrách. K
    čemu je to dobré? Jestliže kvalitou je lepší rozlišení 1024×768 se zapnutým
    FAA16×, pak je vyšší rozlišení zbytečné.

    Náhled na vyhlazování

    Srovnání s FAA a bez něj
    1600x1200 bez vyhlazování × 1024x768 s FAA16x

    Po kliknutí se můžete podívat na PNG obrázky "vytípané" ze hry Quake III Arena v rozlišení 1024×768: FSAA6x Radeonu 9700, FAA16x Parhelie a bez vyhlazování (pozor, každý má cca 700 kB!).

    A na závěr FAA jeden moc pěkný obrázek - schválně si pořádně prohlédněte ty
    auta - tak přesně takhle se chová FAA16× (v dálce vidíte horizont, který není
    vyhlazen - zde je vidět, že pokud aplikace FAA nepodporuje, může se stát, že
    některé objekty prostě ignoruje).

    Vyhlaování v NFS

    S vyhlazováním, které ocení především lidé pracující s CAD aplikacemi,
    souvisí i hardwarová podpora Vektorového vyhlazování (HW Vector Antialiasing) OpenGL. Vypadá to takto - na prvním obrázku bez vyhlazování a na druhém se zapnutým vyhlazováním (doporučuji kliknout pro zvětšení)

    Bez vektorového vyhlazování S vektorovým vyhlazováním

    Glyph Antialiasing

    Operační systém Windows nabízí software vyhlazování písma, u kterého dochází
    ke znatelnému zpomalení. Na slabších počítačích je toto zpomalení patrné v
    podstatě ihned, kdežto na dnešních standardních sestavách, až při větším
    vytížení procesoru. Matrox Parhelia nabízí toto vyhlazování na úrovni hardware,
    takže i při nejvyšším zatížení procesoru nedochází ke snížení výkonu. Další
    výhodou je zdokonalení vyhlazení písma. Přesnější popis naleznete opět v článku, na který jsem již několikrát odkazoval.

    Chtěl jsem otestovat rozdíl výkonu, ale narazil jsem na nepřekonatelnou
    bariéru.

    1. Výběr vhodného testovacího software. Bohužel v dnešní době jsem nenašel nic, co by aspoň trochu testovalo věci, jako Word, Excell atd. Díval jsem se např. na Winbench, PCMARK atd. Nakonec jsem vykopal staré CD a pustil opravdu stařičký Wintach, který mi sice hlásil, že mám perfektní PC s CPU 486, ale testy se zabývají jak Wordem, Excelem, což bylo pro mne dostačující. Horší je to s tím, jak se dá takovému testu důvěřovat - já se obávám, že asi moc ne, přesto jsem takový test zkusil, jenže ...

    2. ... při testech bez zatížení CPU jsou výsledky na testovací konfiguraci (viz. benchmark) dosti podobné, takže jsem se snažil vytížit procesor na 100%. Použil jsem na to převod filmu z MJPEG do DIVX, jenže pak byly výsledky naprosto šílené. Jednou výsledek 600, podruhé se stejnými parametry např. 30000. Jde totiž o priority procesu, takže pokud v dané chvíli OS uzná za vhodné přičlenit větší prioritu pro převod filmu, pak dostanu nízké výsledky v testu. Zkoušel jsem ručně přenastavit priority, ale ani to nepomohlo. Prostě výsledky jsou k ničemu. No a nakonec jsem si všiml ještě jedné věci.

    3. Funkce Glyph Antialiazing nahrazuje původní software vyhlazování ve
    Windows. To znamená, že jakmile ve Windows zapnu vyhlazování, okamžitě se aktivuje GA, takže ani při nejlepší vůli nejsem schopen změřit výkonnostní
    rozdíl mezi vyhlazováním SW a HW Glyph Antialiasingem.

    Snažil jsem se tedy aspoň vytípat nějaký text, takže pro SW vyhlazování
    jsem použil jiný počítač. Sami se můžete podívat na následující obrázek, kde je vidět nejprve nevyhlazované písmeno á, následně softwarově vyhlazované a nakonec vyhlazované pomocí GA. Jedná se o font Times velikosti 12 a patřičně zvětšený:

    Vylazování textu

    Bohužel se obávám, že to HW GA vyhlazování tam není zachycené :( Vidím
    rozdíl mezi textem, který se mi zobrazuje a mezi tím, co je típnuté. Myslím,
    že je to způsobeno tím, že se proces vyhlazování provádí až při výstupu
    na monitor.

Kapitoly článků

Diskuse ke článku Matrox Parhelia 512

Žádné komentáře.