Perché ogni gioco per PC installa la propria copia di DirectX?
DirectX fa parte del sistema operativo Windows. Quindi, perché sembra che ogni gioco per PC che si installa da Steam, Origin o altrove installa la propria copia di DirectX?
Cos'è DirectX?
DirectX fa parte di Microsoft Windows. Si tratta di un gruppo di API (interfacce di programmazione delle applicazioni) che gli sviluppatori possono utilizzare per la grafica 3D, video, multimedia, suoni e funzionalità di gamepad su Windows. Molti giochi su Windows usano Direct3 DirectX per la grafica. In caso contrario, utilizzano invece le API cross-platform OpenGL o Vulkan. Altre applicazioni non di gioco possono utilizzare DirectX per funzionalità come la grafica 3D.
Windows 7 include DirectX 11 e Windows 10 include DirectX 12. Quando gli sviluppatori sviluppano giochi, scelgono le versioni di DirectX che desiderano utilizzare come target. Ad esempio, un gioco scritto solo per DirectX 11 non funzionerebbe su Windows XP, dove l'ultima versione disponibile è DirectX 9.
Puoi verificare la versione di DirectX disponibile sul tuo sistema facendo clic sul pulsante Start, digitando "dxdiag" nella casella di ricerca e premendo Invio. Quando viene visualizzata la finestra Strumento di diagnostica DirectX, vedrai il numero di versione visualizzato a destra di "Versione DirectX" in "Informazioni di sistema".
Se è incluso in Windows, perché sono i giochi che lo installano?
Quindi se DirectX è una parte di Windows, perché i giochi lo installano anche in primo luogo? La risposta breve è che l'installazione di DirectX è un disastro.
Non c'è solo un singolo gioco di libreria DirectX Direct3D a dipendere, o anche solo una manciata. Gli sviluppatori di giochi devono scegliere come target una versione esatta della libreria helper Direct3D. Non è possibile utilizzare una versione più recente della libreria. Ad esempio, se uno sviluppatore del gioco ha scelto il proprio gioco su d3ddx10_40.dll, il gioco non può utilizzare d3ddx10_41.dll. Ha bisogno della versione 40, e solo quel file lo farà.
Questi file si trovano nella cartella C: \ Windows \ System32 sul tuo sistema. Su un sistema a 64 bit, le librerie a 64 bit si trovano in C: \ Windows \ System32 e le librerie a 32 bit si trovano in C: \ Windows \ SysWOW64.
Anche se hai eseguito l'ultimo programma di installazione di DirectX, non c'è alcuna garanzia che installerà sul tuo sistema tutte le vecchie versioni minori delle librerie DirectX. Microsoft ha anche scelto di non raggruppare questi file di librerie Direct3D con Windows stesso. Anche le librerie Direct3D create prima che venisse rilasciato Windows 10, ad esempio, non sono tutte incluse in Windows 10. Devono essere installate da un'applicazione che ne ha bisogno. Come Microsoft nota nella documentazione destinata agli sviluppatori di giochi, "Windows Update e Service Pack non forniscono alcun componente opzionale di DirectX".
Diventa persino più complicato di così. I giochi a 32 bit richiedono le versioni a 32 bit del file di libreria ei giochi a 64 bit richiedono la libreria a 64 bit.
Questo è simile alla situazione con le librerie ridistribuibili Microsoft Visual C ++. Diverse applicazioni dipendono dalle diverse versioni delle librerie e devi avere molte versioni differenti installate. C'è una buona possibilità che tu abbia molti di quelli installati sul tuo sistema.
Ma perché ogni gioco per PC deve reinstallarlo?
Ok, quindi ogni gioco deve installare la versione minore esatta delle librerie DirectX richieste. Ma, se hai già installato una volta la versione specifica di una libreria DirectX, sicuramente il gioco non ha bisogno di eseguire l'installazione di DirectX, a destra?
Sbagliato. Non c'è modo per i giochi di controllare facilmente se sono installate le librerie DirectX corrette di cui hanno bisogno. Come nota il sito di supporto di Steam, l'installer di DirectX di Microsoft è l'unico modo supportato ufficialmente per verificare se i file corretti di DirectX sono attualmente installati. I giochi eseguono il programma di installazione di DirectX, spesso in background, che installa tutte le librerie richieste e ripara qualsiasi problema sul sistema.
L'installer di DirectX è anche l'unico modo in cui Microsoft consente agli sviluppatori di distribuire questi file. Gli sviluppatori non possono provare a essere intelligenti facendo cadere direttamente le librerie DirectX sul proprio sistema e ignorando l'installer, o interrompendo la licenza del software di MIcrosoft. Probabilmente corrono anche in vari bug, anche se hanno provato questo. Ecco perché nessuno lo fa.
Naturalmente, non tutti i giochi devono effettivamente eseguire il programma di installazione di DirectX al momento del lancio. I giochi che usano OpenGL o Vulkan piuttosto che Direct3D di DirectX non avranno bisogno di eseguirlo. Alcuni giochi dipendono anche dalle principali versioni di DirectX come DirectX 11, 10 o 9 e non hanno bisogno di chiamare l'installer di DirectX perché non usano nessuna di queste librerie helper.
Posso rimuovere alcune di queste librerie?
Non dovresti rimuovere nessuna delle librerie DirectX nella cartella System32 o SysWOW64. Se sono presenti nel tuo sistema, è perché un gioco o un'altra applicazione che hai installato ne aveva bisogno. Se inizi a rimuovere i file della libreria, le applicazioni potrebbero interrompersi. Non c'è modo di dire realmente quali file di librerie DirectX sono richiesti da quali giochi sul tuo sistema, quindi non c'è modo di sapere quali sono sicuri da rimuovere.
Lasciali in pace! C'è un motivo per cui non esiste un modo ufficialmente supportato per disinstallare questi file di libreria. Non causeranno alcun problema sul tuo sistema e saranno utilizzati solo dalle applicazioni che li richiedono.
Se vuoi davvero ripulire queste vecchie librerie, è meglio reinstallare Windows per ottenere un nuovo sistema invece di eliminare casualmente i file della libreria. Ma cominceranno a riapparire qui dopo aver installato i giochi, comunque. Non preoccuparti per questo.
Cosa posso fare se ho problemi DirectX?
Se viene visualizzato un messaggio di errore relativo a DirectX durante il tentativo di eseguire o installare un gioco, è possibile che il programma di installazione del gioco non stia eseguendo correttamente il programma di installazione ridistribuibile DirectX incluso. Non è possibile scaricare un programma di installazione DirectX dal sito Web di Microsoft, tuttavia è necessario eseguire l'installer richiesto dal gioco stesso.
Potresti essere in grado di entrare nella cartella del gioco sul tuo sistema o sul disco di installazione del gioco, individuare il file .exe di installer DIrectX ed eseguirlo per risolvere il problema. Questo file è generalmente denominato DXSETUP.exe.
Di solito puoi ottenere maggiori informazioni su come risolvere il problema eseguendo una ricerca sul Web per il nome del gioco o dell'applicazione e il messaggio di errore specifico di DirectX che stai vedendo..