Az AMD új technológiai trükkje hatalmasat faraghat a ray tracing gépigényén

Az AMD 98 százalékkal faragta le a ray tracing memóriaigényét.

Lehet, hogy néhány év múlva már a videojátékok erdejében sem a GPU fogja kérni elsőként, hogy menjünk ki inkább megérinteni a füvet. Az AMD kutatói ugyanis egy meglepően hatékony módszerrel kísérleteznek, amely brutálisan lefaraghatja a rengeteg animált növény ray tracingjének memória- és számítási igényét. A titok az, hogy nem minden egyes levelet és ágat kell folyamatosan újraszámolni – elég őket egy jóval egyszerűbb geometriai „kalitkába” zárni. Az AMD Advanced Graphics Program kutatói a tetrahedral cage, vagyis tetraéderes burkolat nevű technikával próbálják megoldani a sugárkövetés egyik különösen csúnya problémáját. Egy sűrű erdőben több tízezer növény mozoghat egyszerre a szélben, és ha minden egyes háromszög pozíciójához folyamatosan frissíteni kell a ray tracing struktúráit, abból pillanatok alatt GPU-gyilkos mulatság lesz. Az AMD demonstrációjában körülbelül 25 ezer egymástól függetlenül animált növény szerepel. Maximum részletességnél ezek összesen 2,8 milliárd háromszöget jelentenek, a tényleges renderelés során alkalmazott LOD-rendszer után pedig még mindig nagyjából 500 millió animált háromszöget követnek a sugarak képkockánként. Egy Radeon RX 9070 XT mindezt 1080p-ben már képes 60 FPS felett futtatni.

Hagyományos eljárással ugyanez már jóval kevésbé vidám történet lenne. Az AMD szerint a sűrű geometria Bounding Volume Hierarchy, vagyis BVH struktúráinak frissítése akár 80 GB GPU-memóriát is felemészthetne, miközben képkockánként több mint 300 milliszekundumot venne igénybe. A tetraéderes megoldással ehhez képest körülbelül 1,7 GB BVH-memória és 3,3 milliszekundumos frissítési idő is elegendő. Ez memóriahasználatban közel 98 százalékos csökkenést jelent.

A trükk lényege, hogy az AMD nem közvetlenül a sok százezer vagy milliónyi apró háromszöget deformálja. A részletes objektum köré egy sokkal egyszerűbb, tetraéderekből álló burkolat kerül, és futás közben csak ezt animálják. A sűrű geometria és annak gyorsítóstruktúrái változatlanok maradhatnak, a sugarakat pedig visszatranszformálják az eredeti, statikus állapotba, mielőtt megvizsgálnák a találatokat. Így az animáció költsége elsősorban a burkolat összetettségétől függ, nem pedig attól, hogy hány millió háromszögből áll az objektum. Persze nincs ingyen ebéd, még a virtuális erdőben sem. Az eljárás kevesebb kontrollt biztosít az egyes vertexek mozgása felett, ezért például egy kiemelt, részletesen animált karakter esetében nem feltétlenül ideális. Tömeges növényzetnél, fűnél, lombkoronáknál vagy akár nagyobb tömegjeleneteknél viszont pontosan ez lehet az a kompromisszum, amelyet a játékos valószínűleg észre sem vesz, de az AMD kártyái fellélegezhetnek. A technológia egyelőre kutatási projekt, tehát nem egy új Radeon-beállítás, amelyet holnap bekapcsolhatunk a driverben. Az AMD ugyanakkor már DXR-mintákon és egy C++ könyvtáron dolgozik, amely megkönnyítheti a tetraéderes burkolatok használatát skinnelt, kulcsképkockás és statikus objektumokon is.

Ha pedig mindez egyszer tényleg bekerül a játékokba, könnyen lehet, hogy a jövő virtuális erdői jóval sűrűbbek és mozgalmasabbak lesznek – anélkül, hogy közben a videokártyánk hangtalanul segítségért kiáltana.

Borítókép: AI