NVIDIAn GeForce RTX 20 -sarjan ja Turing-arkkitehtuurin uusista ominaisuuksista etenkin DLSS-reunojenpehmennys ja säteenseuranta ovat herättäneet paljon keskustelua.

NVIDIA toi eilen kaikkien saataville Turing-arkkitehtuurin whitepaper-julkaisun. Kävimme eilen läpi arkkitehtuuriin perustuvien piirien ominaisuudet ja merkittävimmät muutokset ja nyt on aika paneutua piirien toimintaan ja uusiin teknologioihin.

Ensimmäinen uusista teknologioista on säteenseurannan kiihdytys. Turing-arkkitehtuurin SM-yksikköihin (Streaming Multiprocessor) on lisätty uusi RT-yksikkö, joka mahdollistaa säteenseurannan kiihdytyksen laskemalla erikoistuneilla yksiköillä BVH-hakupuuhun (Bounding Volume Hierarchy) ja säteiden risteämiseen liittyviä laskuja. Yleiskäyttöisille laskuyksiköille kalliit tehtävät voidaan RT-yksiköiden avulla laskea paitsi nopeammin, myös uhraamatta piirin muuta laskentavoimaa niihin. NVIDIA on puhunut kymmenkertaisesta suorituskykyerosta GeForce RTX 2080 Ti:n ja GTX 1080 Ti:n säteenseurantasuorituskyvyssä, mutta tämän on todettu olevan tapausriippuvaista eikä päde kaikissa säteenseurantatapauksissa.

Säteenseuranta tulee saapumaan peleihin pikkuhiljaa ja tähän mennessä NVIDIA on kertonut yhdentoista pelin tulevan tukemaan ominaisuutta ennemmin tai myöhemmin. Käytännössä julkaisuaikataulua sanelee kehittäjän omien aikataulujen ja lisätyön lisäksi Windows, johon DirectX Ray Tracing eli DXR-rajapinta on luvassa lokakuussa julkaistavan October 2018 Update -versiopäivityksen myötä.

Heti säteenseurannan jälkeen eniten keskustelua on herättänyt Turing-arkkitehtuurin uusi Deep Learning Super Sampling -reunojenpehmennys. Yllä olevat vertailukuvat löydät täydessä koossa tästä: TAA vs DLSS, TAA vs DLSS 2X. DLSS on uusi tekoälyä hyödyntävä reunojenpehmennysteknologia, joka vaatii erillisen tuen peliltä ja NVIDIAlta. Kun pelille lisätään DLSS-tuki, opettaa NVIDIA tekoälylleen kyseisen pelin grafiikan ”perustotuuksia” käyttäen peräti 64-kertaista Super Sampling -reunojenpehmennystä. Muutaman megatavun kokoinen tietopaketti jaetaan joko pelin tai ajureiden mukana ja sitä hyödynnetään lopullisen kuvan muodostamisessa.

DLSS:stä on olemassa kaksi eri versiota, DLSS ja DLSS 2X, joiden toiminta eroaa jonkin verran toisistaan. NVIDIAn whitepaper jättää vielä hieman varaa tulkinnalle, mutta mikäli allekirjoittanut ymmärsi sen oikein normaali DLSS, jonka avulla NVIDIA kertoo RTX 2080:n peittoavan GTX 1080:n parhaimmillaan 100 %:n erolla, renderöi pelin todellisuudessa valittua matalammalla resoluutiolla. Tämän jälkeen hyödyntämällä Tensor-yksiköitään tekoäly käyttää ilmeisesti muutamaa edellistä ruutua sekä opeteltuja perustotuuksia luodakseen lopullisen, halutun resoluution kuvan pehmeine reunojeen.

DLSS 2X puolestaan renderöi kuvan asetetulla resoluutiolla mutta parantaa sitä käyttäen samoja 64xSSAA:lla opeteltuja perustotuuksia. DLSS 2X:n tarjoama reunojenpehmennyksen laatu on erittäin korkea ja NVIDIAn mukaan sitä on lähes mahdotonta erottaa aidosta 64xSSAA-kuvasta. DLSS 2X ei kuitenkaan tarjoa nopeusetua DLSS:n tapaan. DLSS 2X on myös käytännössä vapaa kuvan ylimääräisestä pehmenemisestä.

