Introduzione
Abbiamo testato diverse volte giochi non terminati nelle nostre recensioni, più recentemente durante la prova della Radeon R9 Nano. Allora avevamo riscontrato alcuni problemi con i driver e, cosa persino peggiore, problemi hardware con le schede video di Nvidia. Non passò molto tempo e l'azienda rispose con un nuovo software che non solo ha permesso di superare le carenze tecniche, ma anche di cambiare il quadro prestazionale, evidenziando una leggera leadership sulla concorrenza.

Questa volta il quadro è un pochino differente. AMD ci ha fornito un driver ottimizzato, ma quando abbiamo chiesto a Nvidia se ne avesse uno, i rappresentanti dell'azienda ci hanno risposto un po' infastiditi, rimandandoci all'attuale versione WHQL, i GeForce 361.91.
Ashes of the Singularity è davvero la vetrina perfetta per le DirectX 12. Al suo interno ha un sacco di piccole entità controllate dall'intelligenza artificiale che si muovono in un'area ampia. Questo ha sia dei pro che dei contro. Da una parte mostra i benefici della nuova API, ma allo stesso tempo può fuorviare, perché i miglioramenti saranno meno pronunciati in quei titoli che non sfruttano esplicitamente le nuove caratteristiche delle DirectX 12 in modo così pesante.

La caratteristica al centro del dibattito attuale è Asynchronous Shading/Compute. Permette l'esecuzione di operazioni grafiche (shading) e calcoli in modo parallelo e asincrono (ossia indipendentemente dall'ordine). Se correttamente implementata in hardware e software, questa tecnologia può ridurre nettamente la latenza, restituendo prestazioni più elevate.
Qui sotto potete vedere un diagramma che mostra come sono gestite le operazioni con le DirectX 11. Sono eseguite una a una, in ordine fisso. Questo ordine non può essere cambiato e l'unico modo per raggiungere l'efficienza è suddividere la coda e mantenerla piuttosto corta.
Con le DirectX 12 la coda può essere suddivisa in modo che le operazioni siano completate nello stesso momento e sfalsata l'una dall'altra. Questo modus operandi funziona piuttosto bene nel benchmark che analizziamo in questo articolo e quindi dovremo vedere realmente il potenziale di Asynchronous Shading.
Ricordate però che l'impatto reale di questa nuova caratteristica dipende da quante operazioni in un gioco particolare beneficiano dall'essere svolte in parallelo, ossia in modo asincrono. Non ci saranno benefici se le operazioni sono dipendenti dai risultati delle altre o se l'overhead necessario per gestire tutte le operazioni è maggiore rispetto ai miglioramenti legati all'esecuzione asincrona.
Diverse revisioni dell'architettura GCN di AMD includono miglioramenti votati a questa funzionalità, perciò le GPU Tonga, Hawaii e Fiji si comportano meglio con Asynchronous shading/compute. Le architetture Kepler e Maxwell di Nvidia vivono momenti più difficili. L'azienda sta cercando di compensare tramite software.
Il seguente grafico mostra chiaramente che Nvidia non è ancora al livello desiderato. Dopo aver attivato la nuova funzione delle DirectX 12 nel file .ini, le prestazioni delle schede AMD crescono marcatamente mentre quelle delle soluzioni Nvidia peggiorano leggermente. L'opzione di attivare o disattivare questa operazione ci ha convinto a concentrare tutti i nostri sforzi su DirectX 12 e Asynchronous compute. Per mantenere il test il più leale possibile testiamo tutte le schede video con le impostazioni più adatte a loro.

Configurazione di prova
Usiamo lo stesso sistema di prova che abbiamo da un po' di tempo. Non abbiamo fatto alcun cambiamento:
Specifiche tecniche | |
---|---|
Configurazione | Intel Core i7-5930K at 4.2GHz Alphacool Water Cooler (radiatore 24cm) Crucial Ballistix Sport, 4x 4GB DDR4-2400 MSI X99S XPower AC 1x Crucial MX200, 500GB SSD (Sistema) 1x Corsair Force LS 960GB SSD (Software, Data) be quiet Dark Power Pro, 850W Windows 10 Pro (aggiornato) |
Driver | AMD: Radeon Software 15.301 B35 (driver beta per la stampa,febbraio 2016) Nvidia: GeForce 361.91 WHQL |
Benchmark giochi | Ashes of the Singularity Beta 2 (stampa) |
Dato che il benchmark ci mette a disposizione un file di log molto interessante che contiene tanti dettagli - e non solo i risultati generali - abbiamo aggiornato il nostro interpreter per avvantaggiarcene, prestando attenzione a cose importanti come il frame time.