Miksi jokainen PC-peli asentaa oman kopionsa DirectX stä?
DirectX on osa Windows-käyttöjärjestelmää. Joten miksi näyttää siltä, että jokainen Steam, Origin tai muualla asennettu PC-peli asentaa oman DirectX-kopionsa?
Mikä on DirectX?
DirectX on osa Microsoft Windowsia. Se on ryhmä API-sovelluksia (sovellusohjelmointirajapintoja), joita kehittäjät voivat käyttää 3D-grafiikka-, video-, multimedia-, ääni- ja peliohjausominaisuuksiin Windowsissa. Monet Windows-pelit käyttävät DirectX: n Direct3D-grafiikkaa. Jos ei, he käyttävät sen sijaan cross-platform OpenGL- tai Vulkan-sovellusliittymiä. Muut ei-pelisovellukset voivat käyttää DirectX: ää esimerkiksi 3D-grafiikan ominaisuuksiin.
Windows 7 sisältää DirectX 11: n, ja Windows 10 sisältää DirectX 12. Kun kehittäjät kehittävät pelejä, he valitsevat haluamansa DirectX-versiot. Esimerkiksi vain DirectX 11: lle kirjoitettu peli ei toimi Windows XP: ssä, jossa uusin saatavilla oleva versio on DirectX 9.
Voit tarkistaa järjestelmässä olevan DirectX-version napsauttamalla Käynnistä-painiketta, kirjoittamalla hakukenttään “dxdiag” ja painamalla Enter-näppäintä. Kun DirectX-diagnostiikkatyökalu -ikkuna avautuu, versionumero näkyy DirectX-version oikealla puolella kohdassa ”Järjestelmätiedot”.
Jos se on mukana Windowsissa, Miksi pelejä asennetaan?
Joten jos DirectX on osa Windowsia, miksi pelit asentavat sen ensin? Lyhyt vastaus on, että DirectX-asennus on sotku.
Ei vain yksi DirectX Direct3D -kirjastopelit riippuvat tai jopa vain kourallinen. Pelin kehittäjien on kohdennettava Direct3D-auttajakirjaston tarkka versio. Kirjaston uudempaa versiota ei voi käyttää. Esimerkiksi, jos pelin kehittäjä kohdistaa pelinsa d3ddx10_40.dll-tiedostoon, peli ei voi käyttää d3ddx10_41.dll-tiedostoa. Se tarvitsee version 40, ja vain kyseinen tiedosto tekee.
Nämä tiedostot löytyvät järjestelmän C: Windows System32 -kansiosta. 64-bittisessä järjestelmässä 64-bittiset kirjastot sijaitsevat C: ssä: Windows System32 ja 32-bittiset kirjastot sijaitsevat C: ssä: Windows SysWOW64.
Vaikka olet suorittanut uusimman DirectX-asennuksen, ei ole mitään takeita siitä, että se asentaa kaikki vanhat DirectX-kirjastojen versiot järjestelmään. Microsoft on myös päättänyt olla yhdistämättä näitä Direct3D-kirjastotiedostoja itse Windowsiin. Jopa ennen Windows 10: n julkaisemista luotu Direct3D-kirjasto ei ole kaikki mukana Windows 10: ssä. Ne on asennettava sellaisen sovelluksen avulla, joka sitä tarvitsee. Koska Microsoft toteaa pelinkehittäjille tarkoitetuissa asiakirjoissa, "Windows Update ja Service Pack eivät tarjoa mitään DirectX: n valinnaisia osia".
Se jopa muuttuu monimutkaisemmaksi. 32-bittiset pelit tarvitsevat kirjastotiedoston 32-bittisiä versioita, ja 64-bittiset pelit tarvitsevat 64-bittisen kirjaston.
Tämä on samanlainen kuin Microsoft Visual C ++ Redistributable -kirjastojen tilanne. Eri sovellukset riippuvat kirjastojen eri versioista, ja sinun on asennettava useita eri versioita. Sinulla on myös hyvä mahdollisuus, että sinulla on paljon järjestelmään asennettuja.
Mutta miksi jokaisen PC-pelin täytyy asentaa se uudelleen?
Okei, joten jokaisen pelin on asennettava vaadittu DirectX-kirjastojen tarkka pienempi versio. Mutta jos olet jo asentanut kyseisen DirectX-kirjaston version kerran, peli ei välttämättä tarvitse suorittaa DirectX-asennusohjelman oikealle?
Väärä. Pelien ei ole helppo tarkistaa, onko oikeat DirectX-kirjastot, joita ne tarvitsevat. Steamin tukisivuston mukaan Microsoftin DirectX-asennusohjelma on ainoa virallisesti tuettu tapa tarkistaa, onko oikeat DirectX-tiedostot asennettu tällä hetkellä. Pelit käyttävät DirectX-asentajaa, usein taustalla, joka asentaa tarvittavat kirjastot ja korjaa järjestelmän ongelmat.
DirectX-asennusohjelma on myös ainoa tapa, jolla Microsoft voi kehittäjille levittää näitä tiedostoja. Kehittäjät eivät voi yrittää olla älykkäitä pudottamalla suoraan DirectX-kirjastot järjestelmään ja ohittamalla asentajan, tai he rikkovat MIcrosoftin ohjelmistolisenssiä. He joutuivat todennäköisesti myös useisiin virheisiin, vaikka he yrittäisivät tätä. Siksi kukaan ei tee.
Kaikissa peleissä ei tietenkään tarvitse suorittaa DirectX-asentajaa, kun käynnistät niitä ensimmäisen kerran. Pelit, joissa käytetään OpenGL: ää tai Vulkania DirectX: n Direct3D: n sijaan, ei tarvitse suorittaa sitä. Jotkin pelit riippuvat myös vain DirectX: n tärkeimmistä versioista, kuten DirectX 11: stä, 10: stä tai 9: stä, eivätkä ne tarvitse soittaa DirectX-asentajalle, koska he eivät käytä mitään näistä apuohjelmakirjastoista.
Voinko poistaa joitakin näistä kirjastoista?
Älä poista mitään DirectX-kirjastoja System32-kansiosta tai SysWOW64-kansiosta. Jos he ovat läsnä järjestelmässäsi, se johtuu siitä, että asennettu peli tai muu sovellus tarvitsi niitä. Jos aloitat kirjastotiedostojen poistamisen, sovellukset voivat rikkoutua. Ei voi mitenkään kertoa, mitkä DirectX-kirjastotiedostot vaaditaan järjestelmässä olevista peleistä, joten ei ole mitään keinoa tietää, mitkä ovat turvallisia poistaa.
Jätä heidät rauhaan! Näiden kirjastotiedostojen poistamiseen ei ole virallisesti tuettua tapaa. Ne eivät aiheuta ongelmia järjestelmässäsi ja niitä käyttävät vain sovellukset, jotka vaativat niitä.
Jos olet todella epätoivoinen puhdistamaan nämä vanhat kirjastot, sinun on parempi asentaa Windows uudelleen asentamaan uusi järjestelmä kirjastotiedostojen sattumanvaraisen poistamisen sijaan. Mutta ne alkavat näkyä uudelleen täällä, kun olet asentanut pelejä. Älä huoli siitä.
Mitä voin tehdä, jos minulla on DirectX-ongelmia?
Jos näet DirectXiin liittyvän virhesanoman, kun yrität suorittaa tai asentaa pelin, on mahdollista, että pelin asennusohjelma ei toimi oikein sisältämänsä DirectX-jakelukelpoisen asennuksen avulla. Et voi vain ladata DirectX-asentajaa Microsoftin verkkosivustolta, mutta sinun on suoritettava asennusohjelma, jota peli tarvitsee.
Voit ehkä mennä pelin kansioon järjestelmässä tai pelin asennuslevyllä, etsiä DIrectX-asennusohjelman .exe-tiedosto ja suorittaa se korjataaksesi ongelman. Tämä tiedosto on yleensä nimeltään DXSETUP.exe.
Voit yleensä saada lisätietoja ongelman korjaamisesta suorittamalla Web-haun pelin tai sovelluksen nimestä ja näkyvistä DirectX-virhesanomista.