DirectX è un’API o un’interfaccia di programmazione dell’applicazione. Funge da intermediario tra il codice software dei videogiochi e l’hardware utilizzato per riprodurli. Senza DirectX, giocare ai videogiochi non sarebbe così indolore come lo è oggi, ma cos’è DirectX e perché è così critico?
DirectX è un’API, ma che cos’è?
Abbiamo detto che un’API è un software che consente ai giochi di comunicare con l’hardware, ma si tratta di una grande semplificazione. Dopotutto, anche i driver hardware che parlano al sistema operativo possono essere descritti allo stesso modo.
Ciò che fa un’API è standardizzare il catalogo di comandi e funzionalità che gli sviluppatori di giochi possono richiedere all’hardware del computer di fornire. È uno strato di software tra il gioco e l’hardware che traduce le due “lingue” parlate dal gioco e dal dispositivo hardware.
Per essere più precisi, l’API parla ai driver hardware per conto del gioco e poiché sia il gioco che i driver hardware sono stati scritti per essere conformi a DirectX, piuttosto che direttamente l’uno con l’altro, significa che la conversazione è fluida.
I brutti vecchi tempi prima di DirectX
Quindi abbiamo stabilito che DirectX è un’API che si trova tra un gioco e l’hardware di cui ha bisogno per funzionare, ma perché il videogioco non può parlare direttamente con la scheda grafica, la scheda audio e così via?
È esattamente quello che succedeva. Ai tempi di MS-DOS e all’inizio di Windows, i videogiochi comunicavano direttamente con i driver hardware.
Il problema con questo approccio è che lo sviluppatore del gioco doveva scrivere codice per ogni singolo prodotto o famiglia di prodotti. Se oggi giochi a un classico gioco MS-DOS, vedrai voci della scheda audio per marchi come Creative SoundBlaster o AdLib.
Questi erano i marchi di schede audio più popolari, quindi gli sviluppatori di giochi potevano coprire la maggior parte dei clienti supportandoli, ma non tutti. Alla fine, i produttori di hardware meno conosciuti avrebbero creato prodotti compatibili con gli stessi driver dei grandi nomi. Questo è il motivo per cui abbiamo ricevuto così tante schede “Sound Blaster Compatible” nel corso della giornata.
Il risultato è stato che, anche se si dispone dell’hardware più ampiamente supportato, non c’era alcuna garanzia che un determinato gioco funzionasse con il computer. DirectX ha risolto questo problema.
DirectX semplifica le cose per sviluppatori e produttori di hardware
Ogni versione di DirectX (e siamo fino a DirectX 12) stabilisce il set di funzionalità hardware e software che l’hardware compatibile deve avere. In altre parole, se vuoi che la tua scheda grafica sia certificata per l’ultima versione di DirectX, deve avere un insieme minimo di funzionalità integrate.
Gli sviluppatori quindi scrivono i loro giochi per non essere compatibili con una scheda grafica specifica, ma per essere compatibili con DirectX stesso. In altre parole, sia i produttori di hardware che gli sviluppatori di giochi standardizzano i loro prodotti su DirectX e, come tale, qualsiasi gioco e componente hardware progettato per funzionare con una versione specifica di DirectX è garantito per funzionare bene l’uno con l’altro.
DirectX è la “X” in Xbox
Tutti sanno che i due nomi più grandi nello spazio delle console per videogiochi sono PlayStation e Xbox, ma quello che potresti non sapere è che il nome originale di quest’ultimo era inizialmente “DirectX Box”.
Probabilmente è meglio che Microsoft abbia deciso di abbreviare il nome, ma è anche una descrizione molto accurata della console. La prima Xbox è stata messa insieme con l’hardware del PC, eseguendo una versione ridotta di Windows e DirectX. Questo è ancora vero oggi con le ultime console Xbox Serie X e S.
Un grande vantaggio di questo è che il porting di giochi tra Xbox e PC Windows è molto semplice. Dal momento che sono in effetti la stessa piattaforma. PlayStation e Nintendo Switch utilizzano tuttavia le proprie API, il che ci porta al prossimo fatto importante su DirectX.
DirectX non è l’unico gioco in città
Sebbene DirectX sia diventata una delle API più importanti e diffuse, non è affatto l’unica. Molte organizzazioni diverse hanno riconosciuto la necessità di standardizzazione. Sebbene DirectX sia un’API che comprende tutto, dalla grafica ai controller di gioco, ci sono anche API che si concentrano solo su un aspetto, come la grafica.
Quando la prima scheda grafica 3D iniziò a diventare popolare a metà degli anni ’90, la necessità di API grafiche divenne acuta. Le schede 3dFX Voodoo utilizzavano l’API proprietaria Glide. OpenGL (Open Graphics Library) è uno standard aperto che rimane popolare oggi ed esiste nella sua forma moderna come Vulkan. Inoltre, Apple ha la sua API Metal per i propri dispositivi e ce ne sono molti altri in altre categorie di dispositivi come telefoni cellulari e tablet.
Sebbene DirectX non abbia una posizione dominante sul mercato, altre API sono influenzate da ciò che Microsoft ha deciso di imporre in ciascuna versione di DirectX. Detto questo, non dettano a tutti gli altri. Ogni versione di DirectX viene creata in consultazione con tutte le parti interessate, quindi la relazione sembra essere più reciproca di quanto si possa supporre.
DirectX non è qualcosa di cui devi preoccuparti
La grande domanda è fino a che punto tu, utente, devi preoccuparti di DirectX. In passato, con le versioni precedenti di DirectX su sistemi Windows precedenti, avresti dovuto installare DirectX manualmente. La maggior parte delle volte, un determinato gioco raggruppa la versione minima di DirectX necessaria. Se il programma di installazione rilevasse una versione più recente di quella generazione di DirectX sul sistema, semplicemente non installerebbe nulla.
Ogni versione di DirectX (ad esempio 9c, 11 e 12) è una cosa a sé, ma Windows 10 viene fornito con copie preinstallate. I tuoi vecchi giochi funzioneranno perfettamente sul tuo nuovo splendente computer Windows 10.
Ciò che è molto più importante è la selezione dell’hardware. Puoi sempre aggiornare il software o scaricare il software giusto per far funzionare i giochi retrò, ma l’hardware che hai non può essere cambiato senza un aggiornamento o un nuovo computer.
Conformità hardware con DirectX
Ogni componente hardware rilevante per i videogiochi o qualsiasi altra applicazione che utilizza una tecnologia simile, è generalmente compatibile con l’ultima versione di DirectX al momento del suo rilascio.
Tuttavia, se viene rilasciata una nuova versione di DirectX, è possibile che l’hardware esistente non sia conforme se manca una funzionalità hardware necessaria per funzionare con una nuova versione di DirectX. Questo non è un motivo per cambiare immediatamente l’hardware!
C’è sempre un periodo di transizione in cui i giochi supportano più versioni di DirectX. Ad esempio, attualmente è tipico che i giochi supportino sia DirectX 11 che DirectX 12. Tuttavia, se sei alla ricerca di un nuovo componente hardware (in particolare GPU ), allora è una buona idea acquistare qualcosa che sia compatibile con il major più recente versione di DirectX. Dal momento che desideri che il tuo nuovo acquisto rimanga rilevante per almeno alcuni anni.
Già che ci sei, puoi anche verificare se il tuo nuovo hardware è conforme alle ultime versioni di altre importanti API concorrenti, come Vulcan.