Proč každá počítačová hra instaluje vlastní kopii rozhraní DirectX?
DirectX je součástí operačního systému Windows. Tak proč se zdá, že každá počítačová hra, kterou instalujete z Steam, Origin nebo jinde, nainstaluje vlastní kopii rozhraní DirectX?
Co je DirectX?
DirectX je součástí systému Microsoft Windows. Jedná se o skupinu rozhraní API (aplikační programovací rozhraní), které vývojáři mohou používat pro 3D grafické, video, multimediální, zvukové a gamepadové funkce v systému Windows. Mnoho her v systému Windows používá grafické rozhraní Direct3D Direct3D. Pokud tomu tak není, používají namísto toho platformy OpenGL nebo Vulkan API. Jiné neherové aplikace mohou používat funkce DirectX pro funkce, jako je například 3D grafika.
Systém Windows 7 obsahuje rozhraní DirectX 11 a systém Windows 10 obsahuje rozhraní DirectX 12. Když vývojáři vyvíjejí hry, zvolí si verze DirectX, které chtějí cílit. Například hra napsaná pouze pro DirectX 11 nebude spuštěna v systému Windows XP, kde je nejnovější dostupnou verzí DirectX 9.
Můžete zkontrolovat verzi systému DirectX, která je k dispozici ve vašem systému, klepnutím na tlačítko Start, zadáním "dxdiag" do vyhledávacího pole a stisknutím klávesy Enter. Když se objeví okno nástroje Diagnostika rozhraní DirectX, zobrazí se číslo verze vpravo od verze "DirectX Version" v části "Systémové informace".
Pokud je součástí systému Windows, proč je instalace her?
Takže pokud je DirectX součástí Windows, proč se hry na první místo nainstalují? Krátká odpověď je, že instalace rozhraní DirectX je nepořádek.
Neexistuje pouze jedna hra s knihovnou DirectX Direct3D, nebo dokonce jen hrstka. Vývojáři hry se musí zaměřit na přesnou verzi knihovny pomocníků Direct3D. Novější verzi knihovny nelze použít. Pokud například herní vývojář cílí svou hru na d3ddx10_40.dll, hra nemůže používat d3ddx10_41.dll. Potřebuje verzi 40 a bude dělat pouze tento soubor.
Tyto soubory naleznete ve složce C: \ Windows \ System32 v systému. Na 64bitovém systému jsou 64bitové knihovny umístěny v C: \ Windows \ System32 a 32bitové knihovny jsou umístěny v C: \ Windows \ SysWOW64.
I když jste spustili nejnovější instalační program DirectX, není zárukou, že nainstaluje všechny staré drobné verze knihoven rozhraní DirectX na váš systém. Společnost Microsoft se rovněž rozhodla, že tyto soubory knihovny Direct3D nebudou svázány s Windows samotným. Dokonce ani knihovny Direct3D vytvořené před vydáním systému Windows 10 nejsou součástí systému Windows 10. Musí být nainstalovány aplikací, která je potřebuje. Jak uvádí společnost Microsoft v dokumentaci určené vývojářům her, "Windows Update a Service Pack neposkytují žádné volitelné součásti rozhraní DirectX".
Dokonce se to komplikuje. 32bitové hry potřebují 32bitové verze souboru knihovny a 64bitové hry potřebují 64bitovou knihovnu.
To je podobné situaci s knihovnami Redistributable Microsoft Visual C ++. Různé aplikace závisí na různých verzích knihoven a je třeba nainstalovat mnoho různých verzí. Existuje dobrá šance, že na vašem systému máte také mnoho nainstalovaných.
Ale proč je nutné, aby každá hra s počítačem byla znovu nainstalována?
Ok, takže každá hra musí nainstalovat přesně menší verzi knihoven rozhraní DirectX, které vyžaduje. Pokud jste však již jednou nainstalovali tuto konkrétní verzi knihovny rozhraní DirectX, určitě nemusí hra spustit správce instalačního programu DirectX?
Špatně. Není možné, aby hry snadno zkontrolovaly, zda jsou nainstalovány správné knihovny rozhraní DirectX, které potřebují. Jako poznámky k webu společnosti Steam, instalátor Microsoft DirectX je jediným oficiálně podporovaným způsobem, jak zkontrolovat, zda jsou aktuálně nainstalovány správné soubory DirectX. Hry spustit instalační program rozhraní DirectX, často v pozadí, který nainstaluje libovolné potřebné knihovny a opravuje všechny problémy v systému.
Instalační program DirectX je také jediný způsob, jakým společnost Microsoft umožňuje vývojářům distribuovat tyto soubory. Vývojáři se nemůžou snažit být chytří tím, že přímo přenese knihovny DirectX do vašeho systému a vynechá instalační program, nebo by porušili softwarovou licenci společnosti MIcrosoft. Také by se dostali do různých chyb, i kdyby to zkusili. To je důvod, proč to nikdo neudělá.
Samozřejmě, ne všechny hry musí skutečně spustit instalační program DirectX při prvním spuštění. Hry, které používají OpenGL nebo Vulkan spíše než Direct3D rozhraní DirectX, nebudou potřebovat spuštění. Některé hry také závisí pouze na hlavních verzích DirectX, jako je DirectX 11, 10 nebo 9, a nemusejí volat instalační program DirectX, protože nepoužívají žádnou z těchto pomocných knihoven.
Mohu odstranit některé z těchto knihoven?
Neměli byste odebrat žádné knihovny rozhraní DirectX ve složce System32 nebo ve složce SysWOW64. Jsou-li přítomni ve vašem systému, je to proto, že je potřebovala hra nebo jiná instalovaná aplikace. Pokud začnete odstraňovat soubory knihovny, aplikace by se mohly přerušit. Neexistuje žádný způsob, jak skutečně říct, které soubory knihovny rozhraní DirectX jsou vyžadovány, které hry ve vašem systému, takže neexistuje žádný způsob, jak vědět, které jsou bezpečné odstranit.
Nech je o samotě! Existuje důvod, proč neexistuje oficiálně podporovaný způsob, jak tyto soubory knihovny odinstalovat. Nebudou způsobovat žádné problémy ve vašem systému a budou použity pouze v aplikacích, které je vyžadují.
Pokud jste opravdu zoufalí vyčistit tyto staré knihovny, je lepší přeinstalovat systém Windows a získat nový systém namísto náhodného mazání souborů knihovny. Ale po instalaci her se začnou znovu objevovat. Nebojte se o to.
Co mohu dělat, když mám problémy s DirectX?
Pokud se během pokusu o spuštění nebo instalaci hry zobrazí chybová zpráva týkající se rozhraní DirectX, je možné, že instalační program hry neobsahuje správně nainstalovaný instalační program redigování DirectX. Nemůžete stáhnout instalační program DirectX z webových stránek společnosti Microsoft - musíte spustit instalační program, který hra vyžaduje.
Můžete se dostat do složky hry ve vašem systému nebo na instalačním disku hry, vyhledejte instalační soubor .exe instalačního programu DIrectX a spusťte jej, abyste tento problém vyřešili. Tento soubor je obecně nazýván DXSETUP.exe.
Obvykle získáte další informace o tom, jak problém vyřešit tím, že vyhledáte název hry nebo aplikace a konkrétní chybovou zprávu DirectX, kterou vidíte.