Morfologické vyhlazování MLAA 2.0 — funguje všude
Seznam kapitol
Před časem jsme vám přinesli test alternativního vyhlazování FXAA od nVidie, které je schopné vyhladit obraz i ve hrách, kde běžné metody vyhlazování hran nefungují. Dnes otestujeme konkurenční řešení od AMD — MLAA 2.0. Zaměříme se především na srovnání kvality jednotlivých technologií a jejich hardwarové nároky.
výřez ze hry Grand Theft Auto: Episodes From Liberty City (původní velikost bez úprav)
Jak pravidelně zmiňuji ve svých článcích, zubaté hrany a další vady obrazu dané nedostatečně jemným rozlišením monitorů trápí drtivou většinu hráčů. Relativně dobrým řešením tohoto problému je technologie vyhlazování hran (anglicky antialiasing), kdy se obraz generuje v několikanásobně vyšším rozlišení a následně dochází k jeho zmenšení a průměrování barvy sousedních pixelů (více viz nedávný článek o klasickém vyhlazování hran). V praxi se však objevuje řada her, jejichž zdrojový kód nedodržuje plně standardy rozhraní DirectX a vyhlazování hran v nich není možné zapnout ani při vynucení přes ovladač grafické karty. Patří sem i řada AAA titulů jako je například série Grand Theft Auto.
obraz vyhlazený post processing vyhlazováním, deformace písma je dobře patrná (zvětšeno na 200 %)
Výrobci grafických karet se ve snaze přilákat nové zákazníky začali zaměřovat i na tuto problematiku a vymysleli techniku tzv. post processing vyhlazování. Zjednodušeně řečeno jde o matematický algoritmus, který z frame bufferu (část vyrovnávací paměti v grafické karty) načítá snímky připravené k vykreslení na monitoru a pomocí matematické analýzy v nich hledá hrany. Ty následně vyhladí a upravený snímek uloží zpět do paměti a ten je posléze vykreslen na monitoru. Algoritmus je díky tomu schopen vyhladit obraz jakékoliv hry či jiné aplikace bez ohledu na její zdrojový kód. Na druhou stranu však post processing vyhlazování neumí opravit řadu vad jako jsou například nespojité linie a vyhlazuje veškeré objekty včetně těch, u kterých to vůbec není žádoucí (HUD ve hrách, text a podobně). Z principu věci proto post processing vyhlazování nikdy nebude lepší než klasické metody vyhlazování jako je multisampling nebo supersampling a má smysl jej uvažovat jen u her, které klasický režim vyhlazování nepodporují. A těch je bohužel velmi mnoho.
Jako první představilo post processing vyhlazování AMD společně s řadou AMD Radeon HD 6800. Pojmenovalo jej morfologické vyhlazování (MLAA) a v samostatném testu jsme ověřili, že se AMD technologie povedla. Vyhlazování fungovalo i ve hrách, kde klasický režim vyhlazování nespustíte a s nízkými hardwarovými nároky. Současně však se všemi výše zmíněnými nevýhodami. I přesto jej pravidelně v testech počítačových her zkouším u titulů, které klasické vyhlazování nepodporují.
Na nastalou situaci rychle zareagovala nVidia, která představila své vlastní post processing vyhlazování pojmenované FXAA. V krátké době se FXAA objevilo v několika hrách, zapnout ho ale kdekoliv bylo poměrně složité. Změnilo se to až nedávno při vydání GeForce GTX 680, kdy se položka s FXAA konečně objevila i v ovladačích a tuto post processing technologii je možné zapnout v každé hře. Ostatně její samostatný test jsme vám přinesli přibližně před měsícem.
Novinku v oblasti post processing vyhlazování přinesla také společnost AMD, která společně s uvedením Radeonů řady HD 7800 představila morfologické vyhlazování druhé generace. Od stávající technologie se liší lepším algoritmem, který by měl detekované hrany lépe vyhlazovat a současně i nižšími hardwarovými nároky. Podporován je na všech kartách AMD Radeon s podporou rozhraní DirectX 11 (HD 5000 a výše) od dubnových ovladačů Catalyst 12.4 WHQL.