Kikapcsolhatatlan sugárkövetést kínál az új Avatar játék

Az Ubisoft nem viccel, nagyon hatékonyan kerülik ki a DirectX Raytracing hátrányait.

Nagyjából egy éve írtunk arról, hogy az Ubisoft kerülőúttal kezelné a szabványos sugárkövetést, kihúzva a képletből annak nem túl kedvező, sokszor igencsak limitáló hátrányait. Ezzel a vállalat elsődlegesen egy nagy teljesítményű implementációt szeretne alkotni, amire a DirectX Raytracing jelenleg nem ad lehetőséget az egyik legfontosabb futószalaglépcső programozhatóságának híján. Ez különösen fontos az olyan típusú játékoknál, amelyek nagy, geometriailag részletes külső tereket jelenítenek meg, elvégre a Microsoft, sugárkövetésre tervezett API-jában nem megoldható a nem látható objektumok kivágása, vagy éppen ezek részletességének dinamikus menedzselése, azaz jelenleg teljesen hasztalan, a végeredmény tekintetében nem is látható számításokkal vannak agyonterhelve a modern GPU-k.

Az Ubisoft megoldásának az első demonstrációját az Avatar: Frontiers of Pandora szolgáltatja, amely az új új Snowdrop videojáték-motort veti be. Előjáróban annyit, hogy a fejlesztés sebessége egészen látványos, konkrétan annyira, hogy a fejlesztők nem teszik teljesen kikapcsolhatóvá a sugárkövetést. Nincs is értelme, mivel messze nem terhel úgy, ahogy azt eddig megszokhattuk. Ugyanakkor a rendszer minősége skálázható, és minimális részlegességű sugárkövetés mellett mindössze pár százaléknyi a lassulás gyakorlatilag akármilyen GPU-n.

Az alkalmazott technikával kapcsolatban megtudtuk, hogy az Ubisoft nem a DirectX Raytracingben specifikált adatstruktúrát használják, ez felel ugyanis a szabványos, hardveresen gyorsított implementációk lassúságáért. Az említett kiadó módszerének az az előnye, hogy minden döntés programozott, tehát nem egy kapott, nagyrészt ismeretlen képességű rendszerrel dolgozik az alkalmazás, hanem egy saját fejlesztéssel. Ennek minden előnyét és hátrányát ismeri a cég, és pont ez biztosítja azt, hogy a programkód ellenőrizhető lesz, vagyis pontosan kideríthető, hogy mely részek okozzák a lassulásokat, amelyekre relatíve könnyű megoldásokat találni.

Járulékos előnye az Ubisoft rendszerének, hogy a DirectX Raytracing API-t kizárólag a saját, egyedi fejlesztésű adatstruktúra kialakítására használják, vagyis annyira kis munkaterhelés van a GPU-k gyorsításért felelős részegységein, hogy ezek mellőzhetők, tehát a régebbi, sugárkövetés gyorsítását direkten nem támogató hardverek is képesek ezt a feladatot elvégezni. Persze némileg lassabban, mint az újabb dizájnok, de a különbség nem jelentős. A sebesség tehát összességében annyira jó, hogy még egy több éves, DirectX Raytracing API-t hardveresen nem gyorsító VGA-n sem szükséges teljesen kikapcsolni magát a sugárkövetést, a megfelelő részegységgel felszerelt dizájnok pedig egy picike extra sebességet nyernek a beépített hardverüktől.

A jó tempót végeredményben a programozhatóság hozza. Azzal, hogy az Ubisoft saját adatstruktúrát használ, nem korlátozza be a rendszerét a DirectX Raytracing, bejárással kapcsolatos limitjeihez, így többek között alkalmazható dinamikus LOD, illetve a biztosan nem látható, főleg kitakart objektumok már a képszámítás elején kivághatók, amikor még nem terhelik a GPU erőforrásait. Ez nagyon nagy segítség a VRAM-nak, ugyanis így nem kell több gigabájtnyi, képernyőn amúgy sem, vagy túl kevés pixelen megjelenő, részletes tartalmat eltárolni, amire például a DirectX Raytracing kötelezően rákényszeríti a hardvereket. Ez az Avatar: Frontiers of Pandora esetében úgy segít, hogy az extrém magas felbontású textúrákat nem kellett külön, ingyenes DLC-ben szállítani, egyszerűen mehetett az alapjáték részeként is, hiszen a sugárkövetés nem veszi el a helyet a VRAM-on belül.

A friss, amúgy szintén teljesen szabványos módszer látványosan prezentálja, hogy hol vérzik nagyon a DirectX Raytracing jelenleg, és nem véletlen, hogy a Microsoft erőteljesen dolgozik a traversal shader biztosításán, ami direkten programozhatóvá tenné a bejárással kapcsolatos futószalaglépcsőt, megadva azokat az előnyöket, amiket az Ubisoft most különböző kerülőutakkal használ. Utóbbi nem mondható igazán optimálisnak, de az látható, hogy még mindig sokkal jobb, mint együtt élni az API limitációival.

Előzmények

Hirdetés