Schede Grafiche

DirectX 12 esclusive di Windows 10, Microsoft cala l’asso

Le DirectX 12 saranno distribuite solo con Windows 10 e non arriveranno su Window 8.1 oppure il più vecchio, ma ancora usatissimo, Windows 7. L'ha dichiarato Microsoft al sito Rockpapershotgun, confermando quello che un po' tutti si aspettavano. L'integrazione delle nuove librerie rappresenterà un ulteriore incentivo per passare al nuovo sistema operativo – come se la possibilità di update gratuito da Windows 7 o 8.1 per un anno non fosse sufficiente.

DirectX 12 logo

L'azienda di Redmond ha anche confermato che le DirectX 12 sono compatibili con le GPU attuali, ma ci saranno delle novità che richiederanno nuovi chip grafici. "Ci saranno schede DX 11.1 che si avvantaggeranno molto della tecnologia software e driver che stiamo integrando in Windows 10, ma se volete i pieni benefici delle DirectX 12, avrete bisogno di una scheda DX 12", ha affermato Mike Ybarra, Partner Director of Program Management, Xbox Platform.

Quando scriviamo che le nuove API possono essere gestite, almeno in parte, dai core grafici attuali, non facciamo altro che riportare quanto affermato da AMD, Nvidia e Intel. AMD ha parlato di supporto alle DX 12 da parte delle GPU basate su architettura Graphics Core Next (HD 7000 e successive, oltre alle GPU integrate nelle APU), mentre Nvidia ha ribadito la compatibilità con i chip Kepler, Maxwell e anche Fermi. In questo caso si parla di diverse generazioni di schede video, alcune appartenenti alla serie GTX 400.

Intel ha comunicato di compatibilità con le GPU integrate nei processori Core di quarta generazione (Haswell) e successivi. In questo caso però c'è una restrizione: saranno compatibili solo le soluzioni Iris e Iris Pro, ma ne sapremo di più in futuro.

GeForce GTX 980 GeForce GTX 980
Radeon R9 290X Radeon R9 290X

In un recente tweet Microsoft ha affermato che oltre il 50% dei giocatori possiede dell'hardware compatibile con le nuove librerie. La compatibilità con l'API è una cosa, quella con un determinato "feature level" è un'altra e quindi sarà capendo proprio il feature level di ogni GPU che capiremo l'effettiva compatibilità.

Le nuove DirectX, a ogni modo, consentono agli sviluppatori la possibilità di agire a un livello più basso rispetto al passato, più vicino "al chip", permettendo ai videogiochi di scalare molto meglio su più thread e quindi fare un uso migliore della CPU (si parla di un miglioramento fino al 50%). I giochi beneficeranno inoltre di un bassissimo overhead sulla GPU, garantendo un maggiore controllo sulla memoria grafica.

Le Direct3D 12, parte delle DX 12, introducono inoltre un set di nuove caratteristiche della pipeline di rendering che miglioreranno drasticamente l'efficienza di algoritmi come l'order-independent transparency, il collision detection e il geometry culling. Forse sono proprio alcune di queste novità che richiederanno nuove GPU, ma è presto per dirlo.

Unreal Engine 4 Demo

Non dobbiamo dimenticare inoltre che a settembre Microsoft ha affermato che sta lavorando anche a una nuova versione delle Direct3D 11, che debutterà all'incirca con le Direct3D 12. Chissà, forse ne godranno sia Windows 8.1 che Windows 7.

Indicata come Direct3D 11.3, si tratta di un aggiornamento delle API esistenti che offrirà diverse novità presenti nelle Direct3D 12, senza però perdere la caratteristica di API di "alto livello" che sinora ha caratterizzato queste librerie.

Le Direct3D 12 rappresentano infatti un cambio di paradigma e inizialmente non tutti gli sviluppatori saranno in grado di gestire la transizione a una API di basso livello, più potente ma forse anche più ostica da sfruttare al meglio. Così ecco spiegato la necessità di creare le Direct3D 11.3, contraddistinte da un abstraction layer che semplifica lo sviluppo, ma non permette di godere della riduzione dell'overhead sulla CPU delle D3D 12.

Volume Tiled Resources

Una delle novità delle Direct3D, parte delle DirectX

Tra le novità delle Direct3D 11.3 (presenti anche nelle Direct3D 12) si parla di "Ordered rasterizer View", "Typed UAV Load", "Volume Tiled Resources" e "Conservative grid". La prima dà agli sviluppatori controllo sull'ordine con cui gli elementi sono rasterizzati in una scena, in modo da disegnarli nell'ordine corretto. Per spiegare il "Typed UAV Load" bisogna sapere che gli UAV (Unordered Access Views) sono un tipo speciale di buffer che permette a più thread della GPU di accedere simultaneamente allo stesso buffer senza generare conflitti di memoria. La nuova funzione, in poche parole, "mette ordine".

La terza novità nasce dal lavoro svolto sulle tiled resources e lo estende nella terza dimensione. Le Volume Tiled Resources sono pensate per essere usate con volumetric pixels (voxels) e con l'idea che le volume tiles che non contengono alcuna informazione utile si possono non assegnare, evitando di legare la memoria a tiles che non saranno usate. La Conservative rasterization è invece una soluzione più accurata, ma anche più pesante sotto il profilo prestazionale, che consente di capire se un poligono copre parte di un pixel. Insomma, se non si era capito, sono cose da sviluppatori. Maggiori informazioni (in inglese) su queste novità potete trovarle su Anandtech.