Érdekes analitikai élsimításra lelt az Ubisoft

Mára minden nagy kiadó kialakított egy kutatócsoportot az új generációs konzolok IGP-jének vizsgálatára, azaz lényegében minden cég igyekszik megérteni a GCN architektúra működését, hogy a lehető leghatékonyabb kódokat írhassák rá. Ez a folyamat igen sokáig eltarthat, de a publikus dokumentációnak hála gyorsan sikerült érdekes eredményeket elérni. Michal Drobot, az Ubisoft kutatási vezetője a Digital Dragon 2014 konferencián számolt be az elmúlt hónapokban tett észrevételeiről. Az előadás során általánosan kiderült, hogy a modern GPU-k nem különböznek annyira a CPU-któl, mint régen, azaz érdemes úgy gondolni rájuk, mint egy adatpárhuzamos végrehajtásra optimalizált központi processzorra, de a Cell SPU-ival korábban megbarátkozó fejlesztők is sok tudást újrahasznosíthatnak. Mindemellett érdemes olyan eljárásokat is újratesztelni a GCN-en, amelyek elvben optimálisak, de korábbi hardvereken a gyakorlatban nem működtek jól. Esetlegesen ezek már hatékonyan feldolgozhatóak, köszönhetően annak, hogy a GCN architektúra az alapvető működés tekintetében jobban hasonlít egy CPU-hoz, mint egy tradicionális GPU-hoz.

Nagyon érdekes azonban, hogy máris sikerült felfedezni egy érdekes analitikai élsimítást. Bár itt a felfedezés kicsit félreérthető, hiszen a GBAA-ről (Geometry Buffer Anti-Aliasing) van szó, mely a GPAA továbbfejlesztése annak érdekében, hogy működjön az átlátszó felületekkel is. Ez a koncepció sajnos igényel egy geometry shadert a váz kiértékeléséhez, ami eléggé költséges lehet a mai geometriai részletesség mellett. Ez az oka annak, hogy az amúgy nagyszerű képminőséget nyújtó GBAA eddig nem terjedt el, hiszen pont egy olyan eljárásról van szó, ami a méltán kedvelt MSAA-hoz hasonló minőséget nyújt, de eközben kompatibilis minden grafikai eljárással. Emellett nincsenek olyan utófeldolgozással működő élsimításra (FXAA, TXAA, SMAA, MLAA és CMAA) jellemző kellemetlen mellékhatásai, mint a képi adatok enyhe elmosása, illetve a különböző temporális zavaroktól is mentes az egyes képkockák között. Nyilván ma már annyi élsimítási opció létezik, hogy a legtöbb fejlesztő mérlegeli a lehetőségek pozitív és negatív oldalait is, és sajnos komoly tényező lett a gyors munkavégzés, ami az utófeldolgozáson alapuló élsimítási formák térnyeréséhez vezetett.

A GBAA-t sokan értékelhető opciónak tartanák a geometry shader fázis nélkül, de ez elég nehézkes, hiszen a pixel shader nem tudja kiolvasni a vertex adatokat a raszterizált háromszögből, így ezeket a geometry shader fázisból kell biztosítani a rendszernek. Michal Drobot azonban észrevette, hogy a GCN architektúra lehetőséget ad a pixel shadernek a helyi adatmegosztás (LDS) elérésére, ezzel lényegében az elmentett vertex adatok a geometry shader fázis lefuttatása nélkül is elérhetők lesznek. Persze a geometry shader munkáját így is el kell végezni, de pixel shaderrel az él távolságának keresése nagyságrendekkel gyorsabban elvégezhető. A GBAA a felújított algoritmussal nem veszít a minőségéből, és komolyabb teljesítménydeficittel sem kell többet számolni. A felhasználók lényegében az átlátszó objektumokra is működő négymintás MSAA-nál valamivel jobb minőséget kapnak, miközben alig pár százalékos tempóveszteséggel kell számolni.

A koncepciót más modernebb architektúrák is támogathatják, bár erre vonatkozóan nincsenek adatok, mivel az Ubisoft csak a GCN lehetőségeit vizsgálta. Az Intel publikus dokumentációja szerint a Haswell lapkában található Gen7.5-ös IGP esetében elméletben nem elképzelhetetlen, hogy megoldható a fenti eljárás működése. Sajnos az NVIDIA egy ideje már nem dokumentálja a grafikus architektúráit, így ebből a szempontból ezek mélyebb működéséről senki sem tud semmit. Leginkább a PTX dokumentációkból lehet kiindulni, de ebben az esetben ez nem segít.

Azóta történt

Előzmények

Hirdetés