Uusi ominaisuus on niin ikään mahdollisuus suorittaa samanaikaisesti sekä INT(32)- että FP(32)-laskuja, koska Turingissa on erilliset INT32-yksiköt. Käytännössä kyse on siitä, että NVIDIA puolitti FP32-yksiköiden määrän mutta tehtävien jakelua hoitavat warp schedulerit ja lähetysyksiköt ovat edelleen yhtä järeitä kuin ennenkin. Jäljelle jäävä 50 % kapasiteetista voidaan tällöin käyttää INT32-, Load/Store-, SFU-, Tensori- ja FP64-käskyjen lähettämiseen laskettavaksi samanaikaisesti. Muutokset tehtiin jo Volta-arkkitehtuurissa, mutta nyt ne saapuvat ensimmäistä kertaa varsinaisesti kuluttajakäyttöön.

NVIDIA on lisännyt Turing-arkkitehtuuriin lisäksi tuet uusille tehtävä- ja verkkovarjostimille (Task Shader, Mesh Shader). Verkkovarjostimilla voidaan luoda kolmioita rasteroitavaksi, mutta normaalin yhden säikeen sijasta se käyttää useampaa, rinnakkaista yhteistyötä tekevää säiettä. Tehtävävarjostimet puolestaan toimivat runkovarjostimien (Hull Shader) tapaan ennen tesselointivaihetta, mutta toteuttaa tehtävänsä verkkovarjostimien tapaan rinnakkaisella useamman säikeen toteutuksella. Tämän hetkisen tulkinnan mukaan kyse on hyvin vastaavasta ominaisuudesta kuin AMD:n primitiivivarjostimet (Primitive Shader) ja se vaatii kehittäjiltä erillisen tuen ominaisuudelle. Uudet varjostimet mahdollistavat myös eri objektien kulloisenkin LOD-tason (Level of Detail) valinnan täysin grafiikkapiirin sisällä.

Selvästi aiemmasta kehittyneisiin ominaisuuksiin kuuluu puolestaan Variable Rate Shading, joka mahdollistaa eri ruudun osien varjostimien ajamisen eri tarkkuuksilla. Käytännössä kyse on vastaavasta ominaisuudesta kuin aiempi Multi-Resolution Shading, joka mahdollisti ruudun jakamisen yhteensä 16 osaan ja niiden varjostimien ajon eri tarkkuuksilla, mutta tällä kertaa ruutu voidaan jakaa 16 x 16 pikselin kokoisiin alueisiin, mikä esimerkiksi 4K-resoluutiolla tarkoittaa 32 400 erillistä aluetta.

Samaa jatkokehitelmää on myös Content Adaptive Shading, joka antaa kehittäjille mahdollisuuden käyttää edellisen ruudun tietoja päätelläkseen seuraavan ruudun varjostimien tarkkuuden. Jos esimerkiksi yksi 16 x 16 alue on pelkkää yksiväristä seinää tai taivasta voi kehittäjä Content Adaptive Shadingin avulla renderöidä ko. alueen seuraavassa ruudussa matalammalla tarkkuudella. Motion Adaptive Shading puolestaan käyttää samaa logiikkaa liikkuviin objekteihin, jolloin nopeasti liikkuva objekti, jota ei kuitenkaan havaittaisi tarkkana ruudulla, voidaan varjostaa matalammalla tarkkuudella.

Texture Space Shading puolestaan mahdollistaa varjostimien arvojen laskemisen ja tallentamisen suoraan tekseleihin , joiden avulla esimerkiksi tiettyjen pikseleiden näkyvyystestit (z-test, rasterointi) ja ulkonäkötestit (varjostimet) voidaan laskea toisistaan poikkeavilla tarkkuuksilla, mikä voi parantaa suorituskykyä kuvanlaadun kärsimättä. NVIDIAn antamassa esimerkissä VR-käytössä voidaan renderöidä toisen silmän näkymä ensin ja käyttää tässä tallennettuja tietoja oikean silmän kuvan renderöintiin. Teoriassa tällöin oikeaa silmää varten tarvitsisi laskea täysin uudelleen vain ne tekselit, joita ei näy lainkaan vasemman silmän kuvassa.

Suosittelemme syvempää katsausta kaipaaville luonnollisesti itse whitepaperin lukua sekä esimerkiksi AnandTechin artikkelia.

This site uses XenWord.