Zakaj vsak PC igro namestite svojo lastno kopijo DirectX?
DirectX je del operacijskega sistema Windows. Torej, zakaj se zdi, da vsaka PC igra, ki jo namestite iz Steam, Origin ali drugje, namesti lastno kopijo DirectX?
Kaj je DirectX?
DirectX je del sistema Microsoft Windows. To je skupina API-jev (vmesniki za programiranje aplikacij), ki jih razvijalci lahko uporabljajo za 3D grafiko, video, večpredstavnostne, zvočne in igralne funkcije v sistemu Windows. Veliko iger na Windows uporablja DirectX Direct3D za grafiko. Če tega ne storijo, namesto tega uporabljajo OpenGL ali Vulkan API. Druge ne-igralne aplikacije lahko uporabljajo DirectX za funkcije, kot je 3D grafika.
Windows 7 vključuje DirectX 11 in Windows 10 vključuje DirectX 12. Ko razvijalci razvijajo igre, izberejo različice DirectX, ki jih želijo ciljati. Na primer, igra, napisana samo za DirectX 11, ne bi delovala v operacijskem sistemu Windows XP, kjer je najnovejša različica DirectX 9.
Različico programa DirectX, ki je na voljo v vašem sistemu, lahko preverite tako, da kliknete gumb Start, v polje za iskanje vnesete »dxdiag« in pritisnete Enter. Ko se prikaže okno Diagnostičnega orodja za DirectX, se prikaže številka različice desno od različice »DirectX Version« v razdelku »Sistemske informacije«.
Če je vključena v operacijski sistem Windows, zakaj so igre nameščene?
Torej, če je DirectX del sistema Windows, zakaj ga igre sploh namestijo? Kratek odgovor je, da je namestitev DirectX nered.
Od iger knjižnice DirectX Direct3D ni odvisno samo ali pa je le peščica. Razvijalci iger morajo ciljati točno različico pomožne knjižnice Direct3D. Novejše različice knjižnice ni mogoče uporabiti. Če na primer razvijalec iger svojo igro cilja na d3ddx10_40.dll, igra ne more uporabiti datoteke d3ddx10_41.dll. Potrebuje različico 40 in samo ta datoteka.
Te datoteke boste našli v mapi C: Windows System32 v vašem sistemu. V 64-bitnem sistemu se 64-bitne knjižnice nahajajo v C: Windows System 32 in 32-bitne knjižnice se nahajata v C: Windows SysWOW64.
Tudi če uporabljate najnovejši namestitveni program za DirectX, ni nobenega zagotovila, da bo na vaš sistem namestil vse starejše manjše različice knjižnic DirectX. Tudi Microsoft se je odločil, da teh knjižnic Direct3D ne bo združil v sistem Windows. Tudi knjižnice Direct3D, ki so bile ustvarjene, preden je bil izdan operacijski sistem Windows 10, na primer niso vključene v operacijski sistem Windows 10. Namestiti jih mora program, ki jih potrebuje. Kot so zapisali Microsoft v dokumentaciji, namenjeni razvijalcem iger, »Windows Update in servisni paketi ne nudijo nobene od neobveznih komponent programa DirectX«.
To postane celo bolj zapleteno. 32-bitne igre potrebujejo 32-bitne različice knjižnične datoteke, 64-bitne igre pa potrebujejo 64-bitno knjižnico.
To je podobno situaciji z Microsoft Visual C ++ redistributable knjižnicami. Različne aplikacije so odvisne od različnih različic knjižnic in morate imeti nameščenih veliko različnih različic. Obstaja velika verjetnost, da imate tudi veliko tistih, ki so nameščeni v vašem sistemu.
Ampak zakaj Vsak PC Game morali znova namestiti?
V redu, zato mora vsaka igra namestiti natančno manjšo različico knjižnic DirectX, ki jih potrebuje. Toda, če ste to različico knjižnice DirectX že namestili že enkrat, zagotovo igri ni treba zagnati programa za namestitev programa DirectX?
Napačno. Za igre ni mogoče preprosto preveriti, ali so nameščene pravilne knjižnice DirectX, ki jih potrebujejo. Kot je navedeno na strani za podporo podjetja Steam, je Microsoftov namestitveni program DirectX edini uradno podprt način za preverjanje, ali so trenutno nameščene pravilne datoteke DirectX. Igre zaženejo namestitveni program DirectX, pogosto v ozadju, ki namesti vse potrebne knjižnice in popravi vse težave v sistemu.
Namestitveni program DirectX je tudi edini način, s katerim Microsoft razvijalcem omogoča distribucijo teh datotek. Razvijalci ne morejo biti pametni, če neposredno prenesejo knjižnice DirectX v vaš sistem in preskočijo namestitveni program, ali pa bi kršili licenco za programsko opremo podjetja MIcrosoft. Prav tako bi verjetno naleteli na različne napake, tudi če bi to poskusili. Zato nihče ne dela.
Seveda ni treba, da vse igre dejansko zaženejo namestitveni program DirectX, ko jih prvič zaženete. Igre, ki uporabljajo OpenGL ali Vulkan namesto DirectX-ovega Direct3D, ne potrebujejo, da ga zaženete. Nekatere igre so odvisne tudi od večjih različic programa DirectX, kot je DirectX 11, 10 ali 9, in ni treba poklicati namestitvenega programa za DirectX, ker ne uporabljajo nobene od teh pomožnih knjižnic.
Lahko odstranim nekaj teh knjižnic?
V mapi System32 ali v mapi SysWOW64 ne smete odstraniti nobene knjižnice DirectX. Če so prisotni v vašem sistemu, je to zato, ker je bila potrebna igra ali druga aplikacija, ki ste jo namestili. Če začnete z odstranjevanjem knjižničnih datotek, se lahko aplikacije prekinejo. Ne moremo zares povedati, katere datoteke knjižnice DirectX zahtevajo, katere igre v vašem sistemu, zato ne veste, katere datoteke je mogoče varno odstraniti.
Pustite jih pri miru! Obstaja razlog, da ni uradno podprtega načina za odstranitev teh knjižničnih datotek. Ne bodo povzročale nobenih težav na vašem sistemu in jih bodo uporabljale samo aplikacije, ki jih potrebujejo.
Če ste resnično obupani za čiščenje teh starih knjižnic, je bolje, da znova namestite sistem Windows, da dobite svež sistem, namesto da bi naključno izbrisali knjižnične datoteke. Vendar se bodo začeli pojavljati tukaj po tem, ko namestite igre. Ne skrbi.
Kaj lahko storim, če imam težave z DirectX?
Če se med poskusom zagona ali namestitve igre prikaže sporočilo o napaki, povezano z DirectX, je mogoče, da namestitveni program za igro ne izvaja pravilno nameščenega namestitvenega programa za distribucijo DirectX. Ne morete preprosto prenesti namestitvenega programa za DirectX iz Microsoftove spletne strani, čeprav morate zagnati namestitveni program, ki ga zahteva sama igra.
Morda boste lahko vstopili v mapo igre na vašem sistemu ali na namestitvenem disku igre, poiščite datoteko .exe namestitvenega programa DIrectX in jo zaženite, da odpravite težavo. Ta datoteka se na splošno imenuje DXSETUP.exe.
Običajno lahko dobite več informacij o tem, kako odpraviti težavo, tako da opravite iskanje po spletu za ime igre ali aplikacije in določeno sporočilo o napaki DirectX, ki ga vidite.