Zakaj si vsaka računalniška igra namesti lastno kopijo DirectX-a?

DirectX je del operacijskega sistema Windows. Zakaj se torej zdi, da vsaka računalniška igra, ki jo namestite v Steam, Origin ali drugje, namesti svojo kopijo DirectX-a?

Kaj je DirectX?

DirectX je del sistema Microsoft Windows. Gre za skupino API-jev (vmesniki za programiranje aplikacij), ki jih razvijalci lahko uporabljajo za 3D grafiko, video, večpredstavnost, zvok in igralne ploščice v sistemu Windows. Številne igre v sistemu Windows za grafiko uporabljajo DirectX Direct3D. Če se ne, namesto tega uporabijo API-je OpenGL ali Vulkan za več platform. Druge aplikacije, ki niso za igre, lahko DirectX uporabljajo za funkcije, kot je 3D grafika.

Windows 7 vključuje DirectX 11, Windows 10 pa DirectX 12. Ko razvijalci razvijajo igre, izberejo različice DirectX, na katere želijo ciljati. Na primer, igra, napisana samo za DirectX 11, se ne bi izvajala v operacijskem sistemu Windows XP, kjer je najnovejša razpoložljiva različica DirectX 9.

POVEZANE: Kako uporabljati diagnostiko DirectX v sistemu Windows

Različico DirectX-a, ki je na voljo v vašem sistemu, lahko preverite tako, da kliknete gumb Start, v iskalno polje vnesete »dxdiag« in pritisnete Enter. Ko se prikaže okno orodja za diagnostiko DirectX, boste videli številko različice na desni strani »Različica DirectX« v razdelku »Informacije o sistemu«.

Če je vključen v sistem Windows, zakaj ga igre namestijo?

Če je DirectX torej del sistema Windows, zakaj ga igre sploh sploh namestijo? Kratek odgovor je, da je namestitev DirectX nered.

Ne obstaja samo ena knjižnična igra DirectX Direct3D, odvisna ali celo le peščica. Razvijalci iger morajo ciljati na natančno različico knjižnice pomočnikov Direct3D. Novejše različice knjižnice ni mogoče uporabiti. Če je razvijalec iger na primer svojo igro usmeril na d3ddx10_40.dll, igra ne more uporabiti d3ddx10_41.dll. Potrebuje različico 40 in samo ta datoteka bo zadostovala.

Te datoteke boste našli v mapi C: \ Windows \ System32 v vašem sistemu. V 64-bitnem sistemu so 64-bitne knjižnice v C: \ Windows \ System32, 32-bitne knjižnice pa v C: \ Windows \ SysWOW64.

Tudi če ste zagnali najnovejši namestitveni program DirectX, ni nobenega zagotovila, da bo v vaš sistem namestil vse stare manjše različice knjižnic DirectX. Microsoft se je tudi odločil, da teh datotek knjižnice Direct3D ne bo povezal s sistemom Windows. Tudi knjižnice Direct3D, ustvarjene na primer pred izdajo sistema Windows 10, niso vse vključene v sistem Windows 10. Namestiti jih mora aplikacija, ki jih potrebuje. Kot opozarja Microsoft v dokumentaciji, namenjeni razvijalcem iger, »Windows Update in Service Packs ne zagotavljajo nobene izbirne komponente DirectX«.

Je celo bolj zapleteno od tega. 32-bitne igre potrebujejo 32-bitno različico knjižnične datoteke, 64-bitne igre pa 64-bitno knjižnico.

POVEZANE: Zakaj je v moj računalnik nameščenih toliko "Microsoft Visual C ++ Redistributables"?

To je podobno situaciji s knjižnicami Microsoft Visual C ++ Redistributable. 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 je tudi v vašem sistemu nameščenih veliko takšnih.

Zakaj pa jo mora vsaka igra na računalniku znova namestiti?

V redu, zato mora vsaka igra namestiti natančno manjšo različico knjižnic DirectX, ki jo potrebuje. Če pa ste enkrat že namestili to različico knjižnice DirectX, zagotovo v igri ni treba zagnati namestitvenega programa DirectX - kajne?

Napačno. Igre ne morejo enostavno preveriti, ali so nameščene ustrezne knjižnice DirectX, ki jih potrebujejo. Kot opozarja Steamova stran za podporo, je Microsoftov namestitveni program DirectX edini uradno podprt način preverjanja, ali so trenutno nameščene pravilne datoteke DirectX. Igre poganjajo namestitveni program DirectX, pogosto v ozadju, ki namesti vse potrebne knjižnice in popravi morebitne težave v sistemu.

Namestitveni program DirectX je tudi edini način, na katerega Microsoft razvijalcem dovoli distribucijo teh datotek. Razvijalci ne morejo biti pametni, če neposredno spustijo knjižnice DirectX v sistem in preskočijo namestitveni program, sicer bi kršili licenco za programsko opremo MIcrosoft. Verjetno bi naleteli tudi na različne napake, tudi če bi to poskusili. Zato nihče ne.

Seveda pri vseh igrah pri prvem zagonu dejansko ni treba zagnati namestitvenega programa DirectX. Iger, ki uporabljajo OpenGL ali Vulkan namesto DirectX Direct3D, ga ne bo treba zagnati. Nekatere igre so odvisne tudi samo od večjih različic DirectX-a, kot so DirectX 11, 10 ali 9, in jim ni treba poklicati namestitvenega programa DirectX, ker ne uporabljajo nobene od teh pomožnih knjižnic.

Ali lahko odstranim nekatere od teh knjižnic?

V mapi System32 ali mapi SysWOW64 ne smete odstraniti nobene knjižnice DirectX. Če so prisotni v vašem sistemu, jih potrebuje igra ali druga aplikacija, ki ste jo namestili. Če začnete odstranjevati knjižnične datoteke, se lahko programi zlomijo. Ni mogoče zares ugotoviti, katere datoteke knjižnice DirectX zahtevajo katere igre v vašem sistemu, zato ni mogoče vedeti, katere varno odstraniti.

Pustite jih pri miru! Obstaja razlog, da teh datotek knjižnice ni uradno podprt. V vašem sistemu ne bodo povzročale težav in jih bodo uporabljale samo aplikacije, ki jih potrebujejo.

Če resnično želite počistiti te stare knjižnice, raje znova namestite Windows, da dobite nov sistem, namesto da bi naključno brisali knjižnične datoteke. Toda vseeno se bodo začeli pojavljati tukaj po namestitvi iger. Ne skrbi.

Kaj lahko storim, če imam težave z DirectX?

Če med poskusom zagona ali namestitve igre vidite sporočilo o napaki, povezano z DirectX, namestitveni program igre ne izvaja pravilno vključenega namestitvenega namestitvenega programa DirectX. Namestitvenega programa DirectX ne morete preprosto prenesti z Microsoftovega spletnega mesta, ampak morate zagnati namestitveni program, ki ga zahteva sama igra.

Morda boste lahko šli v mapo igre v vašem sistemu ali na namestitveni disk igre, poiskali datoteko .exe namestitvenega programa DIrectX in jo zagnali, da odpravite težavo. Ta datoteka se običajno imenuje DXSETUP.exe.

Običajno lahko dobite več informacij o odpravljanju težave s spletnim iskanjem imena igre ali aplikacije in določenega sporočila o napaki DirectX, ki ga vidite.