Kaltaisesi lukijat auttavat tukemaan MUO: ta. Kun teet ostoksen käyttämällä sivustollamme olevia linkkejä, voimme ansaita kumppanipalkkion. Lue lisää.

DirectX 12 julkaistiin Windows 10:n rinnalla vuonna 2015. Julkaisunsa myötä Microsoftin DirectX 12 aloitti uuden aikakauden pelaajille ja pelien kehittäjille. DirectX 12, joka pystyy vähentämään suorittimen ylikuormitusta ja parantamaan GPU: n suorituskykyä, teki nopeasti itselleen nimen.

Onko suorituskyvyn parantaminen kuitenkin niin yksinkertaista kuin vaihtaminen DirectX 11:stä DirectX 12:een? Otetaanpa selvää tarkastelemalla eroja DirectX 11:n ja 12:n välillä.

Mikä on Microsoftin DirectX?

Kuten on selitetty yleiskatsaus Microsoft DirectX: stä, DirectX on kokoelma sovellusliittymiä, joita käytetään multimediaan liittyvien tehtävien käsittelyyn. Tämä sisältää peliohjelmoinnin Microsoft-pohjaisilla alustoilla, kuten Windowsilla ja Xboxilla. Kontekstin tarjoamiseksi puhutaan lyhyesti API: ista.

Sovellusohjelmointirajapinta (API) mahdollistaa kahden tai useamman tietokoneohjelman kommunikoinnin keskenään, mistä puhumme

instagram viewer
yleiskatsauksen sovellusliittymistä. Ajattele sitä kuin puhelinta. Jos äitisi lähettää sinulle tekstiviestin, jossa on ruokakauppaluettelo, puhelimesi vastaanottaa tiedot ja näyttää ne puolestasi. Se on pohjimmiltaan API.

Mitä eroa on DirectX 11:n ja DirectX 12:n välillä?

Joten, mitä eroja on DirectX 11:n ja DirectX 12:n välillä? Yksinkertaisesti sanottuna DirectX 12 on DirectX: n uusin versio. Yksi havaittavimmista eroista näiden kahden välillä on se, kuinka ne toimivat vuorovaikutuksessa laitteistosi kanssa. Useimmat DirectX 11:llä kehitetyistä peleistä käyttävät vain kahdesta neljään CPU-ytimet. Yksi näistä ytimistä on yleensä omistettu kertomaan GPU: lle, mitä tehdä.

Peli käyttää sitten jäljellä olevia ytimiä käsitelläkseen erilaisia ​​prosessoriintensiivisiä asetuksia, kuten pelin hiukkasia tai vetoetäisyyttä. Toisaalta DirectX 12 jakaa suorittimen työkuorman useille ytimille ja mahdollistaa myös jokaisen ytimen puhuvan GPU: lle samanaikaisesti.

DirectX 12:n mukana tulee myös hienoja kelloja ja pillejä. Tämä sisältää asynkronisen laskennan ja liukuhihnan tilaobjektit (PSO: t). Asynkroninen laskenta lisää GPU-käyttöä sallimalla useiden työkuormien työskennellä rinnakkain. Tämä vapauttaa GPU: si täyden potentiaalin.

Grafiikan renderöinnin lisäksi GPU on vastuussa monien muiden tehtävien hoitamisesta, kuten koneoppimisalgoritmien suorittamisesta. DirectX 11:ssä GPU voi suorittaa vain yhden näistä tehtävistä kerrallaan ja tietyssä järjestyksessä. Kun näin tapahtuu, suorituskyky kärsii, koska kaikkia grafiikkasuorittimen resursseja ei käytetä.

Ajattele sitä kuin tarjoilijaa ravintolassa. Kun tarjoilija ottaa tilauksesi ensimmäisen kerran, hän kysyy, mitä haluaisit juoda ensin. Kun saat juomasi, he kysyvät sinulta, mitä haluaisit pääruoaksi. Tilauksesi otetaan vaiheittain. Tarjoilija ei aio kysyä sinulta, mitä haluaisit jälkiruoaksi ennen kuin olet syönyt pääruokasi. Vaikka tämä on tehokasta, se ei ole niin tehokas kuin se voisi olla.

Laskennassa jokainen tarjoilijan tehtävä hoidettaisiin eri GPU-resurssilla. Ennen kuin saat juomasi, pääruokatilauksesi tekemiseen tarvittavat GPU-resurssit ovat käyttämättömänä. DirectX 12:n asynkronisen tietojenkäsittelyn avulla tarjoilija voisi ottaa tilauksesi kerralla kuin pikaruokaketjussa. Tämä maksimoi GPU: n käytön ja parantaa pelien suorituskykyä.

DirectX 12 esitteli myös PSO: t. DirectX 11:ssä, kun pelin geometria lähetetään GPU: lle renderöidä, useat laitteistoasetukset ovat vastuussa tämän tulkinnasta ja hahmontamisesta tiedot. Tätä kutsutaan grafiikkaputkeksi, ja se on datasyötteiden ja -lähtöjen virta, joka tapahtuu, kun GPU renderöi kehyksiä. DirectX 11:n grafiikkaputki ei kuitenkaan ole täydellinen.

