Hva er forskjellen mellom DirectX 11 og DirectX 12?

DirectX er en samling av APIer, eller applikasjonsprogrammeringsgrensesnitt, som brukes av programvare for å gjengi multimedieinnhold og kommunisere med grafikkmaskinvare. DirectX Core Component API, Direct3D, håndterer kommunikasjon mellom grafisk maskinvare og programvare. Fordi all maskinvare er forskjellig, øker spillutviklingen ved å bruke et standardisert bibliotek med funksjoner og samtaler for å kommunisere med grafikkortet ditt. Dette kalles maskinvareabstraksjon, og det er hovedjobben til API.
Tenk på biler: Hvis du kan kjøre én bil, kan du kjøre dem alle. Gass- og bremsepedalene er på samme sted, og rattet svinger i samme retning og dørene svinger ut. Det kan være noen mindre forskjeller i ikke-kritiske funksjoner som radio, men totalt sett vet du hva du kan forvente. DirectX og Direct3D er slik, slik at utviklere kan samhandle med et bredt spekter av maskinvare ved å bruke de samme verktøyene. Og siden de fleste spillutviklere bruker Direct3D-standardbiblioteket, kan enhver endring i API påvirke både spillere og kodere.
Hva er nytt i DirectX 12?
Hver større DirectX- og Direct3D-oppdatering gir nye funksjoner og utviklinger. Direct3D 12 medførte imidlertid noen spesielt betydelige endringer. Faktisk kan det være å introdusere et nytt område med grafikk-API-er på lavt nivå som vil endre måten spill utvikles på.
Maskinvareabstraksjon på lavere nivå
DirectX 12 lar nå utviklere komme nærmere "metallet" i brukernes grafikkmaskinvare, og gir tilgang til funksjoner som tidligere ikke var tilgjengelige for utviklere. Eksponering av maskinvare på lavt nivå betyr at dyktige utviklere kan skrive mer effektiv kode som kjører raskere. Spesielt kan utviklere forbedre optimaliseringen med raskere multi-threaded ytelse og mer effektiv CPU-utnyttelse. Dette kan potensielt tillate lavnivåoptimaliseringer som ligner på det vi ser i konsollspill, der spill er designet for ekstremt spesifikk maskinvare i mellomklassen, og gir ytelse som ville vært umulig uten slike hyperspesifikke optimaliseringer.
Tidligere tilbød DirectX 11 bare et ganske høyt nivå av maskinvareabstraksjon, noe som i stor grad forenkler kodingsprosessen. Det er faktisk tanken bak det som gjør maskinvare-APIer så kraftige. Men det betydde også at mulighetene for å finjustere koden mot spesifikke maskinvareegenskaper var sjeldnere. Microsofts utviklerblogg gir noen ideer om nøyaktig hvordan DirectX 12 oppnår dette.
Forbedret multi-core ytelse
De siste årene har spillere akseptert at multi-core CPUer ikke er så nyttige for spill. Spillene er i stedet basert på rask entråds ytelse. Dette skjer delvis fordi DirectX 11 ikke tillater så mye parallellisering. Flere tråder av CPU kan sende tegnekommandoer samtidig. Imidlertid vil alle fortsatt bli behandlet i en kø, en om gangen. DirectX 12 fjerner denne begrensningen, og lar flerkjerne-CPU-er sende samtidige instruksjoner til GPU-en, noe som åpner døren for høyere ytelse på flerkjerneprosessorer.
Tegn anropsreduksjon
Under DirectX 11 brukes en betydelig del av CPU-kraften til å tolke API-instruksjoner i stedet for å kjøre spillkode. DirectX 12 reduserer API-overhead, og frigjør dataressurser for å kjøre spillkode. Dette betyr at CPU-begrensede spill kan gi bedre resultater ettersom CPU-kraften deres frigjøres for å håndtere spillkoden. De fleste spill er ikke begrenset av CPU i disse dager, men nyere spill kan presse denne konvolutten videre.
Eksplisitt multi-adapter
DirectX 12 har muligheten til å kombinere flere GPUer (også kjent som "skjermadaptere") til en enkelt logisk enhet. Denne funksjonen, kalt Explicit Multi-Adapter, lar programvaren instruere flere GPUer som om de var en enkelt GPU. For eksempel, med DirectX 12, kan GPUen som er innebygd i maskinen din nå merke et team med sin diskrete GPU, og gi den sin egen prosessorkraft. Større API-støtte kan også bety større pålitelighet og effektivitet i multi-GPU SLI / CrossFire-konfigurasjoner. I Microsoft-testing ga bruken av integrert grafikk i forbindelse med diskret grafikk en liten, men merkbar kant ved landemerkene.
Hvor mye betyr DirectX 12 for spillere?
Som mange inkrementelle forbedringer, vil spillere ikke se noen forskjell mellom DirectX 11 og DirectX 12 om natten og på dagen. De nye funksjonene tilbyr ikke nye gjengivelsesalternativer som imponerer brukere. Du vil heller ikke se et hopp på 100 FPS mellom de to standardene. Men disse effektivitetsgevinstene vil til slutt føre til høyere ytelse på mindre kraftig maskinvare, og forbedre kraften til PC-en din uten å måtte oppgradere maskinvaren.
Hvis du vil lese flere artikler som Hva er forskjellen mellom DirectX 11 og DirectX 12?, kan du besøke kategorien Applikasjoner.
Legg igjen en kommentar