Hirdetés

A hibrid raszterizáció lesz a következő nagy dobás?

Manapság vitathatatlan, hogy a számítógépes grafika elért egy olyan szintre, ahonnan nehéz továbblépni. Ez két dologgal magyarázható: nem éri meg több pénzt belerakni a fejlesztésekben, vagy valamilyen technikai probléma megakadályozza a továbbfejlődést. A legtöbb stúdiónak vállalhatatlanul drágává vált az adott játék alapjául szolgáló technológia folyamatos fejlesztése, így inkább a biztonságosabb, de kevésbé innovatív utat választják. Nagyrészt emiatt alakult ki az, hogy az Electronic Arts nagyon elhúzott technológiailag mindenkitől, amire kézzel fogható bizonyíték a Frostbite legújabb verziója. Utóbbiról az alábbi oldalon írtunk, és már a gyakorlatban is megtekinthetők a képességei a nemrég megjelent Star Wars Battlefront és a Need for Speed játékokban. Persze az előbbi programon belül a PC-s leképező még nem teljes, de idővel elérhető lesz az alacsonyabb szintű elérés is.

Az elmúlt napokban azonban érdekes hírek érkeztek arról, hogy a technikailag úttörő rendszerek merre fejlődhetnek tovább. Többek között reális lehetőség a raszterizáció újragondolása. Mint ismeretes, a raszterizálásért ma a grafikus vezérlők fixfunkciós rasztermotorjai felelnek, amelyek a maguk limitált módján lényegében tökéletes munkát végeznek. A jellemző jelenetkomplexitás mellett ezek az egységek gyorsan és hatékonyan dolgoznak, de gondot jelent az, amikor a jelenet komplexitása drámaian megnő. Ilyenkor a normálisnak tartott szintnél jóval több háromszöggel kell számolni, és a minőség növelése érdekében ezek egyre kisebbek.

A fixfunkciós rasztermotorok funkcionálisan bármilyen körülmény mellett működnek, de ha a jelenetben lévő háromszögek mérete 16 pixelnél kisebb, akkor radikálisan csökken a hatékonyságuk. Ez az a pont, ami ma elválasztja a tehetős fejlesztőket a mikropoligonok alkalmazásától, mivel vállalhatatlanná válik, hogy a hardver az apró háromszögek kiszámításához rengeteg erőforrást elpazaroljon. Érdemes azonban a továbblépésen gondolkodni, mert a komplexebb felületeknél már elértük azt a határt, amikor bőven megengedhetők a 16 pixelnyi kiterjedésű háromszögek, viszont lejjebb nem tudunk lépni, mert az azt jelentené, hogy a hardver a számítások 50-90%-át (függően a háromszög méretétől) feleslegesen végezné el.

A problémára a Firaxis korábban már kitalált egy részmegoldást, ami lényegében a szoftveres tesszelláció. Ez a ma jellemzően használt hardveres tesszellálásnál a Firaxis méréseiben 24%-kal gyorsabb volt, és ezt a koncepciót a vállalat be is vetette a Sid Meier’s Civilization: Beyond Earth című játékban. Ugyanakkor a szoftveres tesszellálás csak egy tüneti kezelés, így valós megoldásnak nem tekinthető, mivel ezzel sem tudnak a hardverek hatékonyan raszterizálni, ha a háromszögek mérete 16 pixelnél kisebb.

Feltűnt azonban egy új alternatíva, mégpedig a hibrid raszterizálás. Ez is részmegoldásnak tekinthető, de nagyon jó az alapkoncepciója, mivel csak ott próbál segíteni a mai rendszereken, ahol problémába ütköznek. A fixfunkciós raszterizálás ugyanis mindaddig nagyszerű, amíg a háromszögek mérete kellően nagy, nevezetesen 16 pixelnél nagyobb. Viszont ha ezek mérete kisebb, akkor egy compute shaderben írt szoftveres raszterizáló már gyorsabb munkát végez. Ez azért lehet így, mert szoftveres szinten bármit le lehet programozni, és a több TFLOPS-os számítási kapacitással rendelkező hardverek ereje is elég nagy ahhoz, hogy bőven túlteljesítsék a fixfunkciós blokkok teljesítményét. Többek között egy szoftveres raszterizálóval nem kötelező négyes pixelblokkokon számolni, tehát a mikropoligon eljövetelét megakadályozó úgymond méregfog kihúzható a rendszerből.

A hibrid raszterizálás úgy nézne ki, hogy a raszterizálás lépcsője előtt a videojáték-motor megjelölné a készülő képkockán azokat a területeket, ahol a háromszögek kicsik, illetve ahol viszonylag nagyok. A nagy háromszögekkel elbánnak a fixfunkciós rasztermotorok, míg a kis háromszögekkel tarkított területekre mehet a compute, vagyis a szoftveres raszterizálás. Ezek ráadásul akár átlapolva is elvégezhetők az új API-kban elérhető aszinkron compute képességgel, így a szoftveres raszterizálás kvázi ingyenessé válik az erre alkalmas hardvereken.

Annyit tudunk, hogy a koncepciót a Frostbite Team és a Firaxis kutatja a legélénkebben, hiszen általuk használt videojáték-motorok (Frostbite és LORE) már bőven vannak olyan hatékonyak, hogy a 16 pixeles háromszögek tömeges alkalmazása sem jelent problémát, de továbblépni érthető okokból nem tudnak. A legtöbb stúdió még eddig a pontig sem jutott el, így sokak számára előbb az a feladat, hogy legyen legalább annyira hatékony a rendszer, mint a Frostbite és a LORE, és csak utána érdemes elgondolkodni az olyan egzotikus problémamegoldásokon, mint a hibrid raszterizálás.

A másik lehetőség egyébként az a modell, amit az Oxide által fejlesztett Nitrous alkalmaz, de ezzel az a gond, hogy eléggé a nulláról kell építkezni egy olyan leképező megírásához, amely hasonlóan működik, mint a Pixar-féle RenderMan, ráadásul valós időben. A legtöbb stúdió és kiadó azonban rengeteg pénzt rakott az aktuális fejlesztésekbe, így ha lehet, akkor olyan megoldásokat keresnek a problémákra, ahol az eddigi eredményeket nem kell eldobni.

Azóta történt

Előzmények

Hirdetés