STRAFE Oggi alle ore 17:00

Giochiamo in diretta con Strafe, FPS dallo stile retrò.

GDC 2014

Speciale DirectX 12

Arrivano le nuove API di Microsoft. Quali prospettive per il gaming su PC, mobile e console?

speciale DirectX 12
INFORMAZIONI GIOCO
Articolo a cura di
Francesco Fossetti Francesco Fossetti scrive di videogiochi -fra una cosa e l'altra- da più di dieci anni, e non ha ancora perso la voglia di esplorare il mercato con vorace curiosità. Ammira lo sviluppo indie e lo sperimentalismo, divora volentieri tutto il resto. Lo trovate su Facebook, su Twitter e su Google Plus.

Se il grosso annuncio da parte di Sony nel corso della GDC appena passata è stato il reveal ufficiale di Project Morpheus, e Nintendo ha rialzato la testa sul fronte dello sviluppo indie rilanciando il suo Web Framework, la bomba di Microsoft largamente preannunciata ha riguardato l'arrivo delle DirectX 12.
Alla nuova versione delle API del colosso di Redmond è stata dedicata una conferenza tecnica, in cui le funzionalità delle librerie sono state esaminate un poco più nel dettaglio. Purtroppo sono mancati grafici di riferimento concreti e benchmark ben documentati, e soprattutto gli utenti Xbox One sono rimasti un po' a "bocca asciutta": a loro è stata promesso un generico aumento delle prestazioni tecniche. Non si è capito se gli speaker dell'evento si riferissero ad una generale ottimizzazione delle prestazioni o all'arrivo di nuove funzionalità grafiche legate all'avvento delle librerie.
Anche le rassicurazioni sul fronte PC non sono state moltissime, a parte qualche dato confortante sull'utilizzo del nuovo Direct3D. All'evento si è parlato quindi soprattutto di compatibilità, confermando il supporto dei maggiori produttori di hardware e tutto sommato lasciando intravedere buone prospettive per il futuro delle API "low level" di Microsoft.
In questo breve resoconto, cerchiamo di entrare un poco più nel dettaglio di quelle che sono le nuove prospettive legate alle DirectX 12.

Questione di ottimizzazione

Per cercare di spiegare al meglio la filosofia alla base delle DirectX 12, ci sembra opportuno recuperare dal sito ufficiale di AMD una breve descrizione di quello che fa MANTLE, prima API di "basso livello" già disponibile e utilizzata da qualche titolo di grosso calibro.
Si legge, nella pagina dedicata, che "creare giochi che funzionino e si possano utilizzare senza problemi sui PC è una sfida enorme. Questo è in gran parte dovuto alla natura frammentaria dell'industria del gioco.
Per tradizione, ogni console di gioco opera esclusivamente sulla propria architettura grafica che si differenzia in modo sostanziale dall'hardware grafico presente nelle ultime schede video per PC. Ciò fa si che un gioco sviluppato per una specifica piattaforma non possa essere ridestinato a un'altra. Inoltre l'aggiunta di nuove piattaforme moltiplica lo sforzo richiesto per la programmazione.
I programmatori superano i problemi di compatibilità attraverso l'utilizzo di interfacce di programmazione di livello superiore che seguono gli standard di settore. I produttori di PC fanno sì che i propri prodotti supportino le interfacce standard per permettere ai programmatori di scrivere per tali prodotti.
Sfortunatamente queste interfacce di livello superiore non eguagliano minimamente le tecniche di programmazione di basso livello utilizzate nelle console. Di conseguenza, i giochi per PC non sono in grado di sfruttare l'intera potenza dell'hardware del PC, e un hardware potente è tutto per i giochi su PC."
L'idea alla base delle emergenti librerie "low level" è quella di lavorare a stretto contatto con l'architettura hardware, per tirare fuori il meglio dalla CPU. In pratica con MANTLE, AMD ha inaugurato una nuova filosofia dello sviluppo, per cui gli strumenti concessi ai developer "dialogano" in maniera più diretta con l'hardware, riducendo il livello d'astrazione del codice e di conseguenza anche il peso computazionale delle applicazioni. Si tratta di una integrale "inversione di rotta", che si è resa necessaria soprattutto per colmare l'enorme disparità fra la crescita prestazionale delle GPU e quella delle CPU. A tal proposito è ben esemplificativo il seguente grafico rilasciato da NVIDIA, a dimostrazione di quanto possa essere complesso ottimizzare le risorse delle architetture single e multicore.


