Döbbenetesen flexibilis a PlayStation 5 sugárkövetéshez tervezett API-ja

És elvileg még csak egy kezdeti megoldásról van szó, a jövőben még jobban megnyílik a kapu a hardver hatékony kihasználása felé.

A jövőben egyértelműen sok szerepet kap majd a sugárkövetés, amiben szinte mindenki egyetért. Arról viszont komoly vita van, hogy milyen formában, hiszen a jelenleg elérhető implementációk rendkívül limitáltak. A DirectX Raytracing (DXR), illetve a Vulkan hasonló képességeket biztosító megoldása egyelőre borzasztóan nagy megkötések mellett engedi használni az eljárást, és komolyan megy az agyalás a háttérben, hogy miképp lehetne ezen segíteni. Például a traversal shader már jön is a DXR-be, amit feltételezhetően megkap majd a Vulkan, hiszen ilyen irányban ez az API is kiegészíthető.

Ami az egész jövőképet érdekessé teheti az a Sony saját API-ja a sugárkövetésre, ami sok szempontból teljesen szembemegy a DirectX Raytracing megkötéseivel, és elsődlegesen a flexibilitást tartja szem előtt. A PlayStation 5-nek ez a része még fejlődik, de annyi már látszik a fejlesztőstúdiók számára jelenleg elérhető specifikációkból, hogy amíg a Microsoft megpróbálta a tipikus problémákat elrejteni a fejlesztők elől, majd ezekre hardveres implementációkkal reagálni, addig a Sony pont, hogy azt erőlteti, hogy a gondokat direkten kezelhessék a programozók, elméletben ugyanis ez nagy előnyt tud biztosítani.

Egyelőre nem teljesen tiszta, hogy melyik megközelítés a helyes, de a traversal shaderrel a Microsoft már lépked a programozhatóság felé, tehát elég nagy esélye van annak, hogy a Sony gondolkodott jól, amikor úgy döntöttek, hogy helyből a flexibilitást kell választani. Erre egyébként a japánok oldalán magyarázat is van. A PlayStation 5 újításai között egyszerre szerepel a hardveresen gyorsított sugárkövetés, illetve az olyan innovatív I/O képességek is, amelyekkel drámai mértékben növelhető lehet a játékok geometriai komplexitása. Na most ez a kettő újítás valójában egymás ellen dolgozik, legalábbis azokkal a specifikációkkal, ahogy a sugárkövetést a Microsoft implementálta. A DirectX Raytracing ugyanis az 1.0-s vagy az 1.1-es szinttől függetlenül nem engedi meg a LOD megfelelő kezelését. A mostani specifikációk alapján minden egyes LOD szintre külön gyorsítóstruktúrát kellene generálni, ami elvben ugyan lehetséges, de mindennek mondható csak hatékonynak nem, hiszen ezáltal elképesztően memóriazabálóvá válik minden sugárkövetéses effekt.

