In questi mesi le DirectX 12 hanno assunto i contorni di una creatura mitica. Per qualcuno perché ammantata da connotati irrealistici mentre altri sono convinti che porterà una piccola rivoluzione. Inutile, questo è ovvio, sperare in miracoli ma quello che ha avuto inizio con Mantle, ispirando anche le librerie Vulkan, rappresenta davvero una forma di rivoluzione visto che combina tool semplici con la possibilità di lavorare a più stretto contatto con l'hardware. Per ora, comunque, è meglio prendere i benchmark di Microsoft con le pinze visto che probabilmente si riferiscono a condizioni specifiche e ottimali mentre le DirectX 12 dovranno scontrarsi con la varietà del mondo PC e questa volta, con sommo gaudio da parte di chi non rinnova il proprio computer ogni anno, con pochi limiti. Infatti, escludendo i sempre golosi benchmark, l'informazione più rilevante emersa dalla GDC di marzo è la retrocompatibilità delle librerie che nel caso delle schede NVIDIA dovrebbe comprendere tutte le schede Fermi, Kepler e Maxwell. Sul fronte di AMD invece si è parlato solo delle schede basate sulla tecnologia GCN, dal 2012 in avanti quindi. E questo significa che parliamo di schede che difficilmente si avvicineranno alle performance pubblicizzate da Microsoft.
Ma non è detto che un PC relativamente datato non possa ottenere benefici importanti visto che le nuove librerie non si limitano all'ottimizzazione delle GPU. Le novità coinvolgono l'intero sistema e tra le promesse più interessanti c'è anche lo sfruttamento effettivo dei processori dotati di svariati core. Improvvisamente il gaming potrebbe beneficiare di parecchia capacità di calcolo inutilizzata e diverse CPU AMD potrebbero rivalutarsi improvvisamente. E lo stesso potrebbe valere per l'Xbox, che sta già accogliendo via via diverse feature DirectX 12, e per quelle configurazioni SLI e CrossFire attualmente limitate dall'esiguo quantitativo di memoria della singola scheda video. Anche in questo caso la strada l'hanno spianata le librerie Mantle, ma starà alle DirectX 12 far sì che l'uso combinato della memoria di una configurazione a due schede video diventi uno standard. Per scoprire se sarà così dovremo aspettare ancora qualche mese, ma è chiaro che a prescindere dai sospetti e dall'ottimismo le nuove librerie possono alzare la barra dell'ottimizzazione su PC e questo promette di tradursi anche in un netto abbassamento dei consumi garantito dalla possibilità di bilanciare al meglio il carico di lavoro. In questo caso l'obiettivo principale sono i sistemi mobile che entreranno a far parte dell'ecosistema globale Windows 10 ma nel caso del PC classico potremmo vedere schede video DirectX 12 spingersi verso frequenze fino ad ora impensabili proprio grazie all'ottimizzazione energetica. Ovviamente il margine di sfruttamento dell'hardware sarà sempre inferiore a quello delle console la cui configurazione unica permette agli sviluppatori di mettere in atto strategie di ottimizzazione mirate. Ma la somma delle promesse delle nuove librerie Microsoft fa sperare in un balzo in avanti davvero importante.
Dopo la conferenza Build 2015 le DirectX 12 sembrano sempre più interessanti
Tante piccole rivoluzioni
Durante il Build 2015 Microsoft ha buttato sul piatto un bel po' di grafica e ha confermato alcune importanti indiscrezioni che circolavano intorno alle DirectX 12. La più importante riguarda l'Explicit Multiadapter che è in linea con le funzioni di cui abbiamo parlato fino ad ora visto che promette di aumentare ulteriormente il potenziale di ogni PC relativamente recente. Non si tratta di una tecnologia completamente nuova ma permette finalmente lo sfruttamento delle GPU secondarie. Il primo strato di questa introduzione è quello implicito che gestisce in modo simile alle DirectX 11 l'alternate frame rendering, bilanciando il lavoro tra due GPU collegate in SLI o CrossFire. Il secondo strato è quello che ci interessa ed è quello esplicito che promette di distribuire il carico di lavoro anche tra schede non collegate.
Come abbiamo anticipato non è una tecnologia completamente nuova ma le DirectX 12 possono sdoganarla rendendo infine normale affiancare, al netto di problemi dettati dalla fede tecnologia personale, un prodotto AMD e uno NVIDIA. D'altronde una configurazione SLI o CrossFire sarà sempre più performante di una mista, ma non sarà comunque lo scenario a due schede discrete quello più comune. Quello che interessa la maggior parte di utenti è quella GPU aggiuntiva che si nasconde in ogni sistema moderno. I nuovi processori sono infatti tutti affiancati da un processore grafico integrato che, tra l'altro, è sempre più potente. L'Explicit Multiadapter lo sfrutta e nel caso delle CPU di ultima generazione ecco che le performance salgono di un altra tacca. Nel caso della demo dell'Unreal Engine parliamo di un 10% in più che sommato a quello garantito dal Fast Rendering diventa già un 20%, ovviamente spannometrico, almeno parlando di configurazioni potenti equipaggiate con prodotti della linea Maxwell. Queste ultime sono infatti compatibili con le DirectX 11.3 da cui le DirectX 12 ereditano diversi elementi all'epoca già pensati per funzionare al meglio nelle nuove librerie. Parliamo di tutte quelle tecniche come la Conservative Rasterization e l'evoluzione delle Tiled Resources che ottimizzano la gestione dei dati allocati e contribuiscono al rendering più rapido mostrato dalle demo DirectX 12. Ma la spinta propulsiva maggiore la conferisce con pochi dubbi il cambiamento radicale nella gestione della pipeline con buona parte delle istruzioni, come pixel e vertex shader, che con le nuove librerie confluiscono nello stesso oggetto.
In questo modo c'è un singolo punto di riferimento, che può sempre essere cambiato in modo dinamico, invece di svariate sorgenti che aumentano il carico di lavoro sovrapponendosi alle operazioni di rendering. In sostanza riducendo l'overhead si liberano risorse per le cosiddette draw call ovvero per il numero di oggetti "chiamati" a schermo. E considerando che non sono solo i materiali a tradursi in una draw call le possibilità vanno ben oltre l'aumento di complessità poligonale. Nvidia ha addirittura parlato di un aumento dei poligoni da sei a dodici volte rispetto alle DirectX 11 e secondo un utente Reddit le potenzialità delle DirectX 12 sono estremamente elevate anche nel caso di sistemi datati. Stando al test del suddetto utente le performance in relazione alle draw call sarebbero aumentate del 330% con una configurazione hardware del 2012. Si tratta di un test artigianale e mirato che non può fornirci indicazioni prestazionali esatte ma è capace di evidenziare, sempre che sia autentico, quanto l'overheading possa pesare sul lavoro di una GPU e quanto l'ottimizzazione delle sole librerie possa rivelarsi importante a patto di non aspettarsi miracoli. Ed è proprio ritornando con i piedi per terra che ci troviamo di fronte all'interessante demo di King of Wushu che mostra il miglioramento diretto apportato dalle DirectX in relazione al CryEngine. Dalle DirectX 11 alle DirectX 12 il frame rate sale di un non troppo entusiasmante 10-15% ma stiamo parlando di un'applicazione a posteriori delle nuove librerie che tra l'altro consentono di aumentare sensibilmente il numero di personaggi su schermo. A questo punto è inutile negare che le DirectX 12, così come le altre librerie nate nello stesso segno, possano spremere un po' di più il nostro amato PC. Ma come in tutte le questioni di ottimizzazione la palla passa alle software house che pur avendo a disposizione strumenti più sofisticati dovranno misurarsi con un sistema divenuto improvvisamente ancora più ampio e più complesso. Bilanciare il carico di lavoro tenendo conto di elementi prima trascurati potrebbe essere complicato anche con l'aiuto delle DirectX 12. Ma le software house, a quanto pare, sono entusiaste. Le varie demo, tra cui spicca quella impressionante di Square, sono la prova tangibile di questo entusiasmo e Microsoft ha affermato che il tasso di adozione delle nuove librerie è il più rapido dalle DirectX 9 a oggi. Inoltre titoli come The Witcher 3 e Batman Arkham Knight godranno di patch che integreranno a posteriori il supporto per le DirectX 12. Insomma, ci sono tutte le ragioni per restare alla finestra e aspettare di poterci mettere le mani - e i nostri computer - sopra.