Zašto svaka PC igra instalira vlastitu kopiju DirectX-a?
DirectX je dio operativnog sustava Windows. Pa zašto se čini da svaka PC igra koju instalirate iz Steam, Origin ili bilo gdje drugdje instalira vlastitu kopiju DirectX-a?
Što je DirectX?
DirectX je dio sustava Microsoft Windows. To je grupa API-ja (sučelja za programiranje aplikacija) koje programeri mogu koristiti za 3D grafiku, video, multimedijske, zvučne i značajke za igranje igara u sustavu Windows. Mnoge igre na Windowsima koriste DirectX Direct3D za grafiku. Ako to nisu, umjesto toga oni koriste OpenGL ili Vulkan API-je. Ostale aplikacije koje nisu igre mogu koristiti DirectX za značajke poput 3D grafike.
Windows 7 uključuje DirectX 11, a Windows 10 uključuje DirectX 12. Kada programeri razvijaju igre, oni biraju DirectX verzije koje žele ciljati. Na primjer, igra napisana samo za DirectX 11 ne bi se izvodila na Windows XP, gdje je najnovija dostupna verzija DirectX 9.
Verziju programa DirectX dostupnu na vašem sustavu možete provjeriti tako da kliknete gumb Start, u okvir za pretraživanje upišete "dxdiag" i pritisnete tipku Enter. Kada se pojavi prozor dijagnostičkog alata za DirectX, vidjet ćete broj verzije na desnoj strani "DirectX Version" pod "Informacije o sustavu".
Ako je uključen u sustav Windows, zašto su igre instalirane?
Dakle, ako je DirectX dio sustava Windows, zašto ga igre uopće instaliraju? Kratak odgovor je da je DirectX instalacija nered.
Ne postoji samo jedna igra DirectX Direct3D knjižnice ovisi o, ili čak samo nekoliko. Programeri igara moraju ciljati točnu verziju pomoćne knjižnice Direct3D. Novija verzija knjižnice ne može se koristiti. Na primjer, ako je programer igre igra usmjerila svoju igru na d3ddx10_40.dll, igra ne može koristiti d3ddx10_41.dll. Potrebna je inačica 40, i samo će ta datoteka raditi.
Te ćete datoteke naći u mapi C: Windows System32 na vašem sustavu. Na 64-bitnom sustavu 64-bitne knjižnice nalaze se u C: Windows System32 i 32-bitne knjižnice nalaze se u C: Windows SysWOW64.
Čak i ako ste pokrenuli najnoviji DirectX instalacijski program, nema jamstva da će instalirati sve stare manje verzije DirectX knjižnica na vašem sustavu. Microsoft je također odlučio da neće povezati te Direct3D knjižnične datoteke s Windowsima. Čak i Direct3D knjižnice stvorene prije nego je Windows 10 izdan, na primjer, nisu sve uključene u sustav Windows 10. Moraju ih instalirati aplikacije koje ih trebaju. Kao što Microsoft bilježi u dokumentaciji namijenjenoj programerima igara, „Windows Update i servisni paketi ne pružaju nijednu od dodatnih komponenti programa DirectX“.
Čak i postaje kompliciranije od toga. 32-bitne igre trebaju 32-bitne verzije datoteke knjižnice, a 64-bitnim igrama potrebna je 64-bitna knjižnica.
To je slično situaciji s Microsoft Visual C ++ Redistributable knjižnicama. Različite aplikacije ovise o različitim verzijama knjižnica i morate instalirati mnogo različitih verzija. Postoji dobra šansa da imate mnogo onih koji su instalirani i na vašem sustavu.
No, zašto svaki PC igra morati to reinstalirati?
U redu, svaka igra mora instalirati točno manju verziju DirectX knjižnica koja je potrebna. Ali, ako ste jednom već instalirali tu određenu verziju biblioteke programa DirectX, igra zasigurno ne mora pokrenuti DirectX installer-right?
Pogrešno. Igre ne mogu lako provjeriti jesu li instalirane ispravne DirectX knjižnice koje su im potrebne. Kao što je navedeno u Steamovom web-mjestu za podršku, Microsoftov DirectX instalacijski program jedini je službeno podržan način za provjeru trenutno instaliranih DirectX datoteka. Igre pokreću instalacijski program za DirectX, često u pozadini, koji instalira sve potrebne knjižnice i popravlja sve probleme na sustavu.
Program za instalaciju programa DirectX također je jedini način na koji Microsoft programerima omogućuje distribuciju tih datoteka. Programeri ne mogu pokušati biti pametni ako izravno ispuste DirectX knjižnice na vašem sustavu i preskoče instalacijski program, ili će prekršiti softversku licencu tvrtke MIcrosoft. Također bi vjerojatno naišli na razne bugove, čak i ako su to pokušali. Zato nitko ne zna.
Naravno, ne moraju sve igre zapravo pokrenuti DirectX instalacijski program kada ih prvi put pokrenete. Igre koje koriste OpenGL ili Vulkan umjesto DirectX Direct3D neće morati pokrenuti. Neke igre također ovise samo o glavnim verzijama programa DirectX kao što su DirectX 11, 10 ili 9 i ne moraju pozivati DirectX instalacijski program jer ne koriste nijednu od tih pomoćnih knjižnica.
Mogu li ukloniti neke od tih knjižnica?
Ne biste smjeli ukloniti nijednu DirectX knjižnicu u mapi System32 ili u mapi SysWOW64. Ako su prisutni na vašem sustavu, to je zato što je potrebna igra ili druga aplikacija koju ste instalirali. Ako počnete uklanjati datoteke s bibliotekom, aplikacije bi se mogle razbiti. Ne postoji način da se zaista sazna koje datoteke programa DirectX zahtijevaju koje igre na vašem sustavu, tako da nema načina da saznate koje je sigurno ukloniti.
Ostavi ih na miru! Postoji razlog zbog kojeg ne postoji službeno podržan način deinstaliranja tih knjižničnih datoteka. Oni neće uzrokovati nikakve probleme na vašem sustavu i koristit će ih samo aplikacije koje ih zahtijevaju.
Ako ste doista očajni da biste očistili te stare knjižnice, bolje je da ponovo instalirate sustav Windows da biste dobili novi sustav umjesto da slučajno izbrišete datoteke knjižnice. Ali oni će se početi pojavljivati ovdje nakon što instalirate igre. Ne brini zbog toga.
Što mogu učiniti ako imam problema s DirectX-om?
Ako se prilikom pokušaja pokretanja ili instaliranja igre pojavi poruka o pogrešci povezana s DirectX-om, moguće je da instalacijski program igre ne izvodi ispravno instaliranu instalaciju za distribuciju koju distribuira DirectX. Ne možete jednostavno preuzeti program za instalaciju programa DirectX s Microsoftove web-lokacije, iako - morate pokrenuti instalacijski program koji zahtijeva sama igra.
Možda ćete moći otići u mapu igre na vašem sustavu ili na instalacijskom disku igre, pronaći datoteku .exe instalacijskog programa DIrectX i pokrenuti je kako biste riješili problem. Ova se datoteka obično naziva DXSETUP.exe.
Obično možete dobiti više informacija o tome kako riješiti problem izvođenjem pretraživanja weba za naziv igre ili aplikacije i određenu poruku o pogrešci programa DirectX koju vidite.