Nieuws

Technologie

Microsoft voert grootste DirectX-raytracingupdate sinds 2018 door

Portret van de auteur


Microsoft voert grootste DirectX-raytracingupdate sinds 2018 door
0

Advertentie

Microsoft heeft nieuwe functies voor DirectX Raytracing (DXR) aangekondigd die het efficiënter moeten maken om complexe, dynamische gamewerelden met raytracing te renderen. De mogelijkheden verschijnen als preview in de Agility SDK 1.722 en vormen volgens Microsoft de belangrijkste uitbreiding van DXR sinds de introductie in 2018. De update introduceert onder meer Clustered Geometry, Partitioned Top-Level Acceleration Structures (PTLAS) en GPU-gestuurde opbouw van raytracingstructuren. Deze technieken zijn bedoeld om de verwerking van gedetailleerde geometrie en bewegende objecten minder belastend te maken.


Een belangrijk onderdeel is Clustered Geometry. Bij traditionele raytracing moeten games zogenoemde acceleration structures opbouwen en bijwerken. Deze datastructuren helpen de gpu bepalen welke objecten een lichtstraal raakt, bijvoorbeeld bij het berekenen van reflecties en schaduwen. Wanneer objecten bewegen of hun geometrie verandert, kunnen deze structuren opnieuw moeten worden opgebouwd. Dat kost rekentijd en geheugen, vooral bij gedetailleerde modellen en grote aantallen bewegende objecten.

Clustered Geometry verdeelt geometrie in kleinere, herbruikbare clusters van driehoeken. Een cluster bevat maximaal 256 driehoeken en 256 hoekpunten. De engine kan deze clusters vervolgens combineren tot grotere structuren en ze opnieuw gebruiken zonder steeds de volledige geometrie opnieuw te verwerken. Daardoor wordt het aantrekkelijker om dezelfde gedetailleerde modellen te gebruiken voor zowel de normale beeldopbouw als raytracing. Dat kan ervoor zorgen dat raytraced schaduwen en reflecties beter aansluiten op de zichtbare details van een scène.


Microsoft publiceert ook Partitioned Top-Level Acceleration Structures, afgekort PTLAS. Deze techniek verdeelt een scène in afzonderlijke delen, zodat alleen de gebieden die daadwerkelijk veranderen opnieuw hoeven te worden bijgewerkt. In een grote spelwereld met duizenden objecten hoeft een game daardoor niet langer de volledige bovenliggende datastructuur te vernieuwen wanneer slechts een klein deel van de omgeving beweegt. Vooral openwereldgames, complexe animaties en scènes met veel dynamische objecten kunnen hiervan profiteren.

Daarnaast kunnen ontwikkelaars de opbouw van acceleration structures meer door de gpu laten aansturen. Met indirecte opdrachten kunnen berekeningen op de gpu bepalen welke bouwbewerkingen nodig zijn en de bijbehorende argumenten aanleveren. Daardoor hoeft de processor minder werk te verrichten om deze opdrachten voor te bereiden. De nieuwe technieken kunnen afzonderlijk worden gebruikt, maar ook worden gecombineerd om zowel de geometrie als de scènegegevens efficiënter te verwerken.

Microsoft demonstreert de mogelijkheden met een test op een AMD Radeon RX 9070. In die specifieke test steeg de framerate bij het gebruik van Clustered Geometry van 1,8 naar 84 beelden per seconde. De tijd die de gpu per frame nodig had om de acceleration structures voor te bereiden en op te bouwen, daalde van 482 naar 3,06 milliseconden. Ook het geheugengebruik nam sterk af: het totale geheugenbeslag van de acceleration structures daalde in de test van ongeveer 12,7 GiB naar 774 MiB. Dit zijn resultaten van één specifieke benchmarkconfiguratie en geen garantie voor vergelijkbare winst in bestaande games. De uiteindelijke prestaties zijn afhankelijk van de scène, de implementatie en de gebruikte hardware.

De nieuwe functies vereisen volgens Microsoft geen nieuwe hardwaremogelijkheden boven op de bestaande ondersteuning voor raytracing. Wel moeten gpu-fabrikanten de benodigde ondersteuning in hun drivers implementeren en valideren. Nvidia ondersteunt de previewfuncties volgens Microsoft op alle RTX-gpu's. Bij AMD is ondersteuning aangekondigd voor de Radeon RX 9000-serie. Intel noemt de Arc B-serie en bepaalde Core Ultra-processors, waaronder de 200V-serie en Series 3. Ondersteuning voor oudere raytracingkaarten is niet gegarandeerd en kan per generatie verschillen.

De nieuwe raytracingfuncties maken deel uit van Agility SDK 1.722-preview, die ontwikkelaars nu kunnen downloaden. De reguliere Agility SDK 1.620 is eveneens uitgebracht en bevat onder meer verbeteringen voor shaderlevering, opdrachtverwerking en gpu-diagnostiek. De preview is bedoeld voor ontwikkelaars om de functies te testen en feedback te geven voordat Microsoft ze eventueel naar een reguliere release brengt.

Terug naar boven