Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

DirectX 12 je bil izdan skupaj z operacijskim sistemom Windows 10 leta 2015. Microsoftov DirectX 12 je s svojo izdajo uvedel novo dobo za igralce in razvijalce iger. DirectX 12, ki je sposoben zmanjšati obremenitev procesorja in hkrati povečati zmogljivost grafičnega procesorja, je hitro zaslovel.

Vendar, ali je povečanje vaše zmogljivosti res tako preprosto kot prehod z DirectX 11 na DirectX 12? Ugotovimo tako, da si ogledamo razlike med DirectX 11 in 12.

Kaj je Microsoftov DirectX?

Kot je pojasnjeno v naš pregled Microsoft DirectX, DirectX je zbirka API-jev, ki se uporabljajo za upravljanje nalog, povezanih z multimedijo. To vključuje programiranje iger na Microsoftovih platformah, kot sta Windows in Xbox. Da zagotovimo nekaj konteksta, se na kratko pogovorimo o API-jih.

Vmesnik za programiranje aplikacij (API) omogoča, da dva ali več računalniških programov komunicirajo med seboj, o čemer razpravljamo v

naš pregled API-jev. Pomislite na to kot na telefon. Če vam mama pošlje besedilo s seznamom živil, bo vaš telefon prejel te podatke in vam jih prikazal. To je v bistvu API.

Kakšne so razlike med DirectX 11 in DirectX 12?

Kakšne so torej razlike med DirectX 11 in DirectX 12? Preprosto povedano, DirectX 12 je najnovejša različica DirectX-a. Ena najbolj opaznih razlik med obema je, kako delujeta z vašo strojno opremo. Večina iger, razvitih z DirectX 11, uporablja samo dva do štiri CPE jedra. Eno od teh jeder je običajno namenjeno GPU-ju, kaj naj naredi.

Igra nato uporabi preostala jedra za obdelavo različnih CPE-intenzivnih nastavitev, kot so delci igre ali risanje razdalje. Po drugi strani pa DirectX 12 razporedi delovno obremenitev CPE-ja na več jeder in omogoča, da se vsako jedro hkrati pogovarja z GPE-jem.

DirectX 12 ima tudi nekaj modnih dodatkov. To vključuje asinhrono računalništvo in objekte stanja cevovoda (PSO). Asinhrono računalništvo poveča izkoriščenost GPE-ja, saj omogoča vzporedno delo več delovnih obremenitev. To v bistvu odklene polni potencial vašega GPE-ja.

Poleg upodabljanja grafike je vaš GPE odgovoren za številne druge naloge, kot je izvajanje algoritmov strojnega učenja. Z DirectX 11 lahko GPE izvaja samo eno od teh nalog naenkrat in v določenem vrstnem redu. Ko se to zgodi, je zmogljivost slabša, ker niso uporabljeni vsi viri GPE.

Pomislite na to kot natakarja v restavraciji. Ko natakar prvič sprejme vaše naročilo, vas vpraša, kaj bi najprej spili. Ko prejmete pijačo, vas vprašajo, kaj želite za glavno jed. Vaše naročilo se obravnava v korakih. Natakar vas ne bo vprašal, kaj želite za sladico, preden boste pojedli glavno jed. Čeprav je to učinkovito, ni tako učinkovito, kot bi lahko bilo.

V računalništvu bi vsako natakarjevo nalogo obravnaval drug vir GPE. Dokler ne prejmete svoje pijače, bodo viri GPE, potrebni za prevzem vašega naročila glavne jedi, nedejavni. Z asinhronim računalništvom DirectX 12 bi lahko natakar prevzel vaše naročilo naenkrat kot v verigi hitre prehrane. To poveča uporabo GPE in izboljša vašo igralno zmogljivost.

DirectX 12 je predstavil tudi PSO. Z DirectX 11, ko je geometrija igre poslana v GPE upodobljen, so za tolmačenje in upodabljanje odgovorne različne nastavitve strojne opreme podatke. To se imenuje grafični cevovod in je tok podatkovnih vnosov in izhodov, ki se pojavijo, ko vaš GPE upodablja okvirje. Vendar pa grafični cevovod DirectX 11 ni popoln.

Ta cevovod med drugimi komponentami vsebuje zbirko različnih stanj, vključno s stanjem rastrizacije, stanjem mešanja in stanjem globinske šablone. V DirectX 11 obstajajo odvisnosti med temi različnimi stanji. Posledično enega stanja ni mogoče dokončati, dokler ni definirano prejšnje stanje. To zmanjša uporabo GPE-ja in poveča obremenitev CPE-ja na račun zmogljivosti.

