microsoft detaljer direktex raytracing tier 1.1, nye Directx 12 funktioner - Microsoft

Microsoft detaljerer DirectX Raytracing Tier 1.1, nye DirectX 12-funktioner

Microsoft detailed feature additions to the DirectX 12 3D graphics API, and an expansion of its DirectX Ray-tracing (DXR) API to Tier 1.1. The updated APIs will be included with the Windows 10 major update that's scheduled for the first half of 2020 - the features are accessible already for developers in Windows Insider preview builds. DXR 1.1 is the first major update to the API since its Q4-2018 launch, and adds three major features. To begin with, it brings support for extra shaders to an existing ray-tracing PSO (pipeline-state object), increasing the efficiency of dynamic PSO additions. Next up, is ExecuteIndirect for Raytracing support, described by Microsoft as 'enabling adaptive algorithms where the number of rays is decided on the GPU execution timeline.' This could be a hint what to expect from NVIDIA's next-generation GPUs that are expected for next year. Lastly, the API introduces support for Inline Raytracing, which gives developers more control over ray traversal and scheduling.

Over i den vigtigste API af DirectX 12 introducerer Microsoft support til Mesh Shaders, der medfører systemiske ændringer i grafikpipelinjen. 'Mesh-shaders og amplificerings-shaders er den næste generation af GPU-geometri-behandlingsevne og erstatter den nuværende input-assembler, vertex shader, skull shader, tessellator, domain shader og geometry shader stadier,' skriver Microsoft i sit blogindlæg. DirectX Sampler-feedback bidrager til hukommelsestyring ved at lade spil bedre forstå, hvilke teksturaktiver der oftere er tilgængelige og har brug for at forblive hjemmehørende. Microsoft beskriver ydelseseffekten af ​​DirectX Sampler-feedback på to nøgle API-funktioner: streamet teksturer og tekstur-rumskygge som følger:

Tekstur Streaming
Mange næste-gen-spil har det samme problem: når du gengiver større og større verdener med højere og højere kvalitet strukturer, lider spil af længere indlæsningstid, højere hukommelsestryk eller begge dele. Spiludviklere er nødt til at trimme deres aktivkvalitet ned eller indlæse teksturer på runtime mere end nødvendigt. Når du målretter mod 4k-opløsning, tager hele MIP 0 af høj kvalitet tekstur meget plads! Det er meget ønskeligt at kun kunne indlæse de nødvendige dele af de mest detaljerede MIP-niveauer.

En løsning på dette problem er teksturstrømning som beskrevet nedenfor, hvor Sampler Feedback i høj grad forbedrer nøjagtigheden, hvorpå de rigtige data kan indlæses til de rigtige tidspunkter.
  • Gengiv scene og optag ønsket teksturfliser vha. Sampler Feedback.
  • Hvis teksturfliser på de ønskede MIP-niveauer endnu ikke er bosiddende:
    o Gendan nuværende ramme ved hjælp af lavere MIP-niveau.
    o Indsend disk IO-anmodning om at indlæse de ønskede teksturfliser.
  • (Asynkront) Kort ønskede teksturfliser til reserverede ressourcer, når de indlæses.
Tekstur-plads skygge
Et andet interessant scenarie er Texture Space Shading, hvor spil dynamisk beregner og lagrer mellemliggende shader-værdier i en struktur, hvilket reducerer både rumlig og tidsmæssig redundans. Arbejdsgangen ser ud som det følgende, hvor igen, Sampler Feedback forbedrer effektiviteten kraftigt ved at undgå overflødige arbejdsdata til at dele dele af en struktur, som faktisk ikke var nødvendige.
  • Tegn geometri med enkle skygger, der registrerer Sampler-feedback for at bestemme, hvilke dele af en struktur der er behov for.
  • Indsend computearbejde for at udfylde de nødvendige strukturer.
  • Tegn geometri igen, denne gang med ægte skygger, der anvender de genererede teksturdata.
Andre funktioner
  • DRED-understøttelse af PIX-markører
  • Nye API'er til interaktion med D3D9on12-kortet
  • R11G11B10_FLOAT-format understøttet til delte ressourcer
  • Nye ressourceallokeringsflag, der tillader oprettelse af D3D12-ressourcer uden også at gøre dem bosiddende i GPU-hukommelse, eller uden at initialisere dem nul, hvilket kan forbedre effektiviteten af ​​ressourceoprettelse
  • D3DConfig: Et nyt værktøj til at administrere DirectX Kontrolpanel-indstillinger
PIX Support
PIX-support til disse nye DirectX 12-funktioner kommer i de næste par måneder. Vi vil give flere detaljer, når vi dykker dybt ned i hver funktion i de kommende uger.
Source: Microsoft DirectX Developer Blog