Miért telepít minden PC-játék saját DirectX-példányát?
A DirectX a Windows operációs rendszer része. Akkor miért tűnik úgy, mintha minden Steam, Origin vagy máshol telepített PC-játék saját DirectX-példányát telepíti?
Mi az a DirectX?
A DirectX a Microsoft Windows része. Az API-k (alkalmazásprogramozási felületek) csoportja a fejlesztők 3D-s grafikus, video-, multimédia-, hang- és gamepad funkciókhoz használhatók a Windows rendszerben. A Windows sok játékában a DirectX Direct3D-je van. Ha nem, akkor a platformon keresztüli OpenGL vagy Vulkan API-kat használják. Más nem játékalkalmazások használhatják a DirectX-et olyan funkciókhoz, mint a 3D grafika.
A Windows 7 tartalmazza a DirectX 11-et, a Windows 10 pedig a DirectX 12-et is tartalmazza. Amikor a fejlesztők játékokat fejlesztenek ki, a kívánt DirectX verziókat választják. Például, a DirectX 11-re írt játék nem fut Windows XP rendszeren, ahol a legújabb elérhető verzió a DirectX 9.
A DirectX verzióját a rendszeren megtekintheti a Start gombra kattintva, írja be a „dxdiag” szót a keresőmezőbe, és nyomja meg az Enter billentyűt. Amikor megjelenik a DirectX diagnosztikai eszköz ablak, a „Rendszerinformáció” alatt a „DirectX verzió” jobb oldalán látható a verziószám..
Ha ez a Windows rendszerrel együtt van, akkor miért vannak telepítve a játékok?
Tehát, ha a DirectX a Windows része, akkor miért telepítik először a játékokat? A rövid válasz az, hogy a DirectX telepítése rendetlenség.
Nem csak egyetlen DirectX Direct3D könyvtár játék függ, vagy csak egy maroknyi. A játékfejlesztőknek a Direct3D segítő könyvtár pontos verzióját kell célozniuk. A könyvtár egy újabb verziója nem használható. Például, ha egy játékfejlesztő a d3ddx10_40.dll fájlban célzott, akkor a játék nem használhatja a d3ddx10_41.dll fájlt. Ehhez 40-es verzióra van szükség, és csak az a fájl lesz.
Ezeket a fájlokat a rendszer C: Windows System32 mappájában találja. A 64 bites rendszeren a 64 bites könyvtárak C-ben találhatók: A Windows System32 és a 32 bites könyvtárak a következő helyen találhatók: C: Windows SysWOW64.
Még ha a legfrissebb DirectX telepítőt is futtatja, nincs garancia arra, hogy telepíti az Ön rendszerén a DirectX könyvtárak összes korábbi kisebb verzióját. A Microsoft úgy döntött, hogy nem köt össze ezeket a Direct3D könyvtárfájlokat sem Windows-al. Még a Windows 10 kiadása előtt létrehozott Direct3D könyvtárak például nem tartoznak a Windows 10 rendszerhez. Mivel a Microsoft megjegyzi a játékfejlesztőknek szánt dokumentációban, „A Windows Update és a Service Pack nem biztosítja a DirectX opcionális összetevőit”.
Még bonyolultabb is. A 32 bites játékokhoz a könyvtárfájl 32 bites verziója szükséges, a 64 bites játékokhoz pedig 64 bites könyvtár szükséges.
Ez hasonló a Microsoft Visual C ++ Redistributable könyvtárakhoz. A különböző alkalmazások különbözőek a könyvtárak különböző verzióitól, és sok különböző verzióra van szükség. Jó esély van arra is, hogy sokan vannak telepítve a rendszeren.
De miért kell minden számítógépes játékot újra telepíteni?
Oké, így minden játéknak telepítenie kell a szükséges DirectX könyvtárak apró verzióját. Ha azonban már egyszer telepítette a DirectX-könyvtár konkrét verzióját, akkor a játéknak nem kell futtatnia a DirectX telepítőjét?
Rossz. Nincs mód arra, hogy a játékok könnyen ellenőrizhessék, hogy vannak-e telepítve a megfelelő DirectX könyvtárak. Ahogy a Steam támogatási webhelye megjegyzi, a Microsoft DirectX telepítője az egyetlen hivatalos támogatott módja annak, hogy ellenőrizze, hogy a megfelelő DirectX fájlok jelenleg telepítve vannak-e. A játékok futtatják a DirectX telepítőt, gyakran a háttérben, amely telepíti a szükséges könyvtárakat és javítja a rendszerben felmerülő problémákat.
A DirectX telepítő az egyetlen módja annak, hogy a Microsoft lehetővé tegye a fejlesztők számára a fájlok terjesztését. A fejlesztők nem próbálhatnak okosak a DirectX könyvtárak közvetlenül a rendszeren való leállításával, és kihagyhatják a telepítőt, vagy törik a MIcrosoft szoftverlicencét. Valószínűleg különböző hibákba ütköznek, még akkor is, ha ezt próbálták. Ezért senki sem.
Természetesen nem minden játéknak kell futtatnia a DirectX telepítőt, amikor elindítja őket. Az OpenGL-t vagy a Vulkan-t használó játékok helyett a DirectX Direct3D-jét nem kell futtatni. Néhány játék csak a DirectX 11-es, 10-es vagy 9-es DirectX-es verzióitól függ, és nem kell hívnia a DirectX telepítőjét, mert nem használnak ilyen segédkönyvtárakat..
Eltávolíthatok néhány ilyen könyvtárat?
Ne távolítsa el a DirectX könyvtárakat a System32 mappában vagy a SysWOW64 mappában. Ha jelen vannak a rendszerben, azért van szükség, mert egy játék vagy más alkalmazás telepítve van. Ha elkezdi eltávolítani a könyvtárfájlokat, az alkalmazások megszakadhatnak. Nem lehet igazán megmondani, hogy melyik DirectX-könyvtárfájlra van szükség a rendszerben lévő játékokhoz, így nem lehet tudni, hogy melyik biztonságos eltávolítható.
Hagyd őket békén! Ennek oka van, hogy nincsenek hivatalosan támogatott módja a könyvtárfájlok eltávolításának. Nem okoznak problémát a rendszerben, és csak azokat a alkalmazásokat használják, amelyek ezeket igénylik.
Ha tényleg kétségbeesetten szeretné megtisztítani ezeket a régi könyvtárakat, jobb, ha újratelepítené a Windows rendszert, hogy friss rendszert kapjon a könyvtárfájlok véletlenszerű törlése helyett. A játékok telepítése után azonban újra elkezdenek megjelenni. Ne aggódj róla.
Mit tehetek, ha DirectX problémákat tapasztalok?
Ha a játék futtatásakor vagy telepítésekor DirectX-rel kapcsolatos hibaüzenetet lát, akkor lehetséges, hogy a játék telepítője nem fut megfelelően a mellékelt DirectX újraelosztható telepítővel. Nem csak a DirectX telepítőjét töltheti le a Microsoft webhelyéről, de a telepítőnek futtatnia kell a játékot.
Lehet, hogy a rendszer mappájában vagy a játék telepítőlemezén léphet be a játék mappájába, keresse meg a DIrectX telepítő .exe fájlt, és futtassa azt a probléma megoldásához. Ez a fájl általában DXSETUP.exe.
Általában több információt kaphat arról, hogyan lehet megoldani a problémát, ha webes keresést végez a játék vagy alkalmazás nevének és az adott DirectX-hibaüzenetnek a segítségével.