Da bi se temu izognil, je DirectX 12 predstavil PSO, ki so objekti, ki opisujejo stanje celotnega grafičnega cevovoda. PSO so kot steklenica, ki vsebuje različna stanja in komponente, potrebne za ustvarjanje slike. To omogoča GPE-ju, da vnaprej obdela vsako odvisno stanje, namesto da bi moral nenehno znova izračunavati stanja na podlagi trenutnega grafičnega cevovoda.

To znatno zmanjša obremenitev procesorja, ki jo najdemo v DirectX 11, in izboljša zmogljivost. Kako torej ta razlika dejansko izgleda? No, glede na Microsoft, DirectX 12 zmanjša obremenitev procesorja za do 50 odstotkov in izboljša zmogljivost GPU za kar 20 odstotkov. Čeprav gre za nekaj bistvenih izboljšav, to ne pomeni, da boste videli enake rezultate.

Zakaj prehod z DirextX 11 na DirectX 12 ni enostaven

DirectX 11 je bil prvič izdan za Windows Vista 27. oktobra 2009. Torej, z DirectX 12, ki sledi leta 2015, je to šestletna vrzel med DirectX 11 in DirectX 12. V tem času je bilo z uporabo DirectX 11 razvitih na tisoče iger. Na žalost je prehod z DirectX 11 na DirectX 12 vse prej kot enostaven.

DirectX 11 je tako imenovani API na visoki ravni. Preprosto povedano, razvijalci z API-ji na visoki ravni lažje delajo. Rezultat so stabilne, uglajene igre, ki jih je mogoče igrati. Po drugi strani pa je DirectX 12 API nizke ravni in je drugačna zver v primerjavi z DirectX 11. Medtem ko razvijalcem omogoča natančno nastavitev optimizacije na granularni ravni, zahteva tudi obsežno znanje za uporabo.

Kot rečeno, ima lahko igra, razvita v DirectX 12, slabšo zmogljivost, odvisno od razvijalčevega poznavanja API-ja. Obstajajo izboljšave, ki prihajajo z DirectX 12, vendar je v resnici odvisno od tega, kako dobro ga lahko razvijalec implementira. Zaradi tega se veliko razvijalcev odloči, da se bodo držali API-jev na visoki ravni, kot je DirectX 11.

Bi morali izbrati DirectX 11 ali DirectX 12?

Odgovor je odvisen od nekaj stvari, na primer od tega, katero igro poskušate zagnati. Na primer, Guild Wars 2 deluje na DirectX 11. Tudi če vaš OS in strojna oprema uporabljata DirectX 12, ne boste imeli možnosti izbrati DirectX 11 v Guild Wars 2, ker ga igra ne podpira. To je v celoti odločitev razvijalca, ArenaNet.

Avtorstvo slike: Martin Kerstein/Cehovske vojne 2

Verjeli ali ne, ArenaNet je potreboval devet let, da je izvedel prehod z DirectX 9 na DirectX 11. Vendar pa obstajajo nekatere igre, ki podpirajo DirectX 11 in DirectX 12. Fortnite (beri našo goljufijo Fortnite), na primer. Z nastavitvami igre lahko uporabniki preklapljajo med obema različicama. Če povzamemo, vsaka igra ne podpira tako DirectX 11 kot DirectX 12. Za tiste, ki to počnejo, preklapljajte med obema in sami ugotovite, katera deluje bolje na vašem računalniku.

Ali lahko izbirate med DirectX 11 in DirectX 12, bo odvisno tudi od vaše strojne opreme. Skoraj vsak sodoben grafični procesor podpira DirectX 12, vendar tega ne moremo reči za starejše grafične procesorje, kot je Radeon HD 4870. Ta grafični procesor, izdan leta 2008, podpira samo DirectX 10. To pomeni, da ne bi mogel zagnati večine sodobnih iger, ki delujejo z DirectX 11 in DirectX 12.

Ali je DirectX 12 prava izbira za vas?

Skratka, prehod z DirectX 11 na DirectX 12 ni tako črno-bel, kot se sliši. Odvisno je od različnih dejavnikov, kot so strojna oprema, programska oprema, operacijski sistem in ali igra sploh podpira oboje. Vse to je treba upoštevati, preden se odločite, in to bo verjetno veljalo tudi za prihodnje generacije DirectX.