Högre prestanda med ray tracing i senaste DirectX 12

Microsoft avtäcker kommande funktioner i DirectX 12 och ray tracing-gränssnittet DXR. Bland nyheterna finns bättre stöd för strömmande högupplösta texturer.

Microsoft uppdaterar operativsystemet Windows 10 på regelbunden basis, men grafikgränssnittet DirectX förändras inte riktigt lika frekvent. Nyheter i funktionsväg är dock på väg i en kommande uppdatering, och denna sällskapas dessutom av den första uppdateringen av ray tracing-gränssnittet DXR.

I ett blogginlägg på utvecklarportalen Devblogs beskriver Microsoft nu nyheterna i de båda gränssnitten. Uppdateringen av DirectX Raytracing (DXR) till version 1.1 blir det första funktionstillägget sedan gränssnittet introducerades i oktober 2018. Nyheterna fokuserar till största del på att göra exekvering av ray tracing mer effektivt, bland annat genom adaptiva algoritmer.

Med adaptiva algoritmer kan antalet ljusstrålar för ray tracing-scener bestämmas när koden exekveras på grafikkortet, vilket gör tekniken mer anpassningsbar för grafikkretsens kapacitet. En ny funktion vid namn Inline Raytracing introduceras också vilken gör det mindre komplicerat för utvecklare att implementera tekniken.

Att utvecklare nu kan kontrollera schemaläggningen av renderingsprocessens olika steg innebär också att DXR kan beräkna exempelvis fysik och dolda element i scener (eng. occlusion culling). Till sist har även processen för ray tracing-rendering utökats med fler shaders, vilket ska göra exekveringen mer effektiv än i DXR 1.0.

Mesh shaders and amplification shaders are the next generation of GPU geometry processing capability, replacing the current input assembler, vertex shader, hull shader, tessellator, domain shader, and geometry shader stages

Nyheterna i DirectX 12 är också relativt signifikanta. En av de stora nyheterna är något som kallas Mesh Shaders, vilket Microsoft lyfter fram som nästa stora steg för beräkning av geometri. Detta steg i renderingsprocessen kombinerar vad som tidigare var flera steg, med bland annat tesselering, vertex shaders, geometri-shaders och mer därtill. Målet med Mesh Shaders är att förbättra både prestanda och flexibilitet för beräkning av geometri.

MeshShaderPipeline.jpg

I praktiken ska detta låta utvecklare sortera bort beräkningar av objekt som inte syns (eng. geometry culling) utan att behöva skicka nya koordinater för renderingen, vilket förbättrar prestanda. Mesh Shader-steget föregås även av steget Amplification Shader där bland annat tesselering beräknas.

Den andra stora funktionen som tillförs är något som kallas Sampler Feedback. Denna ligger till grund för en förbättring som ger utvecklare mer finmaskig kontroll över vilka delar av högupplösta texturer som ska läsas in. Moderna spel med öppna spelvärldar och högupplösta texturer sätter tung belastning på laddningstider och grafikminne, något som effektiviseras via Sampler Feedback.

Uppdateringarna tillför även en rad andra mindre effektiviseringar av utvecklares verktygslådor. De nya funktionerna i DirectX 12 och DXR 1.1 inkluderas i nästa stora uppdatering av Windows 10, som släpps under första halvåret år 2020.

Läs mer om Microsoft DirectX:

I butiken: SweClockers Turbo Power

Den legendariska turboknappen är tillbaka, men inte på en gråbeige datorlåda utan på en störtskön t-shirt för nostalgiska överklockare.

Köp här!