Hvorfor installerer hver PC-spill sin egen kopi av DirectX?
DirectX er en del av Windows-operativsystemet. Så hvorfor virker det som alle PC-spill du installerer fra Steam, Origin, eller andre steder installerer sin egen kopi av DirectX?
Hva er DirectX?
DirectX er en del av Microsoft Windows. Det er en gruppe APIer (programmeringsgrensesnitt) utviklere kan bruke til 3D-grafikk, video, multimedia, lyd og gamepad-funksjoner på Windows. Mange spill på Windows bruker DirectX Direct3D for grafikk. Hvis de ikke gjør det, bruker de OpenGL eller Vulkan APIer på tvers av plattformen i stedet. Andre programmer uten spill kan bruke DirectX til funksjoner som 3D-grafikk.
Windows 7 inneholder DirectX 11, og Windows 10 inneholder DirectX 12. Når utviklere utvikler spill, velger de DirectX-versjonene de ønsker å målrette. For eksempel vil et spill som bare er skrevet for DirectX 11, ikke kjøres på Windows XP, der den nyeste tilgjengelige versjonen er DirectX 9.
Du kan sjekke versjonen av DirectX som er tilgjengelig på systemet ditt, ved å klikke på Start-knappen, skrive "dxdiag" i søkeboksen og trykke på Enter. Når vinduet for DirectX Diagnostic Tool vises, ser du versjonsnummeret til høyre for "DirectX Version" under "System Information".
Hvis det er inkludert med Windows, hvorfor er det å installere spill?
Så hvis DirectX er en del av Windows, hvorfor installerer spill det selv, for det første? Det korte svaret er at DirectX-installasjonen er et rot.
Det er ikke bare en enkelt DirectX Direct3D-biblioteksspill avhengig av, eller bare en håndfull. Spillutviklere må målrette en eksakt versjon av Direct3D-hjelpebiblioteket. En nyere versjon av biblioteket kan ikke brukes. For eksempel, hvis en spillutvikler har målrettet sitt spill på d3ddx10_40.dll, kan spillet ikke bruke d3ddx10_41.dll. Det trenger versjon 40, og bare den filen vil gjøre.
Du finner disse filene i mappen C: \ Windows \ System32 på systemet. På et 64-biters system er 64-biters biblioteker lokalisert i C: \ Windows \ System32 og 32-biters biblioteker er plassert i C: \ Windows \ SysWOW64.
Selv om du har kjørt den nyeste DirectX-installatøren, er det ingen garanti for at det vil installere alle de gamle mindre versjonene av DirectX-bibliotekene på ditt system. Microsoft har også valgt å ikke bunke disse Direct3D-biblioteksfilene med Windows selv heller. Selv Direct3D-biblioteker opprettet før Windows 10 ble utgitt, er for eksempel ikke alle inkludert i Windows 10. De må installeres av et program som trenger dem. Som Microsoft notater i dokumentasjon beregnet for spillutviklere, gir ikke Windows Update og Service Packs noen av DirectXs valgfrie komponenter ".
Det blir enda mer komplisert enn det. 32-biters spill trenger 32-biters versjoner av biblioteksfilen, og 64-bits spill trenger 64-biters biblioteket.
Dette ligner situasjonen med Microsoft Visual C + + -fordelbare biblioteker. Ulike applikasjoner avhenger av forskjellige versjoner av bibliotekene, og du må ha mange forskjellige versjoner installert. Det er en god sjanse for at du har mange av dem som er installert på systemet ditt også.
Men hvorfor må hvert PC-spill installere det på nytt?
OK, så alle spill må installere den eksakte mindre versjonen av DirectX-bibliotekene den trenger. Men hvis du allerede har installert den spesifikke versjonen av et DirectX-bibliotek en gang, trenger spillet ikke å kjøre DirectX-installatøren til høyre?
Feil. Det er ingen måte for spill å enkelt sjekke om de riktige DirectX-bibliotekene de trenger, er installert. Som Steams supportnotater er Microsofts DirectX-installatør den eneste offisielt støttede måten å kontrollere om de riktige DirectX-filene er installert. Spillene kjører DirectX-installatøren, ofte i bakgrunnen, som installerer eventuelle nødvendige biblioteker og reparerer eventuelle problemer på systemet.
DirectX-installatøren er også den eneste måten Microsoft lar utviklere distribuere disse filene. Utviklere kan ikke forsøke å være kloge ved å droppe DirectX-bibliotekene på systemet ditt direkte og hoppe over installasjonsprogrammet, eller de ville bryte MIcrosofts programvare lisens. De vil også sannsynligvis gå inn i ulike feil, selv om de prøvde dette. Det er derfor ingen gjør det.
Selvfølgelig må ikke alle spillene kjøre DirectX-installasjonsprogrammet når du først starter dem. Spill som bruker OpenGL eller Vulkan i stedet for DirectXs Direct3D trenger ikke å kjøre den. Noen spill avhenger bare av store versjoner av DirectX som DirectX 11, 10 eller 9, og trenger ikke å ringe DirectX-installatøren fordi de ikke bruker noen av disse hjelpebiblioteker.
Kan jeg fjerne noen av disse bibliotekene?
Du bør ikke fjerne noen av DirectX-bibliotekene i mappen System32 eller SysWOW64-mappen. Hvis de er til stede på systemet ditt, er det fordi et spill eller et annet program du installerte, trengte dem. Hvis du begynner å fjerne biblioteksfiler, kan programmene bryte. Det er ingen måte å virkelig fortelle hvilke DirectX bibliotek filer som kreves av hvilke spill på systemet ditt, så det er ingen måte å vite hvilke som er trygge å fjerne.
La dem være i fred! Det er en grunn til at det ikke er noen offisielt støttet måte å avinstallere disse biblioteksfilene på. De vil ikke forårsake noen problemer på systemet ditt og vil bare bli brukt av programmer som krever dem.
Hvis du er veldig desperat til å rydde opp disse gamle bibliotekene, er det bedre å installere Windows på nytt for å få et nytt system i stedet for å tilfeldigvis slette biblioteksfiler. Men de begynner å dukke opp igjen etter at du har installert spill, uansett. Ikke bekymre deg for det.
Hva kan jeg gjøre hvis jeg har DirectX-problemer?
Hvis du ser en DirectX-relatert feilmelding under forsøk på å kjøre eller installere et spill, er det mulig at spillets installasjonsprogram ikke kjører det, inkludert DirectX-omfordelbart installasjonsprogram. Du kan ikke bare laste ned et DirectX-installasjonsprogram fra Microsofts nettsted, men du må kjøre installasjonsprogrammet som selve spillet krever.
Du kan kanskje gå inn i spillets mappe på systemet eller på spillets installasjonsplate, finne DIrectX installer .exe-filen, og kjør den for å fikse problemet. Denne filen heter vanligvis DXSETUP.exe.
Du kan vanligvis få mer informasjon om hvordan du løser problemet ved å utføre et nettsøk etter navnet på spillet eller programmet og den spesifikke DirectX-feilmeldingen du ser.