Le funzionalità top di DirectX 12 in un blog post di AMD

Logo_AMD_okokAMD nella giornata di ieri ha condiviso con gli utenti un nuovo ed interessante blog post a firma di Robert Hallock, Head of Global Technical Marketing di AMD. Il manager dell’azienda americana analizza le migliori funzionalità delle nuove DirectX 12, e quale impatto avranno sui prodotti AMD.


Robert Hallock, Head of Global Technical Marketing di AMD analizza in un blog le migliori funzionalità delle nuove DirectX 12!

AMD_DirectX_12

Robert Hallock, Head of Global Technical Marketing di AMD, analizza in un blog, le migliori funzionalità delle nuove DirectX 12, e quale impatto avranno sui prodotti AMD. Queste nuove funzioni rappresentano per AMD una grande opportunità per migliorare ulteriormente l’esperienza di gioco su PC, sfruttando in pieno le potenzialità dei suoi prodotti grazie all’implementazione degli ASYNC SHADERS e di un BUFFER MULTI-THREAD direttamente nelle nuove API. In questa news andremo proprio nel vedere in modo approfondito queste due tecnologie che sono il punto forte delle DirectX12 e vedremo come queste modificheranno in modo significativo l’esperienza di gioco degli utenti più affiatati.

ASYNC SHADERS

Questa particolare caratteristica permetti ai motori grafici di eseguire calcoli sulla GPU e gestire la memorie video durante i cosiddetti “gap” del carico di lavoro sulla stessa GPU durante la sessione di gioco.

Pipeline_behavior

Sembrerà una cosa da niente permettere alla GPU di effettuare operazioni simultanee di calcolo, grafica e gestione della memoria, ma questa funzionalità non è presente in alcuna delle precedenti DirectX. In effetti le versioni precedenti delle DirectX erano essenzialmente limitate ad una singola, grafica seriale per processare tutti i tipi di workloads.

Ovviamente il motore grafico, il calcolo e le operazioni di copia da parte della memoria devono attendere che le richieste vengano completate prima di poter spiccare il volo. La conseguenza logica è che spesso e volentieri parte dell’hardware resta in idle per molto tempo e quando si verifica tale situazione le performance globali ne risentono.

Gli Async Shaders implementati nelle DirectX 12 sovralimentano, nel vero senso della parola, il carico di lavoro delle GPU AMD Radeon sovrapponendo queste operazioni attraverso il multi-thread per accorciare i tempi di rendering. Gli Async Shaders sono molto importanti per l’esperienza di gioco poiché accorciando i tempi di rendering si riducono le latenza delle pipeline grafiche. Una bassa latenza significa performance migliori. Per “Performance” si intendono maggiori FPS in gioco e migliore risposta negli ambienti VR. Inoltre, vengono affinati i livelli di granularità  per ridurre drasticamente i tempi di lavoro.

