Hvis du nogensinde har installeret et spil på Windows, skal du have set en pop-up, der installerer en version af DirectX på din pc. Selvom vi for det meste ignorerer enhver afhængighed, som vores spil kræver, er disse nogle af de vigtigste ting, der påvirker din spiloplevelse.
Softwareoptimering, udover kraftfuld hardware, er det, der får spil til at spille godt. Da udviklere ikke kan gøre meget ved den hardware, du bruger, optimerer de ofte deres spil så meget som muligt for at køre på en række forskellige hardware.
Det er her værktøjer som DirectX kommer i spil. Det er grunden til, at Windows dominerer pc-spil i dag.
Hvad er DirectX, og hvad gør det?
DirectX er en serie af Application Programming Interfaces (API'er) lavet af Microsoft til Windows og Xbox, der giver spiludviklere adgang til hardwarefunktioner på lavt niveau. De giver udvikleren mere kontrol over, hvordan spillet fungerer med hardwaren, hvilket giver dem mulighed for at finjustere spil til ydeevne på forskellig hardware.
I sin enkleste form letter DirectX kommunikationen mellem et spil og pc'ens hardware, inklusive GPU, hukommelse og lydkort. DirectX er lidt ligesom en mellemmand, der letter kommunikationen mellem hardware og software.
Ældre spil, såsom dem, der kørte på DOS, havde direkte adgang til systemets hardware. Dette betød, at udviklere kunne ændre konfigurationsfiler for at optimere deres spil.
Med Windows 95 blev adgangen til hardwarefunktioner på lavt niveau begrænset som en sikkerhedsforanstaltning. Bivirkningen var, at spil ikke længere kunne interface med hardwaren direkte.
For at rette op på dette lancerede Microsoft DirectX i 1995 med Windows 95. Siden da har API'et set kontinuerlig support og opdateringer for at bringe den til sin nyeste version i skrivende stund, DirectX 12 Ultimate.
DirectX-komponenter
Siden lanceringen har DirectX haft følgende moduler. Husk på, at selvom DirectX stadig er afgørende for pc-spil, er flere af disse komponenter blevet opdateret eller forældet og kan muligvis ikke bruges i moderne spil.
- DirectX-grafik: Dette inkluderer to API'er, nemlig DirectDraw og Direct3D, til at tegne henholdsvis 2D- og 3D-grafik.
- Direkte input: Håndterer grænseflader med tastaturer, mus, joysticks, controllere og andre inputenheder. Denne komponent er blevet ændret til XInput efter DirectX version 8, som udelukkende er til Xbox-controllere.
- Direkte lyd: Håndterer lydafspilning og -optagelse. DirectSound3D (DS3D) bruges til 3D-lyde.
-
DirectX Media: Dette inkluderer en række mindre API'er.
- Direkte animation: Til 2D-webanimationer.
- DirectShow: Til medieafspilning og streaming. Den indeholder også plugins til lydsignalbehandling og DirectX Video Acceleration til hardware-accelereret videoafspilning.
- DirectX transformation: Til webinteraktivitet.
- Direct3D Retained Mode: Til 3D-grafik på højere niveau.
- DirectPlay: Håndterer netværkskommunikation mellem spil. Nu forældet.
- Direkte musik: Til medieafspilning af spor lavet i DirectMusic Producer.
- DirectX medieobjekter: Håndterer objekter, der streamer til indkodere, dekodere og effekter.
- Direkte opsætning: Dette er ikke en API, men er beregnet til at installere DirectX-komponenter.
DirectX er ikke det eneste grafik-API derude, men det er det mest almindelige i betragtning af Windows' popularitet. DirectX er også eksklusivt til Windows, i modsætning til andre API'er som OpenGL eller Vulkan, som har cross-platform support.
Påvirker DirectX spilydelsen?
Ja det gør. DirectX er en ret stor ting for Windows, fordi ellers ville du ikke være i stand til at køre spil på operativsystemet.
Hardware muligheder for at pynte en pc eller bærbar computer er uendelige i disse dage. Du har flere generationer af CPU'er og GPU'er fra forskellige producenter og forskellige bundkort og hukommelsesstandarder fra utallige andre. Det betyder, at der er et næsten uendeligt antal hardwarekombinationer, som hvert spil skal understøtte.
Som du kan gætte, gør dette det utroligt svært for spiludviklere at optimere deres spil til hardwaren. Tidligere skulle udviklere skrive deres egne drivere til flere GPU'er. Det er API'er som DirectX dog standardiseret, hvilket betyder, at én driver fra Nvidia eller AMD vil gøre næsten alt, uanset din hardware.
Dette gør det ekstremt nemt for udviklere at optimere deres spil og gør det for en række hardwarefunktioner. Bemærk, at stærkere hardware stadig vil vinde med hensyn til ydeevne i de fleste tilfælde, men softwareoptimeringen, der er muliggjort af DirectX, tillader spil at køre bedre over hele linjen.
Derudover muliggør DirectX også funktioner som ray tracing, mesh shaders, sampler-feedback og variabel rate shading. Disse funktioner understøttes muligvis ikke af din hardware, men spiludviklere skal aktivere dem til spil. Effekterne spænder fra alt fra bedre grafik i spillet og lyn til mere FPS og generel ydeevne.
Hvilken version af DirectX skal du bruge?
DirectX er bagudkompatibel, så du bør altid bruge den nyeste version af DirectX muligt. Det betyder ikke, at du skal bekymre dig om DirectX-versioner på din computer. Chancerne er, at du højst sandsynligt allerede har den seneste DirectX-version, som din pc eller hardware understøtter.
DirectX 12 Ultimate er den seneste version i skrivende stund. DirectX12 og DirectX 11 var allerede ret spækkede med funktioner, men DirectX 12 Ultimate bygger oven i det for at tilføje flere funktioner til næste generations hardware.
Det er en simpel opgave at tjekke din DirectX-version:
- Trykke Windows-tast + R for at åbne Kør-prompten.
- Type dxdiag og tryk på Enter.
Dette åbner DirectX Diagnostic Tool, som viser alle de vigtige systemdata, du har brug for at vide, inklusive hvilken DirectX-version du kører, og hvilke funktioner der er aktiveret. Der er andre måder at åbne DirectX Diagnostic Tool på hvis Kør-prompten ikke virker for dig.
På moderne versioner af Windows, såsom 10 og 11, kræver installation eller opdatering af DirectX at køre en Windows-opdatering. Hvis din DirectX af en eller anden grund ikke er den nyeste version (DX12 Ultimate på tidspunktet for skriver), kan du starte en Windows-opdatering, som du plejer, og den skulle dukke op som en downloadbar opdatering.
Optimering spiller en stor rolle i spil
DirectX har drevet spil og multimedieprogrammer på Windows siden Windows 95. Da Microsoft fortsætter med at udviske grænserne mellem Windows og Xbox, udvikler DirectX sig også for at give spiludviklere mulighed for at bygge og optimere spil, der kører på en bred vifte af hardwarefunktioner.
Dette gør pc-spil tilgængeligt for et meget større publikum. Især folk, der ikke kører top-of-the-line pc-hardware.
Med Nvidia og AMD, der frigiver deres hidtil stærkeste GPU'er, forsøger Intel at bryde ind på GPU-markedet, en fald i GPU-priser og nogle store spiludgivelser for 2023, er det bestemt et interessant tidspunkt for spillere.