Uusimmat

AMD ja NVIDIA esittelivät DirectX 12 -rajapinnan hyötyjä ja uudistuksista

26.03.2015 15:22 Petrus Laine

AMD ja NVIDIA ovat kumpikin esitelleet tahoillaan omia näkemyksiään DirectX 12 -rajapinnan tuomista hyödyistä. AMD:n diat keskittyivät etupäässä suorituskykyparannuksiin, kun NVIDIA esitteli pääasiassa rajapinnan mahdollistamia uusia ominaisuuksia.

Yksi merkittävimmistä, ellei merkittävin, suorituskykyä parantavista seikoista DirectX 12 -rajapinnassa on itse rajapinnan aiheuttaman tehohävikin minimointi. Rajapinnan luomaa tehohävikkiä pienennetään monin tavoin, joista yksi esimerkki on prosessorin tehokkaampi hyväksikäyttö. Siinä missä DirectX 11 -rajapinnalla suurin osa töistä keskittyi vain yhdelle säikeelle, jakaa DirectX 12 kuorman tasaisemmin kaikkien saatavilla olevien säikeiden kesken.

AMD:n esimerkkiskenaariossa DirectX 11 -rajapinnalla ohjelma hyödynsi millään tavoin vain kuutta säiettä ja koko kuvan luonti kesti 29 millisekuntia (34 FPS). DirectX 12 -rajapinnalla käytettiin kaikkia kahdeksaa säiettä hyväksi ja kuorma jaettiin niille tasaisemmin, lopputuloksena saman kuvan luontiin meni vain 15 ms (66 FPS).

Näytönohjaimen puolella DirectX 11 -rajapinnalla GPU:n eri osa-alueita rasittavat toimenpiteet suoritetaan kaikki peräkkäin. DirectX 12 mahdollistaa näiden ajamisen myös rinnakkain, joka säästää puolestaan GPU:n aikaa ja hyödyntää sen koko kapasiteetin paremmin.

NVIDIAn diaesityksessä mainittiin samoja prosessorin ja grafiikkapiirin suorituskykä parantavia optimointeja, mutta keskityttiin enemmän uusiin ominaisuuksiin. Esimerkiksi Raster Ordered Views antaa kehittäjille mahdollisuuden hallita pikselivarjostinoperaatoiden järjestystä, mikä mahdollistaa esimerkiksi uusia läpinäkyvyys-algoritmeja.

DirectX 11.2 toi mukanaan Tiled Resources -ominaisuuden, joka mahdollistaa vain tarvittavien osien lataamisen esimerkiksi isosta tekstuurista. DirectX 12 laajentaa vain 2D-pintoja koskeneen ominaisuuden myös kolmanteen ulottuvuuteen. Tiled Resourcesia voidaan hyödyntää myös esimerkiksi vaihtelevalla resoluutiolla renderöityjen varjokarttojen kanssa ja useamman resoluution käytön koko kuvaa renderöitäessä.

Conservative Rasterization puolestaan piirtää kaikki pikselit, joihin kolmio koskee, kun perinteisin metodein ne pikselit, joiden keskusta ei osunut kolmioon, jätettiin piirtämättä. Sama ominaisuus oli mahdollista myös ennen DirectX 12 -rajapintaa geometriavarjostimilla, mutta se oli hidasta. Conservative Rasterization mahdollistaa esimerkiksi NVIDIAn demonstroiman osittain ray-tracing tekniikalla toteutetut varjot.

Slideshare, WPS104 Direct X 12 a new meaning for efficiency and performance (presented by AMD)

GPU Tech Conference, New GPU Features of NVIDIA’s Maxwell architecture (PDF)