Alla GDC, la Game Developer Conference , Microsoft ha fatto debuttare il primo mattone della nuova generazione di DirectX, la dodicesima : Direct3D 12 è stato mostrato sul palco dai suoi sviluppatori mentre faceva girare un gioco per Xbox One, Forza 5 , su hardware per PC, una GeForce Titan Black . Ma presto, molto presto, lo stesso linguaggio e le stette tecnologie saranno a disposizione anche su smartphone e tablet: migliorando, promettono da Redmond, l’efficienza e la grafica di tutte le piattaforme .
Rispetto a DirectX 11, la nuova generazione di API per la grafica di Microsoft fa un passo avanti o un passo indietro, a seconda dei punti di vista: di concerto con i produttori di GPU (Nvidia, Qualcomm e AMD in testa ), gli sviluppatori hanno puntato ad avvicinare i programmatori di giochi e grafica all’hardware, offrendogli maggiore controllo sulla sequenza di azioni da svolgere e sull’ordine in in cui svolgerla. In altre parole, la pipeline potrà essere gestita direttamente senza dover ricorrere ogni volta ai driver, allungando il giro e allungando i tempi per intervenire in un processo che dovrebbe essere più snello e flessibile possibile. Inoltre, preso atto dell’enorme differenza e capacità che esiste tra GPU e CPU , l’obiettivo dichiarato di Direct3D 12 è quello di separare i destini di questi due componenti, riducendo il numero di interventi necessari da parte della CPU che spesso costringono la GPU ad attenderla per procedere. Qualcosa di simile lo fa già anche la tecnologia Mantle di AMD, anche se DirectX potrebbe godere di maggior successo grazie all’universalità (Mantle funziona solo su modelli specifici di Radeon).
Un altro tassello importante è la sostanziale compatibilità dell’hardware attuale DirectX 11 con la nuova versione: Nvidia ha già reso noto che i chip Fermi, Kepler e Maxwell dovrebbero tutti funzionare correttamente con le nuove API grazie a driver compatibili, e la stessa demo offerta sul palco lo ha dimostrato: l’azienda californiana ha prodotto un driver apposito per consentire l’esecuzione del gioco realizzato per una console su un PC , permettendo agli sviluppatori di Turn 10 di sfruttare lo stesso livello di ottimizzazione tipico della programmazione su console per garantire lo stesso livello di dettagli e performance anche su hardware PC, senza che il porting sia risultato troppo complesso. Per AMD vale un discorso analogo , con tutto il blocco dei chip Game Core Next (GCN) dichiarato compatibile con DX12.
In un certo senso, spiega Microsoft, DirectX 12 spinge la grafica PC verso il paradigma delle console: maggiore controllo sull’hardware e dunque maggiore ottimizzazione delle risorse fisiche delle GPU moderne, grazie a uno sviluppo che ha tenuto conto delle innovazioni tecniche a cui è andato incontro il settore in questi anni. Le CPU, pur diventando multi-core, non sono riuscite a tener testa all’incremento di prestazioni ottenuto dalle schede grafiche: le nuove DirectX dovrebbero consentire di accedere a uno strato di astrazione inferiore rispetto all’hardware , rendendo disponibili ai programmatori funzioni di basso livello capaci di spremere fino all’ultimo pixel dalla GPU.
In più, lo stesso modello di sviluppo dovrebbe poter essere adottato indifferentemente su più piattaforme: oltre alle già citate console e ai PC, DirectX 12 sarà ugualmente accessibile anche per le GPU del mondo mobile , permettendo anche lì un salto in avanti ritenuto significativo. A trarne beneficio sarà senz’altro infine anche Xbox One: l’attuale interpretazione delle DirectX integrata nella piattaforma di sviluppo è già molto avanzata, ma il passaggio alla dodicesima generazione dovrebbe garantire a sempre più titoli di giungere alla soglia fatidica di 1080p, aumentando l’appeal della console anche rispetto alla concorrenza.
I tempi di attesa per vedere DirectX 12 all’opera non sono brevissimi : l’obiettivo ufficiale sono i giochi in uscita a natale 2015 , quindi mancano almeno 18 mesi prima di vedere concretizzarsi la novità presentata al GDC.
Forza 5 running on PC with Direct3D 12 at 60fps. #GDC2014 #DirectX12 pic.twitter.com/wHiPO0RS73
– Devin Connors (@devinconnors) 20 Marzo 2014
Luca Annunziata