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

26.03.2015 15:22 | Petrus Laine | 9

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)

Keskustelu

Tarkoittako tuo nyt sitä, että Windows 10:llä saan wanhalla GTX 670:llä DirectX12:n suorituskykyedut ilman uusia ominaisuuksia?

Muad’dib

Tarkoittako tuo nyt sitä, että Windows 10:llä saan wanhalla GTX 670:llä DirectX12:n suorituskykyedut ilman uusia ominaisuuksia?

Juurikin tuota

Katsotaan sit kun DX12 tulee ulos niin josko päivittäisi näyttistä että kaikki ominaisuudet saisi irti o/

Voiskos tuota tulkita niin että 8ydin prosessori esim. i7 hyötyy tuosta enemmän kuin esim i5 ?
nythän 8ytimellä ei varsinaisesti saavuteta mitään selkeitä eroja

SinSin

Voiskos tuota tulkita niin että 8ydin prosessori esim. i7 hyötyy tuosta enemmän kuin esim i5 ?
nythän 8ytimellä ei varsinaisesti saavuteta mitään selkeitä eroja

Vastaus on varma "ehkä".
Todennäköisemmin ei, koska ylipäätään CPU-riippuvaisuus pienenee.
Tosin Core i7:ssahan ei ole kahdeksaa ydintä vaan neljä ydintä jotka ajavat kahdeksaa säiettä.

Kaotika

Tosin Core i7:ssahan ei ole kahdeksaa ydintä vaan neljä ydintä jotka ajavat kahdeksaa säiettä.

Ellei kyseessä ole 5960X ;)

Tosin kun i5:een verrattiin niin eiköhän SinSin tosiaan meinannut ihan LGA115x kantaista 4c/8t i7:aa.

9700 Pro

Ellei kyseessä ole 5960X ;)

Tosin kun i5:een verrattiin niin eiköhän SinSin tosiaan meinannut ihan LGA115x kantaista 4c/8t i7:aa.

No juu, en edes ajatellut noita Haswell-E-malleja koska verrokki oli nimenomaan i5.

Toivottavasti DX12 toisi jotain uutta tuohon inputlagiin, joka on ollut nousevassa määrin aina dx9:stä lähtien. Rasitti aina pelata ensimmäistäkin UT:ta, kun dx8 oli se oikea renderivalinta siihen kun piti saada hiiri mahdollisimman lagittomaksi. Tällä hetkellä esim. CS:GO on niitä pelejä jotka kärsivät dx9 toteutuksesta, kun on helpompi boottia Win7:sta linukkaan ja saada erittäin veitsenterävä tuntuma hiireen, eikä mitkään kikat juuri auta tuohon windows puolella, vaikka niitä voi ajurikikoilla vähentää (näytön skaalaus pois, pre-render framet).

Tosin aina herää kysymys onko se nyt ihan pelkästään renderistä kiinni, kun OpenGL ei ole Winukassa yhtään sen nopeampi mitä DX9 inputlagiin verrattuna. Veikkaan että Vistasta lähtien kun openglää ei puhtaasti pyöritetä ilman kiertoteitä, niin se myös vaikuttaisi tähän inputlagiin hiukan nousevasti. Tietenkin kaikkihan nämä on voitu korjata Windows 10:ssä, mutta jospa sen voisi rajapintatasolla laittaa kuntoon.

Muropaketin uusimmat