Le DirectX 12 sono state annunciate per la prima volta dalla Microsoft il 20 marzo del 2014. Ufficialmente, sono state rilasciate insieme al sistema operativo Windows 10 nel luglio del 2015. Queste librerie sono caratterizzate dell’introduzione di API di programmazione avanzate di basso livello per le Direct3D 12 che possono ridurre il sovraccarico del driver.
Con questa nuova versione delle librerie DirectX, gli sviluppatori possono implementare comandi e buffer direttamente nella GPU. In questo modo, si ha un utilizzo più efficiente delle risorse attraverso il calcolo parallelo. Il rilascio delle Direct3D 12 si affianca ad altre iniziative per le API grafiche a basso costo tra cui Mantle di AMD per schede grafiche AMD, Metal di Apple per iOS e macOS e Khronos GroupVulkan.
Indice
Miglioramenti con le DirectX 12
Le DirectX 12 consentono agli sviluppatori di utilizzare contemporaneamente più GPU su un sistema. Un qualsiasi sistema multi-GPU dipendeva in precedenza dalle implementazioni del fornitore come CrossFireX di AMD o SLI di Nvidia. Le GPU consentono alle DirectX di visualizzare le schede grafiche in modalità SLI o CrossFireX come una singola GPU. Inoltre, possono utilizzare le risorse condivise. Però, elaborate configurazioni multi-GPU richiedono un supporto degli sviluppatori significativamente più attento.
Le API delle DirectX 12 sono presenti anche su console Xbox ma il codice non è direttamente trasportabile tra PC e Xbox One a causa delle differenze tra le due piattaforme. I miglioramenti delle prestazioni con le DirectX 12 su console Xbox non sono così sostanziali come su PC. Nel marzo del 2018 sono state annunciate le DirectX Raytracing (DXR), capace di ray-tracing e le API DXR aggiunte nell’aggiornamento di Windows 10 ad ottobre del 2018.
Sviluppo delle DirectX 12
Di seguito, i principali punti di sviluppo delle DirectX 12 dichiarate da Microsoft.
- L’adozione delle DirectX 12 è un “enorme” passo avanti tra gli sviluppatori, con molti giochi in lavorazione.
- Microsoft sta lavorando per migliorare la stabilità e le prestazioni delle API.
- Al momento V-sync, FreeSync e G-Sync non funzionano correttamente, ma il team sta lavorando attivamente per risolvere il problema e per ottenere un aggiornamento pronto al più presto possibile, anche se la data di uscita non è stata condivisa. Maggiori dettagli arriveranno dalla prossima Conferenza a fine del mese.
- Xbox PIX (strumento di analisi delle prestazioni per gli sviluppatori) sta per essere portato su strumenti di sviluppo di Windows. Maggiori dettagli saranno condivisi nel corso di quest’anno.
- Il team sta lavorando sia su Windows 10 che su Xbox One, quindi, i miglioramenti ci saranno per tra le due piattaforme.
- L’aggiornamento HLSL (HLSL acronimo di un alto livello Shader, che è la lingua dello shader proprietario per Direct3D) ha l’obiettivo di esporre le ultime caratteristiche hardware al fine di consentire agli sviluppatori di innovarsi.
- C’è particolare attenzione sulla programmazione delle GPU, e la squadra adotterà le migliori idee provenienti da tutto il settore.
- Shader Model 6 sarà attuato con l’introduzione di nuove funzionalità.
- Il team sta lavorando su un nuovo concetto delle texture, che è una nuova funzionalità hardware che consente agli sviluppatori di variare dinamicamente la quantità di pixel rese in una particolare area dello schermo, il controllo delle prestazioni variano la qualità delle immagini di singole parti di un telaio indipendentemente dal resto dello schermo.
- Le innovazioni che richiedono aggiornamenti dei driver arriveranno nel secondo periodo dell’anno, ma il resto può essere implementato in qualsiasi momento.
- Alcune caratteristiche saranno deprecate perché nessuno in realtà le utilizza, mentre altre saranno attuate, incluse le funzioni a livello di linguaggio nella seconda metà dell’anno.
- Gli sviluppatori possono scrivere i propri strumenti in base alla tecnologia, e Microsoft fornisce un esempio per mostrare come farlo.
- Microsoft prevede che l’adozione dell’High Dynamic Range sarà più veloce di quella di 4k. E ‘molto difficile per il consumatore medio veda la differenza tra 1080p e 4k a meno che non sia molto vicino allo schermo, mentre HDR è qualcosa che possono vedere.
- A livello fondamentale, HDR consente al display di emettere una luminosità di picco per alcuni pixel che è cento volte superiore a quello dei televisori di oggi. Non è possibile eseguire tutti i pixel con tale luminosità, ma parti di esso, che con quel tipo di luminosità è una “grande vittoria”.
- Al momento, i giochi sono bloccati ad una certa luminosità che è paragonabile alla luminosità dello sfondo bianco della posta impostato in modo che sia leggibile. E ‘fondamentalmente arrivare all’equivalente di un foglio di carta bianco. Questo è il “valore 1.0.”
- Gli sviluppatori saranno in grado di presentare valori molto alti di luminosità.
- I colori funzioneranno allo stesso modo della luminosità. Colorare una scena può essere attualmente limitato dalla gamma ufficiale di colori che mostra Windows e HDTV. Andando avanti saranno rimossi quei limiti, e gli sviluppatori saranno in grado di utilizzare il 30% del campo visivo umano fino al 75 o 80%. Questo permetterà ai giochi di esprimere le cose visivamente che non possono essere espresse oggi.
- Quando si vede una macchia bianca in un gioco, non si sa davvero se si tratta di un pezzo di intonaco, riflesso del sole, o un oggetto incandescente, perché sono tutti fissati per lo stesso valore di 1,0. Con HDR le superfici diffuse come intonacate e potrebbero essere poste a distanza ravvicinata a 1,0, mentre le fonti di luce potrebbero essere due o tre volte più luminose, permettendo all’utente di distinguere in realtà che cos’è l’oggetto. Sarà un nuovo livello di realismo.
- Windows sarà in grado di supportare HDR su tutti i suoi dispositivi, non ci sarà un limite su cosa gli sviluppatori potranno creare. Per usufruire di questo, gli sviluppatori hanno bisogno di utilizzare il rendering basato fisicamente, che è già diffuso tra la maggior parte delle produzioni AAA e mantengono i loro valori di riferimento come ad esempio 1.0 è a circa 80-100 nits. Dopo di che, gli sviluppatori avranno solo bisogno di modificare i valori nei loro motori di gioco in modo che l’intensità delle sorgenti luminose siano in realtà quelle che realmente dovrebbero essere.
- La maggior parte del contenuto del gioco come texture e maglie non necessitano di alcun lavoro supplementare.
- Gli effetti di post-produzione hanno bisogno di essere ottimizzati ancora un po ‘.
- L’interfaccia utente ha bisogno di non essere troppo luminosa, e potrebbe essere necessario ottimizzarla nel caso in cui è visualizzata davanti a cose come la luce del sole che riflette sull’acqua contorni neri.
Altri articoli e guide che ti potrebbero interessare: