Hvorfor installerer hvert pc-spil sin egen kopi af DirectX?
DirectX er en del af Windows-operativsystemet. Så hvorfor virker det som om hvert pc-spil du installerer fra Steam, Origin eller andetsteds installerer sin egen kopi af DirectX?
Hvad er DirectX?
DirectX er en del af Microsoft Windows. Det er en gruppe API'er (applikationsprogrammeringsgrænseflader) udviklere kan bruge til 3D grafik, video, multimedia, lyd og gamepad funktioner på Windows. Mange spil på Windows bruger DirectX's Direct3D til grafik. Hvis de ikke gør det, bruger de OpenGL eller Vulkan API'erne på tværs af platformen i stedet. Andre programmer uden spil kan bruge DirectX til funktioner som 3D-grafik.
Windows 7 indeholder DirectX 11, og Windows 10 indeholder DirectX 12. Når udviklere udvikler spil, vælger de de DirectX-versioner, de ønsker at målrette mod. For eksempel vil et spil, der kun er skrevet til DirectX 11, ikke køre på Windows XP, hvor den nyeste tilgængelige version er DirectX 9.
Du kan tjekke den version af DirectX, der er tilgængelig på dit system, ved at klikke på knappen Start, skrive "dxdiag" i søgefeltet og trykke på Enter. Når vinduet DirectX Diagnostic Tool vises, ser du versionsnummeret til højre for "DirectX Version" under "System Information".
Hvis det er inkluderet i Windows, hvorfor er der installeret spil?
Så hvis DirectX er en del af Windows, hvorfor installerer spil det selv i første omgang? Det korte svar er, at DirectX installation er et rod.
Der er ikke kun en enkelt DirectX Direct3D-biblioteksspil afhængig af, eller endda bare en håndfuld. Spiludviklere skal målrette mod en præcis version af Direct3D-hjælperbiblioteket. En nyere version af biblioteket kan ikke bruges. Hvis en spiludvikler f.eks. Målrettede deres spil på d3ddx10_40.dll, kan spillet ikke bruge d3ddx10_41.dll. Det har brug for version 40, og kun den fil vil gøre.
Du finder disse filer i mappen C: \ Windows \ System32 på dit system. På et 64-bit system er 64-bit biblioteker placeret i C: \ Windows \ System32, og 32-bit biblioteker er placeret i C: \ Windows \ SysWOW64.
Selvom du har kørt den nyeste DirectX-installatør, er der ingen garanti for at installere alle de gamle mindre versioner af DirectX-biblioteker på dit system. Microsoft har også valgt ikke at bundle disse Direct3D-biblioteksfiler med Windows selv. Selv Direct3D-biblioteker oprettet, før Windows 10 blev udgivet, er for eksempel ikke alle inkluderet i Windows 10. De skal installeres af et program, der har brug for dem. Som Microsoft noterer sig i dokumentation beregnet til spiludviklere, leverer Windows Update og Service Packs ikke nogen af DirectX's valgfrie komponenter ".
Det bliver endda mere kompliceret end det. 32-bit spil behøver 32-bit versioner af bibliotekets fil, og 64-bit spil behøver 64-bit biblioteket.
Dette ligner situationen med Microsoft Visual C + + -fordelbare biblioteker. Forskellige programmer afhænger af forskellige versioner af bibliotekerne, og du skal have mange forskellige versioner installeret. Der er en god chance for, at du også har mange af dem installeret på dit system.
Men hvorfor skal hvert pc-spil geninstallere det?
Okay, så skal hvert spil installere den nøjagtige mindre version af de DirectX-biblioteker, det kræver. Men hvis du allerede har installeret den specifikke version af et DirectX-bibliotek én gang, behøver det sikkert ikke at køre DirectX-installationsprogrammet til højre?
Forkert. Der er ingen mulighed for spil for nemt at kontrollere, om de korrekte DirectX-biblioteker, de har brug for, er installeret. Som Steam's support site noter er Microsofts DirectX-installatør den eneste officielt understøttede måde at kontrollere, om de korrekte DirectX-filer er installeret. Spil kører DirectX-installationsprogrammet, ofte i baggrunden, som installerer eventuelle biblioteker og reparerer eventuelle problemer på systemet.
DirectX-installationsprogrammet er også den eneste måde, hvorpå Microsoft giver udviklere mulighed for at distribuere disse filer. Udviklere kan ikke forsøge at være kloge ved at droppe DirectX-bibliotekerne på dit system direkte og springe over installationsprogrammet, eller de ville bryde MIcrosoft's software licens. De ville også sandsynligvis komme ind i forskellige fejl, selvom de prøvede dette. Derfor gør ingen det.
Selvfølgelig må ikke alle spil faktisk køre DirectX-installationsprogrammet, når du først starter dem. Spil, der bruger OpenGL eller Vulkan i stedet for DirectX's Direct3D, behøver ikke at køre den. Nogle spil afhænger også kun af større versioner af DirectX som DirectX 11, 10 eller 9 og behøver ikke at kalde DirectX-installationsprogrammet, fordi de ikke bruger nogen af disse hjælperbiblioteker.
Kan jeg fjerne nogle af disse biblioteker?
Du bør ikke fjerne nogen af DirectX-biblioteker i mappen System32 eller SysWOW64. Hvis de er til stede på dit system, skyldes det, at et spil eller et andet program du installerede havde brug for dem. Hvis du begynder at fjerne biblioteksfiler, kan programmer bryde. Der er ingen måde at virkelig fortælle, hvilke DirectX-biblioteksfiler der kræves af hvilke spil på dit system, så der er ingen måde at vide, hvilke er sikre at fjerne.
Lad dem være alene! Der er en grund til, at der ikke er nogen officielt understøttet måde at afinstallere disse biblioteksfiler på. De vil ikke medføre problemer på dit system og vil kun blive brugt af applikationer, der kræver dem.
Hvis du virkelig er desperat til at rydde op på disse gamle biblioteker, er du bedre til at geninstallere Windows for at få et nyt system i stedet for tilfældigt at slette biblioteksfiler. Men de begynder at komme igen her, efter at du har installeret spil, alligevel. Bare rolig om det.
Hvad kan jeg gøre, hvis jeg har DirectX-problemer?
Hvis du ser en DirectX-relateret fejlmeddelelse, mens du forsøger at køre eller installere et spil, er det muligt, at spilets installationsprogram ikke kører det med DirectX-omfordelbare installationsprogrammer korrekt. Du kan ikke bare downloade et DirectX-installationsprogram fra Microsofts hjemmeside, selvom du skal køre installationsprogrammet, som spillet selv kræver.
Du kan muligvis gå ind i spilets mappe på dit system eller på spilets installationsdisk, finde DIexX-installationsprogrammet .exe-filen og køre det for at løse problemet. Denne fil kaldes generelt DXSETUP.exe.
Du kan normalt få flere oplysninger om, hvordan du løser problemet ved at udføre en websøgning efter navnet på spillet eller applikationen og den specifikke DirectX-fejlmeddelelse, du ser.