11Aug

Kāpēc katra datora spēle instalē savu DirectX kopiju?

DirectX ir daļa no Windows operētājsistēmas. Tātad, kāpēc šķiet, ka katra datora spēle, kuru instalējat no Steam, Origin vai citur, instalē savu DirectX kopiju?

Kas ir DirectX?

DirectX ir daļa no Microsoft Windows. Tā ir API grupa( lietojumprogrammu saskarnes), ko izstrādātāji var izmantot Windows 3D grafikas, video, multivides, skaņas un spēlēšanas panelī.Daudzās Windows versijās grafikas izmanto DirectX Direct3D.Ja tie nav, tie vietā izmanto starpplatformu OpenGL vai Vulkan API.Citas spēles ārpus spēles var izmantot DirectX tādām funkcijām kā 3D grafika.

Windows 7 ietver DirectX 11, un Windows 10 ietver DirectX 12. Kad izstrādātāji izstrādā spēles, viņi izvēlas DirectX versijas, kuras vēlas atlasīt. Piemēram, spēle, kas rakstīta tikai DirectX 11, nedarbosies operētājsistēmā Windows XP, kur jaunākā pieejamā versija ir DirectX 9.

Jūs varat pārbaudīt savā sistēmā pieejamo DirectX versiju, noklikšķinot uz pogas Sākt, ierakstot "dxdiag"meklēšanas lodziņš un nospiežot taustiņu Enter. Kad tiek parādīts logs DirectX diagnostikas rīks, sadaļā "Sistēmas informācija" parādīsies "DirectX versijas" labajā pusē redzamais versijas numurs.

Ja tas ir iekļauts sistēmā Windows, kāpēc spēles instalē to?

Tātad, ja DirectX ir daļa no Windows, kāpēc spēles pat instalē to vispirms?Īsā atbilde ir tā, ka DirectX instalēšana ir haoss.

No ne tikai viena DirectX Direct3D bibliotēkas spēles ir atkarīgas vai pat tikai nedaudz. Spēļu izstrādātājiem jākoncentrējas uz Direct3D palīdzības bibliotēkas precīzu versiju. Jaunāko bibliotēkas versiju nevar izmantot. Piemēram, ja spēles izstrādātājs mērķauditoriju atlasīja spēlē d3ddx10_40.dll, spēle nevar izmantot d3ddx10_41.dll. Tam nepieciešama 40. versija, un tikai šis fails notiks.

Jūs atradīsiet šos failus savā sistēmā esošajā mapē C: \ Windows \ System32.64 bitu sistēmā 64 bitu bibliotēkas atrodas C: \ Windows \ System32 un 32 bitu bibliotēkas atrodas C: \ Windows \ SysWOW64.

Pat tad, ja esat palaistu jaunāko DirectX instalēšanas programmu, nav garantijas, ka tā instalēs visas vecās mazās DirectX bibliotēku versijas jūsu sistēmā.Microsoft arī izvēlējās nekomplektēt šos Direct3D bibliotēkas failus ar pašu Windows. Piemēram, pat Windows 10 versijās izveidotās Direct3D bibliotēkas netika iekļautas sistēmā Windows 10. Tās jāuzstāda lietojumprogrammai, kurai tās vajadzīgas. Kā Microsoft piezīmē dokumentācijā, kas paredzēta spēļu izstrādātājiem, "Windows atjaunināšana un servisa pakotnes nenodrošina nevienu no DirectX izvēles komponentiem".

Tas pat kļūst sarežģītāks nekā tas.32 bitu spēlēm nepieciešamas bibliotēkas faila 32 bitu versijas, un 64 bitu spēlēm ir nepieciešama 64 bitu bibliotēka.

Tas ir līdzīgs situācijai ar Microsoft Visual C + + Redistributable bibliotēkām. Dažādas programmas ir atkarīgas no dažādām bibliotēku versijām, un jums ir jābūt uzstādītām daudzām dažādām versijām. Pastāv labas izredzes, ka jums ir daudz to, kas jūsu sistēmā ir instalēti.

Bet kāpēc katram datora spēlei tas ir jāpārinstalē?