Tämä liukuhihna sisältää joukon erilaisia ​​tiloja, mukaan lukien rasterointitila, sekoitustila ja syvyyskaavaintila muiden komponenttien ohella. DirectX 11:ssä näiden eri tilojen välillä on riippuvuuksia. Tämän seurauksena yhtä tilaa ei voida suorittaa loppuun ennen kuin edellinen tila on määritetty. Tämä vähentää GPU: n käyttöastetta ja lisää suorittimen yleiskustannuksia suorituskyvyn kustannuksella.

Tämän kiertämiseksi DirectX 12 esitteli PSO: t, jotka kuvaavat koko grafiikkaputken tilaa. PSO: t ovat kuin pullo, joka sisältää kuvan luomiseen tarvittavat erilaiset tilat ja komponentit. Tämän ansiosta GPU voi esikäsitellä kaikki riippuvaiset tilat sen sijaan, että sen tarvitsee jatkuvasti laskea tiloja uudelleen nykyisen grafiikkaputken perusteella.

Tämä vähentää merkittävästi suorittimen kuormitusta DirectX 11:ssä ja parantaa suorituskykyä. Miltä tämä ero sitten käytännössä näyttää? Microsoftin mukaan DirectX 12 vähentää suorittimen ylikuormitusta jopa 50 prosenttia ja parantaa GPU: n suorituskykyä jopa 20 prosenttia. Vaikka nämä ovat joitakin merkittäviä parannuksia, tämä ei tarkoita, että näet samat tulokset.

Miksi vaihtaminen DirextX 11:stä DirectX 12:een ei ole yksinkertaista

DirectX 11 julkaistiin ensimmäisen kerran Windows Vistalle 27. lokakuuta 2009. Joten, kun DirectX 12 on seurannut vuonna 2015, DirectX 11:n ja DirectX 12:n välillä on kuuden vuoden ero. Tänä aikana tuhansia pelejä on kehitetty DirectX 11:n avulla. Valitettavasti siirtyminen DirectX 11:stä DirectX 12:een on kaikkea muuta kuin helppoa.

DirectX 11 on niin kutsuttu korkean tason API. Yksinkertaisesti sanottuna kehittäjien on helpompi työskennellä korkean tason API: iden kanssa. Tuloksena on vakaat, kiillotetut ja pelattavat pelit. Toisaalta DirectX 12 on matalan tason API ja erilainen peto kuin DirectX 11. Vaikka sen avulla kehittäjät voivat hienosäätää optimoinnin rakeisella tasolla, se vaatii myös laajaa tietämystä käyttääkseen.

Tästä huolimatta DirectX 12:ssa kehitetty peli voi päätyä huonompaan suorituskykyyn riippuen kehittäjän API-tiedoista. DirectX 12:n mukana tulee parannuksia, mutta se riippuu todellakin siitä, kuinka hyvin kehittäjä pystyy toteuttamaan sen. Tästä syystä monet kehittäjät päättävät pitäytyä korkean tason API: issa, kuten DirectX 11.

Pitäisikö sinun valita DirectX 11 vai DirectX 12?

Vastaus riippuu muutamista asioista, kuten siitä, mitä peliä yrität pelata. Esimerkiksi Guild Wars 2 toimii DirectX 11:ssä. Vaikka käyttöjärjestelmäsi ja laitteistosi käyttävät DirectX 12:ta, et voi valita DirectX 11:tä Guild Wars 2:ssa, koska peli ei tue sitä. Tämä on täysin kehittäjän ArenaNetin päätös.

Kuvan luotto: Martin Kerstein/Guild Wars 2

Usko tai älä, mutta kesti yhdeksän vuotta ennen kuin ArenaNet siirtyi DirectX 9:stä DirectX 11:een. Jotkut pelit kuitenkin tukevat sekä DirectX 11:tä että DirectX 12:ta. Fortnite (lue Fortnite-huijauslehtemme), esimerkiksi. Pelin asetusten kautta käyttäjät voivat vaihtaa molempien versioiden välillä. Yhteenvetona voidaan todeta, että kaikki pelit eivät tue sekä DirectX 11:tä että DirectX 12:ta. Jos näin on, voit vaihtaa näiden välillä ja määrittää itse, kumpi toimii paremmin tietokoneellasi.

Se, voitko valita DirectX 11:n tai DirectX 12:n välillä, riippuu myös laitteistostasi. Melkein mikä tahansa nykyaikainen grafiikkasuoritin tukee DirectX 12:ta, mutta samaa ei voida sanoa vanhemmista GPU: ista, kuten Radeon HD 4870. Tämä vuonna 2008 julkaistu GPU tukee vain DirectX 10:tä. Tämä tarkoittaa, että se ei pysty ajamaan useimpia nykyaikaisia ​​pelejä, jotka toimivat DirectX 11:llä ja DirectX 12:lla.

Onko DirectX 12 oikea valinta sinulle?

Kaiken kaikkiaan vaihtaminen DirectX 11:stä DirectX 12:een ei ole niin mustavalkoista kuin miltä se kuulostaa. Se riippuu useista tekijöistä, kuten laitteistosta, ohjelmistosta, käyttöjärjestelmästä ja siitä, tukeeko peli molempia ollenkaan. Kaikki nämä on otettava huomioon ennen päätöksen tekemistä, ja tämä pätee todennäköisesti myös tuleviin DirectX-sukupolviin.