Hvad er forskellen mellem DirectX 11 og DirectX 12?
DirectX er en samling af API'er eller applikationsprogrammeringsinterfaces, der bruges af software til at gengive multimedieindhold og kommunikere med grafisk hardware. DirectXs hovedkomponent API, Direct3D, håndterer kommunikation mellem software og grafisk hardware. Fordi al hardware er anderledes, fremskynder spiludviklingen ved at bruge et standardiseret bibliotek med funktioner og opkald til at kommunikere med dit grafikkort. Dette kaldes hardware abstraktion, og det er den øverste opgave i API.
Tænk på biler: Hvis du kan køre en bil, kan du stort set køre dem alle. Gas- og bremsepedalerne er på samme sted, og rattet drejer i samme retning og dørene åbnes udad. Der kan være nogle mindre forskelle i ikke-kritiske funktioner som radioen, men generelt ved du hvad du kan forvente. DirectX og Direct3D er sådan, så udviklere kan interface med en bred vifte af hardware ved hjælp af de samme værktøjer. Og da de fleste spiludviklere bruger Direct3Ds standardbibliotek, kan ændringer i API'en påvirke både spillere og codere.
Hvad er nyt i DirectX 12?
Hver større opdatering til DirectX og Direct3D bringer nye funktioner og udviklinger. Direct3D 12 bragte dog nogle særligt vigtige ændringer. Faktisk kan det være at indvarsle et nyt område af grafik-API'er med lavt niveau, der vil ændre måden, som spil udvikles.
Nedre niveau hardware abstraktion
DirectX 12 giver nu udviklere mulighed for at komme tættere på "metal" af deres brugers grafiske hardware, hvilket giver adgang til funktioner, som tidligere ikke var tilgængelige for udviklere. Eksponering af hardware på lavere niveau betyder, at dygtige udviklere kan skrive mere effektiv kode, der udføres hurtigere. Specifikt kan udviklere forbedre optimeringen med hurtigere multi-threaded ydeevne og mere effektiv CPU udnyttelse. Dette kunne muligvis muliggøre optimalt lave niveauer svarende til dem, vi ser i konsolspil, hvor spil er indstillet til ekstremt specifik mid-range hardware, der viser udførelse, som ville være umuligt uden sådanne hyperspecifikke optimeringer.
Tidligere tilbød DirectX 11 kun et forholdsvis højt niveau af hardwareabstraktion, hvilket stort set forenkler kodningsprocessen. Faktisk er det hele ideen bag, hvad der gør hardware API'er så kraftfulde. Men det betød også, at mulighederne for finjusteringskode mod specifikke hardwarefunktioner var mindre hyppige. Microsofts Developer Blog giver nogle gode indblik i, hvordan DirectX 12 præcist opnår dette.
Forbedret Multicore Performance
I de sidste par år har spillere kommet til at acceptere, at multicore-CPU'er ikke er så nyttige til spil. Spil i stedet stole på hurtige single-threaded ydeevne. Dette sker dels fordi DirectX 11 ikke tillader så meget parallelisering. Flere CPU-tråde kan indsende tegnekommandoer samtidigt. Men de vil stadig blive behandlet i en kø, en ad gangen. DirectX 12 løfter denne begrænsning, så multicore-CPU'er kan sende samtidige instruktioner til GPU'en, der åbner døren for større ydeevne på multicore-processorer.
Tegn Call Overhead Reduction
Under DirectX 11 bruges en væsentlig del af CPU'ens strøm til at fortolke API-instrukser i stedet for at udføre spilkoden. DirectX 12 reducerer API-overhead, frigør beregningsressourcer til at køre spilkoden. Det betyder, at CPU-begrænsede spil kan se større ydeevne, da deres CPU-strøm frigøres til at håndtere spilkoden. De fleste spil er ikke CPU-begrænsede i dag, men det er muligt, at nyere spil vil skubbe denne konvolut yderligere.
Eksplicit Multiadapter
DirectX 12 har mulighed for at kombinere flere GPU'er (AKA "displayadaptere") til en enkelt logisk enhed. Denne funktion, kaldet Explicit Multiadapter, gør det muligt for flere GPU'er at blive instrueret af software som en enkelt GPU. For eksempel kan DirectX 12 med den integrerede GPU på din maskine nu tagge team med din diskrete GPU og udlåne sin egen proceskraft. Større API-understøttelse kan også betyde større pålidelighed og effektivitet i multi-GPU SLI / CrossFire-opsætninger. I Microsofts test ved hjælp af integreret grafik i takt med diskret grafik gav en lille, men mærkbar kant i benchmarks.
Hvor meget koster DirectX 12 spørgsmål til spillere?
Ligesom mange trinvise forbedringer vil spillerne ikke se forskelle mellem dag og dag mellem DirectX 11 og DirectX 12. De nye funktioner bringer ikke nye gengivelsesindstillinger, der wow brugere. Du vil heller ikke se et 100 FPS hoppe mellem de to standarder. Men disse gevinster i effektivitet vil i sidste ende føre til større ydeevne på mindre kraftfuld hardware, hvilket forbedrer din pcs strøm uden at opgradere hardware.