Hva er forskjellen mellom DirectX 11 og DirectX 12?
DirectX er en samling av APIer, eller applikasjonsprogrammeringsgrensesnitt, brukt av programvare for å gjengi multimediainnhold og kommunisere med grafisk maskinvare. DirectXs hovedkomponent API, Direct3D, håndterer kommunikasjon mellom programvare og grafikk maskinvare. Fordi all maskinvare er annerledes, øker spillutviklingen ved å bruke et standardisert bibliotek med funksjoner og samtaler for å kommunisere med grafikkortet ditt. Dette kalles maskinvareabstraksjon, og det er den viktigste jobben i API.
Tenk på biler: Hvis du kan kjøre en bil, kan du ganske mye kjøre dem alle. Gass- og bremsepedalerne er på samme sted, og rattet roterer i samme retning og dørene åpnes utover. Det kan være noen mindre forskjeller i ikke-kritiske funksjoner som radioen, men generelt vet du hva du kan forvente. DirectX og Direct3D er slik, slik at utviklere kan grensesnitt med et bredt spekter av maskinvare ved hjelp av de samme verktøyene. Og siden de fleste spillutviklere bruker Direct3Ds standardbibliotek, kan eventuelle endringer i API-en påvirke spillere og kodere likt.
Hva er nytt i DirectX 12?
Hver større oppdatering til DirectX og Direct3D gir nye funksjoner og utviklinger. Direct3D 12 brakte imidlertid noen spesielt betydelige endringer. Faktisk kan det være å innlede et nytt område med grafiske APIer med lav grad som vil endre måten spillene utvikles på.
Nedre nivå maskinvare abstraksjon
DirectX 12 lar nå utviklere komme nærmere "metallet" av brukerens grafikk maskinvare, og gir tilgang til funksjoner som tidligere ikke var tilgjengelige for utviklere. Å eksponere maskinvare på lavere nivå betyr at dyktige utviklere kan skrive mer effektiv kode som kjører raskere. Spesifikt kan utviklere forbedre optimalisering med raskere multi-threaded ytelse og mer effektiv CPU utnyttelse. Dette kan potensielt muliggjøre lavnivåoptimaliseringer som ligner på det vi ser i konsollspill hvor spill er innstilt for ekstremt spesifikk mellomlang maskinvare, og viser ut ytelse som ville være umulig uten slike hyperspesifikke optimaliseringer.
Tidligere tilbød DirectX 11 bare et relativt høyt nivå av maskinvareabstraksjon, noe som stort sett forenkler prosessen med koding. Faktisk er det hele ideen bak det som gjør maskinvare-APIer så kraftige. Men det innebar også at mulighetene for finjusteringskode mot bestemte maskinvarefunksjoner var mindre hyppige. Microsofts utviklerblogg gir noen gode innblikk i hvordan DirectX 12 akkurat nå oppnår dette.
Forbedret multicore ytelse
I de siste årene har spillere kommet til å akseptere at multicore-CPUer ikke er like nyttige for spill. Spillene i stedet stole på rask enkeltgjenget ytelse. Dette skjer delvis fordi DirectX 11 tillater ikke mye parallellisering. Flere CPU-tråder kan sende tegnekommandoer samtidig. Imidlertid vil de fortsatt bli behandlet i en kø, en om gangen. DirectX 12 løfter denne begrensningen, slik at multicore-CPUer kan sende samtidige instruksjoner til GPU, og åpner døren for større ytelse på multicore-prosessorer.
Tegn Anrop Overhead Reduksjon
Under DirectX 11 brukes en betydelig del av CPU-strømmen til å tolke API-instruksjoner i stedet for å utføre spillkoden. DirectX 12 reduserer API-overhead, frigjør beregningsressurser for å kjøre spillkoden. Dette betyr at CPU-begrensede spill kan se større ytelse, da deres CPU-kraft er frigjort for å håndtere spillkoden. De fleste spillene er ikke CPU-begrensede i dag, men det er mulig at nyere spill vil presse denne konvolutten videre.
Eksplisitt fleradapter
DirectX 12 har muligheten til å kombinere flere GPUer (AKA "displayadaptere") til en enkelt logisk enhet. Denne funksjonen, kalt Explicit Multiadapter, tillater flere GPUer å bli instruert av programvare som en enkelt GPU. For eksempel, med DirectX 12 kan den integrerte GPUen på maskinen din nå merke til lag med din diskrete GPU, og utlåne sin egen prosessorkraft. Større API-støtte kan også bety større pålitelighet og effektivitet i multi-GPU SLI / CrossFire-oppsett. I Microsofts testing med integrert grafikk i kombinasjon med diskret grafikk ga en liten, men merkbar kant i referanser.
Hvor mye koster DirectX 12 Matter for spillere?
Som mange inkrementelle forbedringer, vil spillere ikke se forskjeller mellom dag og natt mellom DirectX 11 og DirectX 12. De nye funksjonene gir ikke nye gjengivelsesalternativer som wow brukere. Du vil heller ikke se et 100 FPS hopp mellom de to standardene. Men disse gevinster i effektivitet vil etter hvert føre til bedre ytelse på mindre kraftig maskinvare, og forbedrer PCens strøm uten å oppgradere maskinvaren.