Ecco, le DirectX 12 sono la risposta alle API di AMD, e quando arriveranno ufficialmente, nel corso delle vacanze natalizie del 2015, dovrebbero garantire una grandissima ottimizzazione delle prestazioni di tutti i titoli. Purtroppo alla conferenza della GDC sono mancati dati concreti: gli speaker hanno parlato di un "enorme passo in avanti", addirittura del "più grande nella storia della grafica su Personal Computer". Ma poi non sono arrivati grafici o benchmark, e l'unico mostrato (relativo all'ottimizzazione del Direct3D) non aveva nessuna indicazione concreta sul testbed.
Per contro i primi titoli che sfruttano MANTLE sono già sul mercato, e su Thief i risultati in termini di framerate sono veramente impressionanti, con un guadagno nettissimo in termini di framerate.
Le API di AMD devono essere ancora rifinite, ma la strada intrapresa è promettente, e visto che all'arrivo delle DirectX 12 manca sostanzialmente un anno e mezzo (nel corso del 2014 vedremo solo una demo release), potrebbe darsi che i passi in avanti in questo lasso di tempo lascino a queste librerie un buono spazio di manovra e gli garantiscano una discreta diffusione.
Dal canto suo Microsoft ha il completo supporto di Nvidia: l'azienda di Santa Clara ha confermato che le DirectX 12 saranno compatibili con tutte le schede video con architettura Fermi e successive. L'annuncio forse più importante è però che anche Qualcomm sarà della partita, e che le nuove librerie potranno essere usate anche in ambito mobile: in quel settore la riduzione del peso computazionale delle applicazioni (non solo ludiche) potrebbe essere "reinvestita" in termini di ottimizzazione delle risorse energetiche, allungando la vita delle batterie e risolvendo uno dei principali problemi del settore smartphone e tablet.
Purtroppo, come si accennava in apertura, non c'è nessun dato certo su comel'arrivo delle DirectX 12 influirà sul fronte Console. Probabilmente cercando di cavalcare una ripresa degli entusiasmi dei consumatori, che vedevano nell'avvento delle nuove librerie un grande rilancio delle potenzialità tecniche di Xbox One, Microsoft ha evitato di entrare troppo nello specifico, parlando di generali miglioramenti tecnici. Nei giorni precedenti all'annuncio ufficiale si è detto veramente di tutto, compresa l'eventualità che le DirectX 12 "sbloccassero" capacità tecniche "nascoste" nel chip della console.
Cerchiamo invece di essere più razionali. L'idea alla base delle Direct X 12 è proprio quella di portare su PC una filosofia di sviluppo simile a quella dell'ambiente console, dove l'architettura standard permette di gestire al meglio le risorse. Con tutta probabilità, quindi, le migliorie tecniche a cui Microsoft ha fatto riferimento riguardano l'arrivo di nuovi strumenti e nuove opzioni in fase di rendering, che sicuramente potranno garantire l'arrivo di effetti extra e magari qualcosa di più.


Ma è ovvio che il mercato che più beneficerà dell'arrivo delle nuove API sarà quello PC. Per fare un esempio, Microsoft ha pure presentato un'incredibile tech demo di Forza Motorsport 5 convertito per personal computer, affermando che l'obiettivo è stato centrato grazie al lavoro di sole quattro persone, impegnate sulla conversione per appena un mese. Un risultato veramente straordinario, anche al netto dell'evidente incremento delle prestazioni. C'è anche da dire che l'hardware utilizzato montava una GeForce Titan Black, e che quindi non è proprio il testbed adeguato a valutare il fattore legato all'ottimizzazione.
Speriamo inoltre che Microsoft non si lasci tentare dalla prospettiva di porting troppo facili, continuando a supportare la sua console con esclusive che restino tali, ed evitando di trascinare serie come Forza o Gears of War anche su PC. In passato questa filosofia ha già fatto troppi danni, smussando il carattere della line-up esclusiva per le console della casa di Redmond: per fortuna al momento il rischio sembra scongiurato.
I dubbi riguardo alle DirectX 12, comunque, sono tutt'altro che fugati: bisognerà anche vedere se Microsft riuscirà a garantire il supporto per Windows 7, che ad esempio non era previsto per le Direct X 11.2. Proprio per questo motivo l'ultima versione delle API attuali non è stata presa in considerazione da quasi nessun team di sviluppo. Il "silenzio stampa" dell'azienda su questo delicato argomento ("We would speak more about that later this year") lascia seriamente preoccupati. Puntare esclusivamente su un Sistema Operativo che rischia di fare la fine di Vista potrebbe non essere la più lungimirante delle strategie.
Sono molte, insomma, le domande senza risposta, e Microsoft dovrà chiarire tanti punti oscuri e dettagliare in maniera più approfondita le sue strategie. Non ci resta, quindi, che rimandare a tempi più maturi qualsiasi considerazione più approfondita.