11Aug

Miks iga PC-mäng installib oma DirectX-i koopia?

DirectX on Windowsi operatsioonisüsteemi osa. Miks siis iga arvutimonitori mäng, mille installite Steamilt, päritolust või mujalt, installib oma DirectX-i koopia?

Mis on DirectX?

DirectX on Microsofti Windowsi osa. See on API-liides( rakendusprogrammide liidesed), mida arendajad saavad Windowsis kasutada 3D graafika-, video-, multimeedia-, heli- ja mängukonsoolide funktsioonide jaoks. Paljud Windowsi mängud kasutavad graafika jaoks DirectX Direct3D-d. Kui nad seda ei tee, kasutavad nad selle asemel platvormiüleseid OpenGL-i või Vulkani API-sid. Muud mängud, mis ei kuulu mängust, võivad kasutada DirectX-i selliste funktsioonide jaoks nagu 3D-graafika.

Windows 7 sisaldab DirectX 11 ja Windows 10 sisaldab DirectX 12. Kui arendajad arendavad mänge, valivad nad DirectX-i versioonid, mida nad soovivad sihtida. Näiteks ainult DirectX 11 jaoks kirjutatud mängud ei tööta Windows XP-s, kus uusim võimalik versioon on DirectX 9.

Saate kontrollida oma süsteemis oleva DirectX versiooni, klõpsates nupul Start, sisestades "dxdiag"otsingukasti ja vajutades Enter. Kui ilmub DirectXi diagnostika tööriista aken, näete versiooni numbrit "System Information" all "DirectX Version" paremal.

Kui see on Windowsiga kaasas, siis miks mängud seda installivad?

Nii et kui DirectX on Windowsi osa, siis miks mängud installivad seda ka kõigepealt? Lühike vastus on see, et DirectXi installimine on segadus.

Seal ei ole ainult üks DirectX Direct3D raamatukogu mängud sõltuvad või isegi ainult käputäis. Mängude arendajad peavad sihtima Direct3D abifirma täpse versiooni. Raamatukogu uusimat versiooni ei saa kasutada. Näiteks kui mängu arendaja suunab oma mängu d3ddx10_40.dll, ei saa mängu kasutada d3ddx10_41.dll. See vajab versiooni 40 ja ainult seda faili teeb.

Leiate need failid oma süsteemis olevasse kausta C: \ Windows \ System32.64-bitisel süsteemil paiknevad 64-bitised raamatukogud C: \ Windows \ System32-s ja 32-bitised raamatukogud asuvad C: \ Windows \ SysWOW64-s.

Isegi kui olete käivitanud uusima DirectXi installeri, pole garantiid, et ta installib kõik sinu süsteemi DirectXi raamatukogude vanad väiksemad versioonid. Microsoft on samuti otsustanud neid Direct3D-i teegi faile komplekteerida ka Windowsiga ise. Näiteks isegi Windows 10-le välja antud Direct3D-i teegid ei kuulu kõik Windows 10-sse. Neid peab installima rakendus, mis neid vajab. Nagu Microsoft märgib mängude arendajatele mõeldud dokumentatsioonis, ei paku Windowsi värskendused ja hoolduspaketid ühtegi DirectXi valikulist komponenti.

See muutub isegi keerukamaks.32-bitised mängud vajavad raamatukogu faili 32-bitiseid versioone ja 64-bitised mängud vajavad 64-bitist raamatukogu.

See sarnaneb Microsoft Visual C + + Redistributable raamatukogude olukorrale. Erinevad rakendused sõltuvad raamatukogude erinevatest versioonidest ja teil peab olema installitud palju erinevaid versioone. On hea võimalus, et teil on palju ka teie süsteemile installitud.

aga miks peaks iga PC-mäng selle uuesti installima?

Olgu, nii et iga mäng peab installima DirectX-i raamatukogude täpse väiksema versiooni, mida see vajab. Aga kui olete juba selle DirectX-i teegi konkreetse versiooni juba installinud, siis kindlasti ei pea mäng mängima DirectX-i installerit?

Vale. Mängudele pole lihtne kontrollida, kas need õiged DirectXi raamatukogud, mida nad vajavad, on installitud. Steam'i tugiteenuste märkuste kohaselt on Microsofti DirectX-i installeriks ainus ametlikult toetatav viis kontrollida, kas õiged DirectX-failid on praegu installitud. Mängud käitavad DirectX installerit, sageli taustal, mis installib kõik vajalikud raamatukogud ja parandab süsteemis mis tahes probleeme.

DirectX installer on ka ainus viis, kuidas Microsoft võimaldab arendajatel neid faile levitada. Arendajad ei saa proovida olla targad, jättes DirectX-i teekid teie süsteemile otse ja jättes vahele paigaldaja või rikkudes Microsofti tarkvara litsentsi. Tõenäoliselt satuvad nad ka erinevate vigu, isegi kui nad seda proovisid. Sellepärast keegi ei tee.

Loomulikult ei pea kõik mängud DirectX-i installeri käivitamisel esmakordselt käivitama. Mängud, mis kasutavad OpenGL või Vulkanit, mitte DirectX Direct3D-d, ei pea seda käivitama. Mõned mängud sõltuvad ainult DirectXi põhiversioonidest, nagu DirectX 11, 10 või 9, ja ei pea DirectX-i installerit helistama, kuna nad ei kasuta ühtegi neist abimeetmete raamatukogudest.

Kas ma võin mõned neist raamatukogudest eemaldada?

Te ei tohiks eemaldada ühtegi DirectX-i teeki kaustast System32 või SysWOW64.Kui nad teie süsteemis viibivad, on see vajalik sellepärast, et teie installitud mäng või muu rakendus seda vajasid. Kui teete raamatukogu failide eemaldamise, võivad rakendused puruneda. Milliseid DirectX-i teegifaile ei nõuta, milliste mängude teie süsteemis on vaja, ei ole mingit võimalust, mistõttu ei ole võimalik teada, mida on ohutult eemaldada.

jätke need üksi! Sellel põhjusel puudub see raamatukogu failide desinstallimiseks ametlikult toetatud viis. Nad ei tekita teie süsteemis mingeid probleeme ja neid kasutavad ainult need rakendused, mis neid nõuavad.

Kui te olete tõesti meeleheitel nende vanade raamatukogude koristamiseks, siis on parem Windowsi uuesti installida värske süsteemi saamiseks, selle asemel, et juhuslikult kustutada raamatukogu faile. Kuid pärast mängude installimist hakkavad nad uuesti ilmuma.Ära muretse selle pärast.

Mida ma saan teha, kui mul on DirectXi probleeme?

Kui näete DirectXiga seotud veateadet, kui proovite mängida või installida, on mängu installeril võimalik, et see ei sisalda otseselt DirectXi levitatava installeri õigesti. Te ei saa lihtsalt alla laadida DirectX installerit Microsofti veebisaidilt, kuigi peate käivitama installija, mida mäng ise nõuab.

Võimalik, et võite minna mängu süsteemi kausta või mängu installiketta, leida DIrectX installi. exe-fail ja käivitage see probleemi lahendamiseks. Seda faili nimetatakse tavaliselt DXSETUP.exe.

Tavaliselt saate rohkem teavet selle kohta, kuidas probleemi lahendada, sooritades veebiotsingu mängu või rakenduse nime ja konkreetse DirectXi tõrketeate nägemisega.