DirectX є частиною операційної системи Windows. Так чому ж кожна гра, встановлювана з Steam, Origin або іншого джерела, вимагає свою власну копію DirectX?
Зміст статті
- Що таке DirectX?
- Якщо DirectX вже включений в Windows, то чому ігри встановлюють його?
- Але чому кожна ПК-гра повертається їх?
- Чи можу я видалити ці бібліотеки?
- Що робити, якщо у мене виникли проблеми з DirectX?
Що таке DirectX?
DirectX є частиною Windows. Це група API, яку розробники можуть використовувати для тривимірної графіки, мультимедіа, звуку і функцій геймпада для Windows. Багато гри на Windows використовують Direct3D і DirectX для своєї графіки. Якщо не його, то вони використовують такі кросплатформені API, як OpenGL або Vulkan. Інше ж, не ігрове програмне забезпечення, може використовувати DirectX, наприклад, для тривимірної графіки.
Windows 7 включає в себе DirectX 11, а Windows 10 — DirectX 12. Коли розробники розробляють комп’ютерні ігри, вони вибирають версію DirectX, на яку буде спиратися їх проект. Для прикладу, гра написана тільки під DirectX 11 не буде працювати на Windows XP, так як на ній доступний тільки DirectX 9 версії.
Ви можете перевірити версію DirectX на вашій системі з допомогою програми «Засіб діагностики DirectX». Натисніть на клавіатурі Windows+R, впишіть в порожню рядок dxdiag і натисніть Enter. Перед вами з’явитися віконце з інформацією про вашій системі. Знайдіть рядок «Версія DirectX» і побачите там необхідну для вас інформацію.
Якщо DirectX вже включений в Windows, то чому ігри встановлюють його?
Що ж, якщо DirectX вже є частиною Windows, то чому ігри встановлюють і вимагають його? Якщо коротко, то установка DirectX — це справжній бардак.
У природі не існує якоїсь однієї певної бібліотеки DirectX, Direct3D, на яку спираються всі ігри. Ігровим розробникам доводиться націлюватися на певну версію допоміжної бібліотеки Direct3D. Не можна просто використовувати самі останні бібліотеки і сподіватися, що гра запуститися. Для прикладу, якщо розробник ігри націлив її на бібліотеку d3ddx10_40.dll, то гра не може використовувати бібліотеку d3ddx10_41.dll. Їй потрібно 40-я версія і тільки вона.
Ви можете знайти ці бібліотеки DirectX своєму комп’ютері за адресою C:WindowsSystem32. На 64-бітних системах, 64-бітові бібліотеки розташовані за адресою C:WindowsSystem32, а 32-бітні в C:WindowsSysWOW64.
Навіть якщо ви запустите найсвіжіший установник DirectX, то немає ніякої гарантії, що він встановить всі раніше випущені допоміжні бібліотеки DirectX на вашу систему. Microsoft вирішила, що не буде акумулювати всі ці бібліотеки Direct3D в самій Windows. Навіть бібліотеки Direct3D, створені до виходу операційної системи Windows 10, не були включені в неї. Їх потрібно встановлювати з додатками, які їх потребують. Як Майкрософт помітили в документації, призначеної для розробників ігор, «Update і Сервісні пакети не надають ніяких опціональних компонентів DirectX».
Однак, все ще складніше, ніж здається. 32-бітні ігри вимагають бібліотеки 32-бітної розрядності, а 64-бітні, відповідно, 64-бітної розрядності. Схожа ситуація склалася і з бібліотеками Microsoft Visual Studio C++. Різні програми покладаються на різні версії бібліотек і вам потрібно встановлювати їх усіх.
Але чому кожна ПК-гра повертається їх?
Ок, кожна гра вимагає встановлених для себе проміжних версій бібліотек DirectX, щоб навіть запуститися. Однак, якщо у вас вже встановлена потрібна версія бібліотеки DirectX, то вам немає потреби запускати установник DirectX, вірно?
Невірно. Не існує способу, за допомогою якого гри б легко перевіряли, чи встановлені необхідні бібліотеки DirectX в системі чи ні. На сайті підтримки Steam вказали, що офіційний інсталятор Microsoft DirectX — це єдиний спосіб перевірити наявність необхідних бібліотек DirectX. Ігри запускають установник DirectX, часто на задньому фоні, який встановлює необхідні бібліотеки, а також вирішує будь-які проблеми в системі, пов’язані з ними.
Установник DirectX також є єдиним способом, яким Microsoft дозволяє розробникам поширювати файли даного програмного забезпечення. Розробники не можуть як-то по хитрому встановлювати на вашу систему бібліотеки DirectX, так як це буде вважатися порушенням ліцензії програмного забезпечення Microsoft. Крім іншого, на шляху б постала перешкода у вигляді купи помилок. Саме через зазначені причини ніхто і не намагається встановлювати DirectX по іншому.
Звичайно ж, не всі ігри в дійсності повинні запускати установник DirectX, коли ті вперше запускаються. Ігор, що використовують OpenGL або Vulkan, немає потреби використовувати бібліотеки DirectX. Деякі ігри також покладаються тільки на головні версії DirectX 9, DirectX 10 і DirectX 11 і їм немає потреби запускати установник DirectX, так як їм не потрібні допоміжні бібліотеки.
Чи можу я видалити ці бібліотеки?
Ви не повинні видаляти ніяких бібліотек DirectX з вашої папки System32 або SysWOW64. Якщо вони присутні в системі, то це тому, що встановлена вами гри або додаток вимагає для своєї роботи бібліотеки. Якщо ви почнете видаляти бібліотеки з системи, то програми не будуть запускатися або ж працювати некоректно. Не існує способу точно визначити, яка з бібліотек DirectX потрібно тій чи іншій грі/програми на вашому комп’ютері. Виходячи з цього, ви не зможете зрозуміти, яку з них можна спокійно видаляти.
Порада: залиште їх у спокої! Бібліотеки DirectX просто не можуть заподіювати якихось проблем для вашої системи. Вони будуть застосовуватися тільки тими іграми та програмами, які будуть мати потребу в них. Якщо ж ви так сильно хочете позбутися від них, від старих бібліотек, то простіше буде перевстановити систему, ніж намагатися у випадковому порядку видаляти їх. Однак, як тільки ви почнете встановлювати ігри — вони знову з’являться в системі. Так що навіть не заморачивайтесь.
Що робити, якщо у мене виникли проблеми з DirectX?
Якщо ви бачите помилку з повідомленням, що належать до DirectX, під час завантаження або установки гри, то, можливо, щось не так з установником DirectX, який був прикладений з встановленою грою. Ви не можете просто піти і завантажити установник DirectX з сайту Майкрософт, так як вам потрібно запустити інсталятор, який потрібно самій грі.
Ви можете спробувати пройти в директорію з грою у вашій системі або на диску з установником ігри, знайти там установник DirectX, який часто називається DXSETUP.exe і запустити безпосередньо його, не встановлюючи гру, щоб вирішити виниклу проблему.
Також ви можете отримати більше інформації про те, як вирішити проблему, виконавши пошуковий запит на ім’я гри або програми та повідомлення, зазначеного в помилку DirectX.