11Aug
DirectX jest częścią systemu operacyjnego Windows. Dlaczego więc każda gra na PC instalowana przez Steam, Origin lub gdziekolwiek indziej instaluje własną kopię DirectX?
Czym jest DirectX?
DirectX jest częścią systemu Microsoft Windows. Jest to grupa API( interfejsów programowania aplikacji), którą programiści mogą używać do grafiki 3D, wideo, multimediów, dźwięku i funkcji gamepada w systemie Windows. Wiele gier w systemie Windows korzysta z Direct3D DirectX do grafiki. Jeśli nie, używają międzyplatformowego API OpenGL lub Vulkan API.Inne aplikacje niebędące grami mogą korzystać z DirectX do takich funkcji, jak grafika 3D.
Windows 7 zawiera DirectX 11, a Windows 10 zawiera DirectX 12. Kiedy programiści opracowują gry, wybierają wersje DirectX, które chcą kierować.Na przykład gra napisana tylko dla DirectX 11 nie działa w systemie Windows XP, gdzie najnowszą dostępną wersją jest DirectX 9.
Możesz sprawdzić wersję DirectX dostępną w twoim systemie, klikając przycisk Start, wpisując "dxdiag" ww polu wyszukiwania i naciśnij Enter. Kiedy pojawi się okno narzędzia diagnostycznego DirectX, zobaczysz numer wersji po prawej stronie "wersji DirectX" w "Informacje o systemie".
Jeśli jest dołączony do systemu Windows, dlaczego gry go instalują?
Jeśli więc DirectX jest częścią systemu Windows, dlaczego gry są instalowane w pierwszej kolejności? Krótka odpowiedź brzmi, że instalacja DirectX to bałagan.
Istnieje nie tylko jedna biblioteka bibliotek DirectX Direct3D, ale także tylko garstka. Twórcy gier muszą kierować się dokładną wersją biblioteki pomocniczej Direct3D.Nie można użyć nowszej wersji biblioteki. Na przykład, jeśli twórca gry kierował swoją grę na d3ddx10_40.dll, gra nie może użyć d3ddx10_41.dll. Potrzebuje wersji 40 i tylko ten plik będzie działał.
Pliki te znajdziesz w folderze C: \ Windows \ System32 w twoim systemie. W 64-bitowym systemie 64-bitowe biblioteki znajdują się w C: \ Windows \ System32, a 32-bitowe biblioteki znajdują się w C: \ Windows \ SysWOW64.
Nawet jeśli uruchomiłeś najnowszy instalator DirectX, nie ma gwarancji, że zainstaluje on wszystkie stare, niewielkie wersje bibliotek DirectX w twoim systemie. Microsoft zdecydował się również nie łączyć tych plików biblioteki Direct3D z samym systemem Windows. Nawet biblioteki Direct3D utworzone przed wydaniem Windows 10, na przykład, nie są zawarte w Windows 10. Muszą być zainstalowane przez aplikację, która ich potrzebuje. Jak zauważa Microsoft w dokumentacji przeznaczonej dla twórców gier, "Windows Update i Service Pack nie zapewniają żadnych opcjonalnych komponentów DirectX".
Jest nawet bardziej skomplikowany. Gry 32-bitowe wymagają 32-bitowych wersji pliku biblioteki, a gry 64-bitowe wymagają biblioteki 64-bitowej.
Jest to podobne do sytuacji w bibliotekach redystrybucyjnych Microsoft Visual C ++.Różne aplikacje zależą od różnych wersji bibliotek i trzeba zainstalować wiele różnych wersji. Jest duża szansa, że masz wiele zainstalowanych w twoim systemie.
Ale dlaczego każda gra na PC musi zostać ponownie zainstalowana?
Dobrze, więc każda gra musi zainstalować dokładną wersję biblioteki DirectX, której wymaga. Ale jeśli już raz zainstalowałeś tę konkretną wersję biblioteki DirectX, z pewnością gra nie musi uruchamiać instalatora DirectX - prawda?
Źle. Nie ma możliwości łatwego sprawdzenia, czy zainstalowane są odpowiednie biblioteki DirectX, których potrzebują.Jak zauważa serwis wsparcia Steam, instalator DirectX Microsoftu jest jedynym oficjalnie obsługiwanym sposobem sprawdzania, czy aktualnie są zainstalowane poprawne pliki DirectX.Gry uruchamiają instalator DirectX, często w tle, który instaluje dowolne wymagane biblioteki i naprawia wszelkie problemy w systemie.
Instalator DirectX jest również jedynym sposobem, w jaki firma Microsoft umożliwia programistom dystrybucję tych plików. Programiści nie mogą starać się być sprytni, upuszczając biblioteki DirectX bezpośrednio z systemu i pomijając instalator, lub złamaliby licencję oprogramowania MIcrosoft. Prawdopodobnie napotkaliby różne błędy, nawet gdyby spróbowali tego. Dlatego nikt tego nie robi.
Oczywiście, nie wszystkie gry muszą uruchomić instalator DirectX po ich pierwszym uruchomieniu. Gry korzystające z OpenGL lub Vulkan, a nie DirectX DirectX nie będą musiały go uruchamiać.Niektóre gry zależą tylko od głównych wersji DirectX, takich jak DirectX 11, 10 lub 9, i nie wymagają wywoływania instalatora DirectX, ponieważ nie używają żadnej z tych bibliotek pomocniczych.
Czy mogę usunąć niektóre z tych bibliotek?
Nie należy usuwać żadnej z bibliotek DirectX w folderze System32 lub folderze SysWOW64.Jeśli są obecne w twoim systemie, to dlatego, że potrzebna im gra lub inna zainstalowana aplikacja. Jeśli zaczniesz usuwać pliki biblioteki, aplikacje mogą się zepsuć.Nie ma sposobu, aby naprawdę powiedzieć, które pliki biblioteki DirectX są wymagane przez gry w twoim systemie, więc nie ma sposobu, aby dowiedzieć się, które z nich można bezpiecznie usunąć.
Pozostaw je w spokoju! Jest powód, dla którego nie ma oficjalnie obsługiwanego sposobu odinstalowania tych plików biblioteki. Nie spowodują żadnych problemów w systemie i będą używane tylko przez aplikacje, które ich wymagają.
Jeśli naprawdę chcesz wyczyścić stare biblioteki, lepiej przeinstalować system Windows, aby uzyskać nowy system zamiast losowego usuwania plików bibliotecznych. Ale i tak zaczną się tutaj ponownie pojawiać po zainstalowaniu gier. Nie przejmuj się tym.
Co mogę zrobić, jeśli mam problemy z DirectX?
Jeśli podczas próby uruchomienia lub zainstalowania gry zobaczysz komunikat o błędzie związany z DirectX, możliwe, że instalator gry nie obsługuje poprawnie dostarczonego instalatora redystrybucyjnego DirectX.Nie możesz jednak pobrać instalatora DirectX ze strony Microsoftu - musisz uruchomić instalator, którego sama gra wymaga.
Być może uda ci się wejść do folderu gry w systemie lub na dysku instalacyjnym gry, zlokalizować plik. exe instalatora DIrectX i uruchomić go, aby rozwiązać problem. Ten plik nazywa się ogólnie DXSETUP.exe.
Zazwyczaj można uzyskać więcej informacji o tym, jak rozwiązać problem, wykonując wyszukiwanie w Internecie nazwy gry lub aplikacji oraz określonego komunikatu o błędzie DirectX, który widzisz.