If-Koubou

Защо всяка компютърна игра инсталира своето собствено копие на DirectX?

Защо всяка компютърна игра инсталира своето собствено копие на DirectX? (Как да)

DirectX е част от операционната система Windows. Така че защо изглежда, че всяка компютърна игра, която инсталирате от Steam, Origin или другаде, инсталира собствено копие на DirectX?

Какво представлява DirectX?

DirectX е част от Microsoft Windows. Това е група API (интерфейси за програмиране на приложения), които разработчиците могат да използват за 3D графики, видео, мултимедия, звук и геймпад на Windows. Много игри в Windows използват Direct3D за графики на DirectX. Ако не, те използват вместо това платформите OpenGL или Vulkan API. Други приложения, които не са свързани с игри, могат да използват DirectX за функции като 3D графики.

Windows 7 включва DirectX 11, а Windows 10 включва DirectX 12. Когато разработчиците разработват игри, те избират версиите на DirectX, които искат да бъдат насочени. Например, игра, написана само за DirectX 11, няма да се изпълнява на Windows XP, като най-новата версия е DirectX 9.

Можете да проверите версията на DirectX, налична в системата, като кликнете върху бутона "Старт", като въведете "dxdiag" в полето за търсене и натиснете Enter. Когато се появи прозорецът за диагностика на DirectX, ще видите номера на версията вдясно от "DirectX Version" под "Системна информация".

Ако това е включено в Windows, защо се инсталират игри?

Така че, ако DirectX е част от Windows, защо игри дори го инсталирате на първо място? Краткият отговор е, че инсталирането на DirectX е бъркотия.

Не съществува само една библиотека DirectX Direct3D от библиотеката, или дори само една шепа. Разработчиците на игри трябва да са насочени към точна версия на библиотеката за помощници на Direct3D. Не може да се използва по-нова версия на библиотеката. Например, ако даден играч разработчик е насочил играта си на d3ddx10_40.dll, играта не може да използва d3ddx10_41.dll. Тя се нуждае от версия 40, и само този файл ще направи.

Тези файлове ще намерите в папката C: \ Windows \ System32 на вашата система. На 64-битова система 64-битовите библиотеки се намират в C: \ Windows \ System32 и 32-битовите библиотеки се намират в C: \ Windows \ SysWOW64.

Дори ако сте стартирали най-новия инсталатор на DirectX, няма гаранция, че ще инсталира всички стари малки версии на DirectX библиотеките на вашата система. Microsoft също така избра да не обвързва тези библиотечни файлове на Direct3D със самия Windows. Дори библиотеките Direct3D, създадени преди издаването на Windows 10, не са включени в Windows 10. Те трябва да бъдат инсталирани от приложение, което се нуждае от тях. Както отбелязва Microsoft в документацията, предназначена за разработчиците на игри, "Windows Update и Service Packs не предоставят никакви опционални компоненти на DirectX".

Тя дори става по-сложна от това. 32-битовите игри се нуждаят от 32-битовите версии на файла на библиотеката, а 64-битовите игри се нуждаят от 64-битовата библиотека.

Това е подобно на ситуацията с библиотеките на Microsoft Visual C ++ Redistributable. Различните приложения зависят от различните версии на библиотеките и трябва да имате инсталирани много различни версии. Има голяма вероятност да имате и много от тези инсталирани на вашата система.

Но защо всяка компютърна игра трябва да я преинсталира?

Добре, така че всяка игра трябва да инсталира точната незначителна версия на библиотеките на DirectX, която изисква. Но ако вече сте инсталирали тази конкретна версия на библиотека DirectX веднъж, със сигурност играта не трябва да стартира DirectX инсталатора - нали?

Грешен. Няма начин игрите лесно да проверят дали са инсталирани правилните библиотеки от DirectX. Както се отбелязва в сайта за поддръжка на Steam, инсталаторът на DirectX на Microsoft е единственият официално поддържан начин да проверите дали в момента са инсталирани правилните DirectX файлове. Игрите изпълняват инсталатора на DirectX, често във фонов режим, който инсталира необходимите библиотеки и ремонтира всички проблеми в системата.

Инсталаторът на DirectX е единственият начин, по който Microsoft позволява на разработчиците да разпространяват тези файлове. Разработчиците не могат да се опитат да бъдат умни, като пуснат DirectX библиотеките на вашата система директно и да пропуснат инсталатора, или пък биха нарушили софтуера на MIcrosoft. Вероятно щеше да се натъкне на различни бъгове, дори и да опитаха това. Ето защо никой не прави това.

Разбира се, не всички игри всъщност трябва да пускат инсталатора на DirectX, когато ги пускате за първи път. Игрите, които използват OpenGL или Vulkan вместо Direct3D на DirectX, няма да се наложи да го пускат. Някои игри също зависят само от основните версии на DirectX като DirectX 11, 10 или 9 и не е нужно да се обаждате на инсталатора на DirectX, защото те не използват нито една от тези помощни библиотеки.

Мога ли да премахна някои от тези библиотеки?

Не бива да премахвате библиотеките на DirectX в папката System32 или в папката SysWOW64. Ако те присъстват във вашата система, това е така, защото една игра или друго приложение, което сте инсталирали, им е било нужно. Ако започнете да премахвате библиотечните файлове, приложенията могат да се счупят. Няма начин да разберете кои директно библиотечни файлове от DirectX се изискват от кои игри на вашата система, така че няма начин да знаете кои са безопасни за премахване.

Остави ги на мира! Има причина да няма официално поддържан начин за деинсталиране на тези библиотечни файлове. Те няма да причиняват проблеми на вашата система и ще бъдат използвани само от приложения, които ги изискват.

Ако наистина сте отчаян да почистите тези стари библиотеки, по-добре е да преинсталирате Windows, за да получите нова система, вместо да изтривате случайно библиотечните файлове. Но те ще започнат да се появяват тук, след като инсталирате игри, така или иначе. Не се притеснявайте за това.

Какво мога да направя, ако имам проблеми с DirectX?

Ако виждате съобщение за грешка, свързано с DirectX, докато се опитвате да стартирате или инсталирате игра, възможно е инсталаторът на играта да не изпълнява правилно инсталирания от него инсталиран DirectX redistributable.Не можете просто да изтеглите инсталатора на DirectX от уебсайта на Microsoft, но трябва да изпълните инсталатора, който самата игра изисква.

Възможно е да влезете в папката на играта на вашата система или на инсталационния диск на играта, намерете файла .exe инсталатора на DIrectX и го стартирайте, за да отстраните проблема. Този файл обикновено се нарича DXSETUP.exe.

Обикновено можете да получите повече информация за това как да отстраните проблема, като направите търсене в мрежата за името на играта или приложението и конкретното съобщение за грешка на DirectX, което виждате.