Labi, tāpēc katrai spēlei ir jāinstalē precīza neliela DirectX bibliotēku versija, kas to prasa. Bet, ja jūs jau esat instalējuši šo konkrēto DirectX bibliotēkas versiju vienu reizi, protams, spēlei nav jāuzstāda DirectX instalētājs - pa labi?

Nepareizs. Spēlēm nav iespējams viegli pārbaudīt, vai ir instalētas nepieciešamās DirectX bibliotēkas. Kā atzīmē Steam atbalsta vietne, Microsoft DirectX instalētājs ir vienīgais oficiāli atbalstītais veids, kā pārbaudīt, vai pareizi tiek instalēti DirectX faili. Spēles palaiž DirectX instalēšanas programmu, bieži vien fonā, kurā tiek instalētas nepieciešamās bibliotēkas un tiek novērstas sistēmas problēmas.

DirectX instalētājs ir vienīgais veids, kā Microsoft ļauj izstrādātājiem izplatīt šos failus. Izstrādātāji nevar mēģināt būt gudri, tieši noklājot DirectX bibliotēkas savā sistēmā un izlaižot instalētāju, vai arī viņi pārkāpj MIcrosoft programmatūras licenci. Viņi arī varētu nonākt dažādos bugs, pat ja viņi mēģināja to. Tāpēc neviens nedara.

Protams, ne visām spēlēm faktiski ir jāuzbrāda DirectX instalētājs, kad tos pirmo reizi palaižat. Spēles, kurās izmanto OpenGL vai Vulkan, nevis DirectX Direct3D, nebūs jāuzsāk. Dažas spēles arī ir atkarīgas tikai no galvenajām DirectX versijām, piemēram, DirectX 11, 10 vai 9, un nav nepieciešams izsaukt DirectX instalēšanas programmu, jo tās neizmanto nevienu no šīm palīgs bibliotēkām.

Vai es varu noņemt dažas no šīm bibliotēkām?

Nevar noņemt kādu no DirectX bibliotēkām mapē System32 vai SysWOW64.Ja tie atrodas jūsu sistēmā, tas ir tāpēc, ka nepieciešama spēle vai cita instalēta programma. Ja jūs sākat noņemt bibliotēkas failus, programmas var pārtraukt. Nav iespējams īsti pateikt, kuriem DirectX bibliotēkas failiem ir nepieciešamas kādas spēles jūsu sistēmā, tādēļ nav iespējams uzzināt, kuras ir drošas noņemšanas.

Atstājiet tos vienatnē!Pastāv iemesls, kāpēc nav oficiāli atbalstīta šo bibliotēkas failu atinstalēšana. Tās neradīs problēmas jūsu sistēmā, un tās izmantos tikai tās lietojumprogrammas, kurām tās ir vajadzīgas.

Ja jūs patiešām izmisumā vēlaties iztīrīt šīs vecās bibliotēkas, labāk ir atkārtoti instalēt sistēmu Windows, lai iegūtu svaigu sistēmu, nevis nejauši izdzēšot bibliotēkas failus. Bet viņi pēc tam, kad jūs instalēsit spēles, sāks atkal parādīties šeit. Neuztraucieties par to.

Ko es varu darīt, ja man ir problēmas ar DirectX?

Ja, mēģinot palaist vai instalēt spēli, tiek parādīts ar DirectX saistīts kļūdas ziņojums, iespējams, ka spēles uzstādītājs pareizi neizmanto iekļauto DirectX pārdalāmo instalēšanas programmu. Jūs nevarat vienkārši lejupielādēt DirectX instalētāju no Microsoft tīmekļa vietnes, lai gan - jums ir jāuzstāda uzstādītājs, kas pati par sevi ir nepieciešama spēle.

Iespējams, jūs varat iekļūt spēles mapē savā sistēmā vai spēles instalācijas diskā, atrodiet failu DIrectX installer. Exe un izpildiet to, lai novērstu problēmu.Šo failu parasti sauc par DXSETUP.exe.

Parasti jūs varat iegūt vairāk informācijas par to, kā novērst problēmu, veicot tīmekļa meklēšanu spēles vai lietojumprogrammas nosaukumā un konkrētajā DirectX kļūdas ziņojumā, kuru redzat.