L’architettura AMD GCN (Graphic Core Next  sono specificatamente studiate e pensate per supportare appieno glii Async Shader delle DirectX 12, grazie all’hardware dedicato meglio conosciuto come Asynchronous Compute Engine ( ACE). La presenza di molti ACE è fondamentale per il più recente hardware grafico sviluppato da AMD poiché permette di costruire oggetti complessi con performance incredibili grazie alla parallelizzazione di questi ultimi.

Hawaii-Block-Diagram

Lo schema illustra in maniera dettagliata come sono stati disposti i ben 8 moduli ACE nell’architettura della R9 290X. Qualsiasi soluzioni grafica dotata di GCN dispone di un certo numero di ACE.

BUFFER DEI COMANDI MULTI-THREAD

Il buffer dei comandi è una sorta di “to-do list” di un gioco, un elenco di operazioni che la CPU deve riorganizzare per poi inviarla alla VGA AMD Radeon in modo che il lavoro di grafica possa essere completato. Tali operazioni possono includere le illuminazioni, la posizione di un soggetto, il caricamento delle texture, la generazione dei riflessi e delle ombre e molto altro.

Le configurazioni moderne spesso si affidano a CPU multi-core come gli AMD serie FX o le APU AMD serie A. Una particolarità delle applicazioni basate su API DirectX 11 consiste nel fatto che molti dei core delle CPU multi-core vengano sfruttati parzialmente e totalmente lasciati inutilizzati. Questa mancanza da parte delle DirectX 11 fa si che il buffer dei comandi venga spezzettato in piccoli pacchetti paralleli e distribuiti attraverso più core.

cmd_buffer_behavior

Oltre alla modesta capacità di multi-thread, nelle DirectX 11 gran parte delle risorse della CPU vengono destinate ai driver e all’interpretazione delle API (overhead) nel linguaggio di programmazione delle DirectX 11, lasciando quindi minor tempo a disposizione per l’esecuzione del codice di gioco influendo sia sulla qualità che sugli FPS. Nelle DirectX 12 abbiamo invece un buffer dei comandi totalmente rivisto che può essere sintetizzato in cinque punti chiave:

  • L’Overhead è stato ridotto in modo significativo destinando driver e codici API a tutti i thread disponibili della CPU;
  • Il tempo totale richiesto per completare operazioni complesse sulla CPU è stato ridotto in modo considerevole;
  • Il carico di lavoro di un gioco ora può essere distribuito su CPU anche a più di 4 core;
  • La nuova “bandwidth” della CPU permette un maggior numero di chiamate sulla GPU, abilitando dettagli sempre più realistici nel mondo di gioco;
  • Tutti i core disponibili della CPU potranno ora “parlare” simultaneamente con la GPU.

Il passaggio alle DirectX 12 è come passare da una strada di campagna ad un autostrada a 8 corsie permettendo alle CPU AMD FX di comunicare più velocemente con la scheda grafica. Il risultato finale si sintetizza quindi in: performance globali migliori, latenza ridotta, migliore qualità dell’immagine o un mix di tutte e tre le cose.

results

Il beneficio di queste caratteristiche si è subito visto nei giochi. Oxide Games e Stardock hanno collaborato con AMD per lo sviluppo di Ashes of Singularity, uno dei prossimi titoli di giochi di strategia che permette già di sfruttare gli 8 core a disposizione su un processore AMD FX-8370 e garantire performance, qualità dell’immagine e risoluzioni che, tradotto nelle parole del CEO Brad Wardell, “Non avrebbero alcuna chance” sotto le DirectX 11″.

In altre parole, piattaforme con grafica Radeon e CPU multicore AMD basate su DirectX 12 permetteranno agli sviluppatori di esplorare un mondo finora inimmaginabile.

Il buffer dei comandi e gli Async Shaders sono due caratteristiche fondamentali alla base delle DirectX 12 che permettono di approdare ad un nuovo standard di gioco semplicemente sfruttando il potenziale extra dell’hardware già esistente ed incrementando le prestazioni globali con un semplice aggiornamento.

Gli sviluppatori di giochi devono scendere a compromessi per poter usare una caratteristica prima ancora che diventi disponibile a tutti. La nostra collaborazione con Oxide/Stardock serve per garantire innovazione nei  giochi e da adesso in poi il programma AMD Gaming Evolved Program spingerà molto nelle ottimizzazioni con i produttori di giochi e le schede video AMD, al fine di sfruttare la meglio le DirectX 12. 

Ad oggi l’unico requisito per iniziare col sfruttare al meglio le potenzialità delle DirectX 12 è quello di installare Windows 10 Technical Preview Build 10041o successiva, ed aver aggiornato tutti i driver di sistema delle VGA AMD. Ecco una bella lista di diversi prodotti AMD che sono compatibili con le DirectX 12:

  • AMD Radeon R9 Series graphics;
  • AMD Radeon R7 Series graphics;
  • AMD Radeon R5 240 graphics;
  • AMD Radeon HD 8000 Series graphics for OEM systems (HD 8570 and up);
  • AMD Radeon HD 8000M Series graphics for notebooks;
  • AMD Radeon HD 7000 Series graphics (HD 7730 and up);
  • AMD Radeon HD 7000M Series graphics for notebooks (HD 7730M and up);
  • AMD A4/A6/A8/A10-7000 Series APUs (codenamed “Kaveri”);
  • AMD A6/A8/A10 PRO-7000 Series APUs (codenamed “Kaveri”);
  • AMD E1/A4/A10 Micro-6000 Series APUs (codenamed “Mullins”);
  • AMD E1/E2/A4/A6/A8-6000 Series APUs (codenamed “Beema”).

AMD è pronta per sfruttare la meglio le prestazioni che le DirectX 12 sono in grado di offrire….che i giochi abbiano inizio!


HW Legend Staff

Newsletter HW Legend


Caricamento