Extrémgyors és kiváló minőségű élsimítást kap a Far Cry 4

Az Ubisoft az idei SIGGRAPH rendezvényen leleplezte a HRAA (hybrid reconstruction anti-aliasing) névre keresztelt élsimítást, amely egy rendkívül átfogó megoldás az aliasing problémára és mindemellett nagyon gyors is. Már a nevéből is sejthető, hogy nem egy, hanem több élsimítási megoldás összefűzéséről van szó, így technikailag egyetlen kategóriába sem sorolható be. Michal Drobot, a vállalat kutatási vezetője szerint a ma használt élsimítási koncepció alapvető problémája, hogy az előnyeik mellett komoly hátrányokat is felhoznak. Mindegy tehát, hogy temporális, utófeldolgozásos, analitikai vagy hagyományosabb, a hardver szintjén dedikált támogatást élvező megoldásról van szó, egyik sem végez tökéletes munkát. Az egyetlen reális koncepció a szuper mintavételezésen alapuló SSAA, de ennek az erőforrásigénye vállalhatatlanul magas.

Az Ubisoft kutatócsoportja az élsimítás problémáját egészen új oldalról közelítette meg. Erre vonatkozóan nagyjából egy éve folynak kutatások, amelyek azt célozzák meg, hogy miképp lehet olyan hibrid koncepciókat alkotni, ahol a temporális, az utófeldolgozásos, az analitikai és a hagyományosabb megoldások nem kiváltják, hanem kiegészítik egymást. Ezek előnyeit összeadva, a lehetséges hátrányokat felszámolva elméletben kialakítható egy olyan élsimítás, amely elhanyagolható hardverterhelés mellett képes rendkívül jó minőséget hozni.

A vállalat azt a célt tűzte ki célul, hogy HRAA legyen temporálisan stabil, kezelje nagyon jól az éleket, az árnyalásba fektetett erőforrás csak egy mintavétel legyen pixelenként, illetve Full HD-ben nagyjából 1 ms alatt fusson le a Microsoft Xbox One és a Sony PlayStation 4 konzolokon. Átlagfelhasználók számára lefordítva tehát az volt a cél, hogy a HRAA megközelítse a négymintás SSAA minőségét amellett, hogy a bekapcsolása csupán 1-2 képkocka/másodperccel csökkenti a sebességet. Nyilván ebbe mindenki beleegyezne, hiszen a hagyományos SSAA inkább felezi, vagy rosszabb esetben harmadolja a futtatási tempót.

Hirdetés

A HRAA technikai szinten öt különböző élsimítási eljárást vet be, ezen belül is úgy működnek a különböző technikák, hogy kiegészítsék egymást. Két nagy részre osztható a HRAA problémamegoldása. Az egyik az élek kezelése, míg a másik a temporális stabilitás biztosítása. Az élek kezelése egyértelmű, hiszen itt érezhetők leginkább az aliasing problémái. Az Ubisoft a GBAA utódjának tekinthető, korábban már részletezett AEAA-t használja alapként az alpha teszthez. Ennek a kiegészítője lehet az SMAA (subpixel morfological aliasing-jelenség), vagy a CRAA (coverage reconstruction anti-aliasing), amelyek a tényleges élsimítást végzik. Előbbi egy ismert morfológiai szűrő, míg utóbbi szín- és fedettségmintákat keverő élsimítási metódus (hasonlóan az AMD EQAA és az NVIDIA CSAA koncepciókhoz). A fejlesztők szerint az AEAA-SMAA kombináció adja a legjobb eredményt, de nagyobb az erőforrásigénye. A CRAA-AEAA kombináció gyorsabb, viszont bizonyos területeken nem végez annyira jó munkát, bár az eltérés elhanyagolható, így a nagyobb sebesség esetlegesen többet ér a jobb minőségnél.

A CRAA-ban több kutatási lehetőség is van, tehát ezt a vonalat nem érdemes leírni, ugyanakkor tényleges hátránya, hogy bár a konzolokon üzemképes, PC-n már nem mindegyik hardver támogatja, hiszen direkt hozzáférés kér a fedettségmintákhoz. Mivel utóbbi nem abszolút követelmény, így a PC-s GPU-k esetében csak az AMD TeraScale 2 VLIW4-es opciói, illetve a GCN-es Radeonok kezelik, míg az NVIDIA oldaláról a Fermi és a Kepler architektúrára épülő hardverek sorolhatók ide. Ebből az is kiderül, hogy a CRAA nem üzemképes az Intel grafikus vezérlőin, illetve az NVIDIA legújabb, Maxwell architektúrára épülő megoldásain. PC-n tehát mindenképp az AEAA-SMAA kombináció az előnyösebb, bár az AEAA is igényel változtatásokat a PC-s grafikus meghajtókban, amelyek nélkül sajnos nem működik.