A LOD-dal kapcsolatos problémákra próbál reagálni a Microsoft a traversal shaderrel, de más gondok is vannak, amelyeket egy új shader lépcső nem fog megoldani. Többek között a DXR 1.0 és 1.1 a BVH gyorsítóstruktúra tekintetében is igen limitált. Az alapelv az volt, hogy van egy kötött specifikáció, amire dolgozhat a fejlesztő, és abból majd az adott GPU, illetve annak meghajtóimplementációja "varázsol" valamit, hogy működjön egyáltalán a rendszer. Ez végeredményben tényleg működik, csak bizonyos helyzetekben orbitálisan lassú. Ettől függetlenül a Microsoft szemlélete is érthető, kell valamiféle köztes alap a különböző hardverek fölé, PC-n legalábbis mindenképpen. Konzolon azonban már ez egy nem létező tényező, a hardver fix, a specifikációja évekig nem változik, tehát lehet olyan dolgokat is engedni, ami PC-s szinten elég nehéz lenne. Információink szerint erre rá is ugrott a Sony, és tesztelés szintjén már kihasználhatóvá teszik az RDNA 2 architektúrának azt a jellegzetességét, hogy az eszközszinten igen egyszerűen kezeli a metszésvizsgálat és a bejárás problémáját. Technikailag nem kötelező az előre specifikált BVH-ra építeni, alternatív gyorsítóstruktúra is megfelel, aminél a metszésvizsgálatot ugyanúgy képesek elvégezni az erre kialakított részegységek a textúrázóblokkok mellett. Ráadásul a fejlesztők eleve használnak bizonyos gyorsítóstruktúrákat a videojáték-motorokban, amelyek által extra információkkal láthatják el a hardvert, hogy az lényegesen hatékonyabban működhessen. A DirectX Raytracing esetében a meghajtók csak a primitív adatokat látják, amire ugyan lehet építeni, de rendkívül limitált információmennyiség alapján történik a feldolgozás, és erre szinte lehetetlen normálisan optimalizálni. Ezzel szemben a PlayStation 5 API-ja figyelembe veszi, hogy a fejlesztők jobban ismerik a saját videojáték-motorjuk működését, és sokkal több információjuk van a megfelelő döntéseket meghozni, mint egy szimpla eszközillesztőnek. Emiatt nagyon sok olyan döntés a Sony konzolján a fejlesztőkre van bízva, amelyek kapcsán például a DirectX és a Vulkan sugárkövetésre vonatkozó kiegészítése inkább a korlátozott információval ellátott grafikus meghajtókban bízik. Egyik opció sem rossz, de a Sony extra adatokkal táplált rendszere sokkal gyorsabban tud működni.

Érdekes lehet még egy másik tesztszinten elérhető funkció, ami a gyorsítóstruktúra generálását teszi konfigurálhatóvá. Ez a PlayStation 5-re tervezett játékoknál akár a program letöltésekor felépíthető, vagy akár szállítani is lehet adatként. A tárolt struktúra az alkalmazás indításakor betölthető az SSD-ről, majd valós időben frissíthetők az egyes részei. Itt alapvetően ki van az használva, hogy a játékok geometriája még ma is nagyrészt statikus, tehát nyugodtan lehet előre generálni a gyorsítóstruktúrát, hogy a futtatási időben csak a frissítésével kelljen törődni, mindemellett ennek a streamelése is lehetséges.

A PlayStation 5 grafikus API-ja tehát abból a szempontból mindenképpen hasznos, hogy mutat a sugárkövetésre egy alternatív megközelítést. Nem a nyers erőben hisz, ahogy a Microsoft megoldása, hanem inkább az észre próbál építeni. A rendkívüli flexibilitásával pedig lehet, hogy jól is teszi ezt, mivel sokszor bebizonyosodott már az iparágon belül, hogy ésszel többre lehet menni, mint erővel. Ezt persze a Microsoft is lekövetheti, mert a sugárkövetésre épített hardveres képességek tekintetében a két új generációs konzol megegyezik, ugyanaz a metszésvizsgálatra tervezett részegység van bennük, és a sugárkövetésre tervezett utasítások szempontjából sincs különbség. Mindössze a szoftveres oldalon van jelentős eltérés, de ahogy fentebb írtuk, a redmondi óriáscég már most lépdel a flexibilitás felé a traversal shaderrel, ami ugyan csak egy lépcsőfok, de látják ők is, hogy az erő nem sokat ér, ha rendkívül rossz hatékonyságú és iszonyatosan memóriapazarló az adott API által kínált feldolgozási modell. Az új irányokkal pedig nem kell majd választani a nagy részletesség és látótávolság, illetve a sugárkövetéses effektek között, a kettő egyszerre is lehetségessé válik, ráadásul úgy, hogy egy effekt nem jelent majd extrém terhelést a VRAM-ra vonatkozóan.

PC-s szempontból sincs minden veszve, bár itt azért mindenképpen számításba kell venni, hogy több hardverre kell megfelelő támogatást biztosítani. Éppen ezért a gyártóknak majd meg kellene egyezniük egy konzolokkal kompatibilis hardveres implementációban, amire készíthető pár kiegészítés a jelenlegi API-ba. Nem zárható ki tehát, hogy a PlayStation 5 összes képessége lekövethető PC-s szinten, de a számos eltérő hardver miatt előbb szabványosításra van szükség, így csak lassan lehet majd reagálni rájuk.

  • Kapcsolódó cégek:
  • Sony

Előzmények

Hirdetés