DirectX 12 vs DirectX 11 - Hvordan DX12 vil transformere PC-spill på Windows 10
DirectX 12 vs DirectX 11 - Hvorfor spiller det noen rolle?
Windows 10 har ankommet, og sammen med integrert Cortana, Xbox One-spillstrømming og en fancy ny nettleser, er en av dens viktigste funksjoner DirectX 12, den siste versjonen av operativsystemets spill-API.
Et programvarelag som sitter mellom maskinvaren som driver datamaskinene våre og programvaren som kjører på dem,
Microsoft snakker om de fantastiske nye funksjonene for hver nye utgivelse av DirectX, men med DirectX 12 har den virkelig noen viktige nye funksjoner, i det minste når det gjelder forbedring av ytelsen. Det har også noen nye effekterverktøy og funksjoner for å få spill til å se bedre ut enn noensinne.
Så la oss ta en titt på hva DirectX 12 bringer til bordet.
Se - En rask guide til hva som er nytt i Windows 10
DirectX 12 vs DirectX 11– Maskinvareabstraksjon på lavt nivå
Den eneste største nye funksjonen i DirectX 12 er en endring av 3D-grafikkdelen - kalt Direct3D - som vil øke mulighetene for utviklere til å optimalisere spillene sine for spesifikk maskinvare. Dette er ned til Direct3D som tilbyr et lavere nivå av maskinvareabstraksjon og en omkonfigurering av hvordan grafikkrørledningen administreres sammenlignet med DirectX 11 og forrige.
Hva er maskinvareabstrahering? Vel, det er roten til det som gjør et API nyttig. I stedet for at utviklere må skrive kode for å håndtere forskjellig maskinvare og drivere, håndterer API alt dette, og i stedet har utviklere et forenklet sett med instruksjoner å håndtere.
Tidligere har DirectX bare gitt et ganske høyt nivå av maskinvareabstraksjon for å gjøre koderenes liv lettere. Ulempen er imidlertid at utviklere er mindre i stand til å optimalisere ytelsen for spesifikk maskinvare.
Spesifikasjonene for hvordan det gjør dette ligger utenfor omfanget av denne artikkelen, men hvis du vil lese mer om de nye Pipeline State Objects, Command Lists og Descriptor bunker, kan du gå til Microsoft-blogg å lese opp på dem.
I slekt: Hva er HoloLens? Microsofts AR-hodesett forklart
![](/f/9f692522a64f896758279c36d73f6f80.jpg)
DirectX 12 vs DirectX 11 - Reduksjon av anropsoverhead
En av de viktigste forbedringene er en reduksjon i overhead for trekningsanrop, som er forsinkelsen i prosessoren som ber GPUen om å gjengi noe. Dette hadde blitt noe av en flaskehals i tidligere versjoner, og begrenset mengden objekter som kan være på skjermen, men med de nye endringene er håpet at GPUen ikke lenger vil vente på at CPU-en skal fortelle det hva å gjøre.
Dette problemet påvirker bare virkelig CPU-begrensede spill, og de fleste spill er begrenset av GPU-hastighet, så den sannsynlige virkningen av den virkelige verden vil variere. Men ettersom de siste spillene mer og mer omfavner ting som AI og fysikk, er det stadig mer for CPUen å gjøre. Multispiller-spill kan også være utsatt for CPU-begrensning. Et godt eksempel er Battlefield 4, som kan være CPU-begrenset selv på ganske kraftig maskinvare.
Denne kortslutningsreduksjonen er den samme kjernefordelen som AMD introduserte med Mantle, og det var derfor Battlefield 4 var et av de første spillene som brukte den nye API-en.
I slekt: HoloLens vs Google Glass: Hva er forskjellen?
DirectX 11: Den totale tiden per tråd er 6,6 ms.
DirectX 12: Totalt per tråd er halvert til 3,2 ms
DirectX 12 Multi-adapter
En annen viktig ny funksjon er Explicit Multi-Adapter. Dette gjør det mulig for spill å ustilisere multigrafikkprosessorer av forskjellige merker og hastigheter, uavhengig av eksisterende løsninger som SLI og Crossfire.
Det kan fungere med kombinasjoner av grafikkort samt integrerte GPUer i de fleste moderne CPUer. Sistnevnte vil bare legge til litt ytelse, men det er potensielt verdt å gjøre, og bruker maskinvare som ellers ville vært satt å gjøre ingenting.
![Windows 10 DirectX 12 Windows 10 DirectX 12](/f/9054e56bf4e926ff83eae0e31f9f03a3.jpg)
Dette er kanskje den mest utfordrende av DirectX 12-funksjonene å implementere, så det gjenstår å se om noen bruker den i stor grad, men det er absolutt hyggelig å vite mulighetene der.
Hvorfor DirectX 12 nå?
Generelt er det motstand mot et API som bruker mindre abstraksjon, da det potensielt gjør utviklernes liv vanskeligere og gir dem mer å gjøre når det gjelder optimalisering for spesifikk maskinvare. Med utviklere som ofte også jobber med konsollversjoner av spill, som bruker forskjellige API-er, er det ekstra bryet med å optimalisere for spesifikk PC-maskinvare bare for mye.
En rekke faktorer har imidlertid betydd at markedet er klart for introduksjon av DirectX 12. Det første er ganske enkelt at utviklere trenger det, i det minste hvis de bryr seg om å utnytte PC-maskinvaren best mulig.
Problemet har nå nådd bristepunktet. Du kan alltid kaste penger på enda raskere maskinvare for PC-er, men med DirectX 12 er det en mulighet til å få mer beskjedne budsjetter til å strekke seg lenger. Alt dette bidrar potensielt til å holde PC-markedet generelt mer relevant i møte med hard konkurranse fra konsoller og mobilspill.
I slekt: Praktisk med HoloLens: Hva ekspertene sier
Så er det det faktum at alle de nyeste konsollene nå har APUer (kombinerte CPUer og GPUer) laget av AMD, så optimalisering for disse plattformene gir også leksjoner for optimalisering for PCer med AMD maskinvare. Faktisk vil Xbox One bytte til å bruke DirectX 12, og eliminere fullstendig overhead der. Dette er også grunnen til at AMD introduserte sin Mantle-utvidelse til DirectX11, fordi de visste at utviklere ville være mer ombord med å optimalisere maskinvaren takket være konsolldesignvinner.
Til slutt er det det faktum at DirectX 12 vil bli brukt på alle Windows 10-enheter, som ikke bare inkluderer PC-er, men også nettbrett og telefoner. Denne tverrplattformens enkelhet oppveier potensielt noe ekstra arbeid som den nye API-en kan introdusere.
Når kommer DirectX 12?
DirectX 12 vil bli sendt som en del av Windows 10, som ankommer 29. juli 2015. Imidlertid, for å se resultatene av den muligheten, retter Microsoft seg mot høysesongen 2015 for å komme spill som benytter seg av DirectX 12.
Fungerer kortet mitt med DirectX 12?
DirectX 12 vil bli støttet av de aller fleste PC-grafikkort som allerede er på markedet. Ethvert Nvidia-kort siden lanseringen av Fermi-arkitekturen (GTX 400-serien), hvilken som helst Intel-grafikk siden Haswell og eventuelle GCN-baserte AMD-kort (HD 7000-serien) støtter det, noe som utgjør rundt 70% av den eksisterende installasjonen utgangspunkt.
Den eksakte ytelsesøkningen du vil se vil variere sterkt, men i det minste vil du i teorien få fordelene.
I slekt: Xbox One vs PS4
For nå står vi og venter på å finne ut hvor snart spill kommer med støtte for disse nye funksjonene, og om de i den virkelige verden utgjør stor forskjell. Her håper vi ikke trenger å vente for lenge.