A temporális stabilitás a nehezebb ügy. Itt arról van szó, hogy az egymás után érkező képkockák esetleg annyira megváltozhatnak, hogy egyfajta zizegés lép fel rajtuk. Ez különösen látszik azokon a területeken, amelyekhez a fejlesztők jellemzően nem alkalmaznak élsimítást, mint például a specular mapok, vagy esetleg az alpha csatornát használó textúrák. Maguk az utófeldolgozásos élsimítási technikák sem nevezhetők temporálisan stabilnak, így a textúrákon is felléphetnek zizegések a mozgás során.

Temporális stabilitás az előző képkockák felhasználásával
Temporális stabilitás az előző képkockák felhasználásával

Az Ubisoft kutatócsoportja a Killzone: Shadow Fall című játékban használt TAA (temporal anti-aliasing) koncepciót fejlesztette tovább. Ez a technika az aktuális képkocka számításánál figyelembe veszi az előző két képkockát is, amelyek segítségével stabilizálható a mozgás során keletkező zizegés. A számításnál a rendszer elemzi a képkockák közötti különbséget. Ehhez a képfolyamok feldolgozásában sűrűn használt és igen egyszerű algoritmus kerül bevetésre, méghozzá a sum of absolute differences. Utóbbi ráadásul mindkét konzolon gyorsítható különböző dedikált utasításokkal, ráadásul a SAD4 opcionálisan a DirectX 11.1-nek is a része, igaz ezt PC-n csak az AMD TeraScale 2 és GCN architektúrára épülő Radeonok támogatják. Viszont a sum of absolute differences nyilván megoldható shaderből is, ami ugyanazt az eredményt adja, csak az erre dedikált utasításnál lassabban.

A temporális stabilitáshoz TFQ (temporal flipquad) rekonstrukciót vet be az Ubisoft, ahol a mintavétel temporálisan történik meg az egymás utáni képkockákból. Ez viszont önmagában túlélesíti a mipmapokat, amit manuálisan kell korrigálni. Egy másik probléma lesz a kép túlhomályosítása, ami abból ered, hogy a vállalat TAA eljárásának új eleme az úgynevezett AHB, azaz egy olyan puffer, ahova elmenthetők a képkockák számításához szükséges régi képkockákból származó adatok. Ez egyrészt jó, hiszen javíthatja az eredményt, de a túl régi képkockákon az egyes objektumokból számolt eredmény, már annyira eltolódott, hogy hibákat generálhat. Erre az Ubisoft a BFECC (back forth error correction & compensation) technika GPGPU-s változatát veti be, amely képes hibakorrekciót végezni, még a számítások megkezdése előtt. Ennek az eredménye pedig a túlhomályosítás megszűnése.

TAA BFECC nélkül és BFECC-vel
TAA BFECC nélkül és BFECC-vel [+]

A HRAA a Far Cry 4-ben már bevetésre kerül. Azt még nem döntötte el az Ubisoft, hogy melyik verziója, de az Xbox One és a PlayStation 4 gépekre valószínűleg a TFQ-TAA-AEAA-CRAA kombináció lesz a kiválasztott. Utóbbi mindkét gépen nagyjából 1 ms-nyi időigénybe kerül, az eredmény pedig közelít a négymintás SSAA-hoz.

A PC-ről az Ubisoft egyelőre nem beszél. A HRAA komponensei közül egyedül a TFQ és az SMAA működőképes az összes elérhető hardverrel. A TAA-t át kell írni a SAD4-et nem támogató GPU-khoz, míg az AEAA-hoz új grafikus driverek kellenek. Főleg utóbbi a nagy akadály, így ilyen körülmények között nagy esély van rá, hogy PC-re nem is lesz implementálva a HRAA. Az SSAA használata persze nincs kizárva, de ez nagyságrendekkel lassabban képes hasonló eredményt felmutatni.

Azóta történt

Előzmények

Hirdetés