„Microsoft“ informacija „DirectX Raytracing Tier 1.1“, naujos „DirectX 12“ funkcijos
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.
Pagrindinėje „DirectX 12“ API programoje „Microsoft“ pristato „Mesh Shaders“ palaikymą, kuris atneša sisteminius grafikos sistemos pakeitimus. „Tinkliniai ir stiprintuvų šešėliai yra naujos kartos GPU geometrijos apdorojimo galimybės, pakeičiančios dabartinius įvesties surinkimo, viršūnių skustuvus, korpuso skustuvus, tesseliatorių, domenų shaderius ir geometrijos shaderių etapus“, - rašo „Microsoft“ savo tinklaraščio įraše. „DirectX Sampler“ atsiliepimai prisideda prie atminties tvarkymo, nes leidžia žaidimams geriau suprasti, kurie tekstūros ištekliai yra dažniausiai pasiekiami ir kuriuos reikia išlaikyti.
„Microsoft“ apibūdina „DirectX Sampler Feedback“ našumo įtaką dviem pagrindinėms API funkcijoms: transliuojamoms faktūroms ir tekstūros bei erdvės šešėliavimui:
Tekstūros transliacija
Daugybė kito žaidimo žaidėjų turi tą pačią problemą: perteikdami didesnius ir didesnius pasaulius su aukštesnės ir aukštesnės kokybės tekstūromis, žaidimai patiria ilgesnį įkrovimo laiką, didesnį atminties spaudimą arba abu. Žaidimų kūrėjai turi sutrumpinti savo turto kokybę arba įkrauti tekstūras vykdymo metu daugiau nei būtina. Kai orientuojamasi į 4k skiriamąją gebą, visas aukštos kokybės tekstūros MIP 0 užima daug vietos! Labai pageidautina, kad būtų galima įkelti tik būtiniausias smulkiausių MIP lygių dalis.
Vienas iš šios problemos sprendimo būdų yra faktūrų srautas, kaip aprašyta toliau, kai mėginių grąžinimas žymiai pagerina tikslumą, kuriuo reikiamais atvejais galima įkelti tinkamus duomenis.
Kitas įdomus scenarijus yra „Texture Space Shading“, kai žaidimai dinamiškai apskaičiuoja ir kaupia tarpines šederių reikšmes tekstūroje, sumažindami tiek erdvinį, tiek laiko atleidimą. Darbo eiga atrodo taip, kur vėlgi, „Sampler Feedback“ žymiai padidina efektyvumą, nes išvengiama nereikalingų darbo, skaičiuojančių tekstūros dalis, nereikalingų.
PIX palaikymas šioms naujoms „DirectX 12“ funkcijoms ateis per kelis ateinančius mėnesius. Mes pateiksime daugiau informacijos, kai gilinsimės į kiekvieną objektą artimiausiomis savaitėmis.
Source: Microsoft DirectX Developer Blog
Pagrindinėje „DirectX 12“ API programoje „Microsoft“ pristato „Mesh Shaders“ palaikymą, kuris atneša sisteminius grafikos sistemos pakeitimus. „Tinkliniai ir stiprintuvų šešėliai yra naujos kartos GPU geometrijos apdorojimo galimybės, pakeičiančios dabartinius įvesties surinkimo, viršūnių skustuvus, korpuso skustuvus, tesseliatorių, domenų shaderius ir geometrijos shaderių etapus“, - rašo „Microsoft“ savo tinklaraščio įraše. „DirectX Sampler“ atsiliepimai prisideda prie atminties tvarkymo, nes leidžia žaidimams geriau suprasti, kurie tekstūros ištekliai yra dažniausiai pasiekiami ir kuriuos reikia išlaikyti.

Tekstūros transliacija
Daugybė kito žaidimo žaidėjų turi tą pačią problemą: perteikdami didesnius ir didesnius pasaulius su aukštesnės ir aukštesnės kokybės tekstūromis, žaidimai patiria ilgesnį įkrovimo laiką, didesnį atminties spaudimą arba abu. Žaidimų kūrėjai turi sutrumpinti savo turto kokybę arba įkrauti tekstūras vykdymo metu daugiau nei būtina. Kai orientuojamasi į 4k skiriamąją gebą, visas aukštos kokybės tekstūros MIP 0 užima daug vietos! Labai pageidautina, kad būtų galima įkelti tik būtiniausias smulkiausių MIP lygių dalis.
Vienas iš šios problemos sprendimo būdų yra faktūrų srautas, kaip aprašyta toliau, kai mėginių grąžinimas žymiai pagerina tikslumą, kuriuo reikiamais atvejais galima įkelti tinkamus duomenis.
- Pateikite sceną ir įrašykite norimos tekstūros plyteles naudodami „Sampler Feedback“.
- Jei norimo MIP lygio tekstūros plytelės dar nėra gyvos:
o Pateikite dabartinį kadrą naudodami žemesnį MIP lygį.
o Pateikti disko IO prašymą įkelti norimos tekstūros plyteles. - (Asinchroniškai) Pažymėkite norimas tekstūros plyteles rezervuotiems ištekliams, kai jie įkeliami.
Kitas įdomus scenarijus yra „Texture Space Shading“, kai žaidimai dinamiškai apskaičiuoja ir kaupia tarpines šederių reikšmes tekstūroje, sumažindami tiek erdvinį, tiek laiko atleidimą. Darbo eiga atrodo taip, kur vėlgi, „Sampler Feedback“ žymiai padidina efektyvumą, nes išvengiama nereikalingų darbo, skaičiuojančių tekstūros dalis, nereikalingų.
- Nubrėžkite geometriją paprastais šešėliais, kurie registruoja grįžtamąjį ryšį su mėginiais, kad nustatytumėte, kurias tekstūros dalis reikia.
- Pateikite apskaičiuotą darbą, kad užpildytumėte reikiamas faktūras.
- Vėl atkreipkite geometriją, šį kartą naudodamiesi tikraisiais šešėliais, kurie taiko sugeneruotus tekstūros duomenis.
- DRED palaikymas PIX žymekliams
- Naujos API sąveikai su D3D9on12 atvaizdavimo sluoksniu
- R11G11B10_FLOAT formatas palaikomas bendriems ištekliams
- Naujos išteklių paskirstymo vėliavos, leidžiančios sukurti D3D12 išteklius jų nelaikant GPU atmintyje arba neinicializuojant jų, o tai gali pagerinti išteklių kūrimo našumą
- „D3DConfig“: naujas įrankis „DirectX“ valdymo skydelio parametrams valdyti
PIX palaikymas šioms naujoms „DirectX 12“ funkcijoms ateis per kelis ateinančius mėnesius. Mes pateiksime daugiau informacijos, kai gilinsimės į kiekvieną objektą artimiausiomis savaitėmis.
Source: Microsoft DirectX Developer Blog