Miks installib iga arvutimäng oma DirectX-i koopia?
DirectX on osa Windowsi operatsioonisüsteemist. Miks siis tundub, et iga Steamist, Originist või mujalt installitud arvutimäng installib oma DirectX-i koopia?
Mis on DirectX?
DirectX on osa Microsoft Windowsist. See on rühm API-sid (rakenduste programmeerimisliidesed), mida arendajad saavad kasutada Windowsi 3D-graafika, video, multimeedia, heli ja mängupuldi funktsioonide jaoks. Paljud Windowsi mängud kasutavad graafikaks DirectX Direct3D-d. Kui nad seda ei tee, kasutavad nad selle asemel platvormiüleseid OpenGL-i või Vulkani API-sid. Muud mänguvälised rakendused võivad kasutada DirectX-i selliste funktsioonide jaoks nagu 3D-graafika.
Windows 7 sisaldab DirectX 11 ja Windows 10 sisaldab DirectX 12. Kui arendajad arendavad mänge, valivad nad DirectX-i versioonid, mida nad soovivad sihtida. Näiteks ainult DirectX 11 jaoks kirjutatud mängu ei käitata Windows XP-s, kus uusim saadaolev versioon on DirectX 9.
SEOTUD:Kuidas kasutada DirectX-i diagnostikat Windowsis
Oma süsteemis saadaval oleva DirectX-i versiooni kontrollimiseks klõpsake nuppu Start, tippige otsingukasti „dxdiag” ja vajutage sisestusklahvi. Kui kuvatakse DirectX-i diagnostikatööriista aken, näete versiooni numbrit jaotises „Süsteemiteave” jaotise „DirectX-versioon” paremal.
Miks see installib Windowsi, miks mängud seda installivad?
Nii et kui DirectX on Windowsi osa, siis miks mängud seda üldse installivad? Lühike vastus on, et DirectX-i installimine on segadus.
Ei ole ainult üks DirectX Direct3D teegimäng, millest sõltub või isegi ainult käputäis. Mänguarendajad peavad sihtima Direct3D abistaja täpse versiooni. Teegi uuemat versiooni ei saa kasutada. Näiteks kui mänguarendaja sihtis oma mängu saidile d3ddx10_40.dll, ei saa mäng d3ddx10_41.dll kasutada. See vajab versiooni 40 ja ainult see fail sobib.
Need failid leiate oma süsteemi kaustast C: \ Windows \ System32. 64-bitises süsteemis asuvad 64-bitised teegid kaustas C: \ Windows \ System32 ja 32-bitised teegid C: \ Windows \ SysWOW64.
Isegi kui olete käivitanud uusima DirectX-i installiprogrammi, pole mingit garantiid, et see installib teie süsteemis kõik DirectX-i teekide vanad väiksemad versioonid. Samuti on Microsoft otsustanud neid Direct3D teegi faile mitte Windowsiga ise komplekteerida. Isegi enne Windows 10 väljaandmist loodud Direct3D teegid pole kõik koos Windows 10-ga. Need peab installima rakendus, mis neid vajab. Nagu Microsoft mänguarendajatele mõeldud dokumentides märgib, „Windows Update ja hoolduspaketid ei paku ühtegi DirectXi valikulist komponenti”.
See läheb isegi keerulisemaks kui see. 32-bitised mängud vajavad teegifaili 32-bitiseid versioone ja 64-bitised mängud 64-bitist teeki.
SEOTUD:Miks on minu arvutisse installitud nii palju Microsofti Visual C ++ edasimüügivahendeid?
See sarnaneb olukorraga Microsofti Visual C ++ ümberjagatavate teekide puhul. Erinevad rakendused sõltuvad teekide erinevatest versioonidest ja teil peab olema installitud palju erinevaid versioone. On suur võimalus, et ka teie süsteemi on installitud palju neid.
Kuid miks peab iga arvutimäng selle uuesti installima?
Okei, nii et iga mäng peab installima vajaliku DirectX-i teekide täpse väiksema versiooni. Aga kui olete selle konkreetse DirectX-i versiooni juba korra installinud, ei pea mäng kindlasti DirectX-i installerit käima?
Vale. Mängud ei saa kuidagi kontrollida, kas õiged DirectX-i teegid, mida nad vajavad, on installitud. Nagu Steami tugisait märgib, on Microsofti DirectX-i installiprogramm ainus ametlikult toetatud viis kontrollida, kas õiged DirectX-failid on praegu installitud. Mängud käitavad DirectX-i installiprogrammi, sageli taustal, mis installib kõik vajalikud teegid ja parandab süsteemi probleemid.
DirectXi installer on ka ainus viis, kuidas Microsoft lubab arendajatel neid faile levitada. Arendajad ei saa proovida olla nutikad, visates DirectX-i teegid otse oma süsteemi ja jättes installeri vahele, muidu rikuvad nad MIcrosofti tarkvaralitsentsi. Samuti satuksid nad tõenäoliselt erinevate vigadega, isegi kui nad seda proovisid. Sellepärast keegi seda ei tee.
Muidugi ei pea kõik mängud nende esmakordsel käivitamisel käitama DirectX-i installiprogrammi. Mängud, mis kasutavad OpenGL-i või Vulkanit, mitte DirectX's Direct3D, ei pea seda käivitama. Mõned mängud sõltuvad ka ainult DirectXi peamistest versioonidest, nagu DirectX 11, 10 või 9, ning neil pole vaja DirectX-i installiprogrammi helistada, kuna nad ei kasuta ühtegi neist abiteekidest.
Kas ma saan mõned neist raamatukogudest eemaldada?
Te ei tohiks eemaldada ühtegi DirectX-i teeki oma kaustast System32 ega kaustast SysWOW64. Kui nad on teie süsteemis olemas, siis sellepärast, et mõni teie installitud mäng või muu rakendus vajas neid. Kui hakkate teegi faile eemaldama, võivad rakendused puruneda. Pole mingit võimalust öelda, milliseid DirectX-i teegi faile millised teie süsteemis olevad mängud vajavad, seega pole võimalik teada saada, millised on ohutult eemaldatavad.
Jätke nad rahule! On põhjust, et nende teegifailide desinstallimiseks pole ametlikult toetatud viisi. Need ei tekita teie süsteemis probleeme ja neid saavad kasutada ainult rakendused, mis neid vajavad.
Kui soovite nende vanade teekide puhastamist väga meeleheitlikult teha, on parem teegi failide juhusliku kustutamise asemel Windowsi uuesti installida, et saada uus süsteem. Kuid nad hakkavad siin igal juhul uuesti ilmuma pärast mängude installimist. Ärge muretsege selle pärast.
Mida teha, kui mul on DirectX-probleeme?
Kui näete mängu käivitamise või installimise ajal DirectX-iga seotud tõrketeadet, on võimalik, et mängu installer ei käivita kaasasolevat DirectX-i levitatavat installerit korralikult. DirectXi installerit ei saa Microsofti veebisaidilt siiski lihtsalt alla laadida - peate käivitama installeri, mida mäng ise nõuab.
Võimalik, et võite minna oma süsteemi mängu kausta või mängu installiplaadile, leida faili DIrectX installer .exe ja käivitada see probleemi lahendamiseks. Selle faili nimi on tavaliselt DXSETUP.exe.
Tavaliselt saate probleemi lahendamise kohta lisateavet mängu või rakenduse nime ja konkreetse DirectX-i tõrketeate veebiotsingu kaudu.