DirectX 11:
Come abbiamo visto, Nvidia con il chip GF100 ha migliorato l'architettura grafica, sconvolgendo in parte o potenziando le sue precedenti soluzioni grafiche. Essendo la nuova Gpu GF100 studiata per supportare le nuove API DirectX 11, andiamo a vedere che innovazioni tecnologiche offrono per rendere gli ambienti di gioco sempre più dettagliati e coinvolgenti.
I tre elementi "cardine” delle directX11 sono:
-
Tessellation: Direttamente implementata nella GPU per calcolare superfici curve in modo più armonioso, consentendo quindi di ottenere immagini graficamente più dettagliate.
-
Multi-Threading: Maggior supporto e scalabilità per le CPU multi-core.
-
DirectCompute: La possibilità di usare schede video discrete per accelerare videogiochi e applicativi d'uso comune.
Il funzionamento dell'unita di Tessellation non è complicata e permette di partire da un modello 3D poco complesso, per arrivare ad uno molto complesso senza appesantire troppo la GPU.
Un tessellatore prende un poligono e lo suddivide in molti triangoli per amplificare il dettaglio dell'oggetto, applicando ricorsivamente una regola di suddivisione.
Con la tecnologia tessellation si potranno introdurre nei giochi dei personaggi ultra dettagliati e renderizzati in tempo reale che ricorderanno molto quelli dei film di animazione. Tutto è gestito via hardware. I benefici di questa tecnologia paiono evidenti, più poligoni significano maggiori dettagli e perciò maggiore realismo.
In poche parole, questa tecnica consente di aumentare in maniera esponenziale il numero di triangoli per la sua riproduzione, con un livello di dettaglio che è variabile a seconda del punto di osservazione (più questo è vicino, maggiori saranno i triangoli generati così da incrementare il realismo dell'oggetto).
Vediamo di seguito come il tessellation lavora durante una sessione di Heaven Benchmark v2.0 e Stone Giant :
Le DirectX 11 introducono anche lo Shader Model 5.0 offrendo cosi agli sviluppatori un approccio di programmazione ben indirizzato. Questa è l'ultima evoluzione dello shader model, dopo quello 4.0 implementato con le API DirectX 10 e lo shader model 3.0 delle prime architetture DirectX 9.0c.
Interessante è la Gestione Multi-threading: Le nuove directX 11 gestiscono in modo più efficiente rispetto alle precedenti i processi multithreading. Le applicazioni DirectX runtime e DirectX driver possono ora essere eseguite in thread separati. Altre operazioni, come il caricamento di una texture, possono avvenire in parallelo con il principale task di rendering della scena. Questa nuova implementazione nelle API permetterà agli sviluppatori di "ottimizzare" al meglio le cpu Multi-threading, dosando in maniera omogenea il carico di lavoro. In questa maniera si potranno ottenere prestazioni decisamente più elevate con le cpu multi-core.
Le nuove DirectX 11 implementano la possibilità di usare schede video discrete per accelerare videogiochi e applicativi d'uso comune. Questa nuova funzione, prende il nome di DirectCompute.
Le applicazioni di DirectCompute includono la fisica, il ray-tracing, l'intelligenza artificiale, il post processing dell'immagine, la trasparenza order-independent e il rendering delle ombre, oltre alla transcodifica video con Cuda di Nvidia e Stream di ATi.
Tessellation e Anti-Aliasing:
Nvidia con l’architettura Fermi si è concentrata per migliorare lo sviluppo del tessellation e dell’ anti-aliasing. Entrambe le caratteristiche influiscono in maniera differente sulle applicazioni, ma cercano di ottenere lo stesso risultato, ovvero quello di migliorare il realismo e la qualità dell'immagine. La Tessellation non è una novità assoluta, ma da quando è entrata nelle specifiche DirectX 11 sempre un maggior numero di giochi ne fanno uso.
Nell’architettura GF100 di Fermi ognuno degli 11 Shader Multiprocessor presenti della GTX465 include il suo PolyMorph Engine che lavora con il resto degli SM per prelevare vertici, applicare la tessellation, effettuare le trasformazioni, attribuire la configurazione e inviare il risultato in memoria.
In ogni stadio, l'SM gestisce vertex/hull shading e domain/geometry shading. Da ogni motore PolyMorph, le primitive sono inviate ai raster engine, ognuno in grado di gestire otto pixel per clock (totalizzando 32 pixel per clock per l'intero chip).
Per migliorare le prestazioni e rendere l'uso della tessellation più semplice, Nvidia ha dovuto abbandonare il front-end monolitico per un design parallelo.
Nvidia ha rilasciato diverse demo per dimostrare l’efficienza del suo tessellation:
Come abbiamo detto, Nvidia con il progetto Fermi ha innalzato la qualità a video, proponendo un filtro Anti Aliasing 32x che è basato su un classico 8x AA multisample con l’ausilio di 24 coverage sample.
Vediamo con un esempio pratico come la qualità del filtro migliora in maniera consistente. Prendiamo come esempio il gioco Age Of Conan. La prima immagine è con AA a 1616xCSAA:
La seconda immagine è fatta con AA a 32xCSAA :
Si vede chiaramente come l’immagine con AA a 32xCSAA sia decisamente più dettagliata e priva di scalettature.
Nvidia con GF100 ha migliorato in maniera consistente la gestione dell'anti aliasing intervenendo di fatto su tre aspetti:
-
32x Coverage Sampling Antialiasing (CSAA): interviene migliorando la riproduzione di linee che sono quasi verticali o quasi orizzontali, per le quali quindi l’angolo rispetto ad un piano a 0 gradi o uno a 90 gradi è molto ridotto.
-
Alpha to Coverage da Coverage Samples: viene abilitato ogni volta che transparency multisampling e CSAA sono abilitati da driver. E’ una funzionalità utile soprattutto in giochi non recenti, mentre nei titoli di ultima uscita è generalmente preferibile adottare il transparency multisampling.
-
Transparency Supersampling migliorato: questa modalità è quella che ha permesso di ottenere il miglior incremento qualitativo rispetto alle precedenti implementazioni, particolarmente evidente in quei titoli che riproducono molti ambienti con vegetazione e foglie. Da pannello di controllo dei driver NVIDIA sono presenti oltre alle tradizionali opzioni di controllo dell'anti aliasing, anche le modalità di Transparency aa configurabili sia in multisample come in supersample, quest'ultimo sino alla modalità 8x.
Tecnologia 3D Vision Surround:
La tecnologia 3D Vision Surround di Nvidia ci permette di utilizzabili ben 3 schermi in configurazione surround, ciascuno dei tre avrà la visibilità in 3D , per utilizzare questa tecnologia servirà utilizzare due schede video della serie GeForce GF100 , collegate entrambe con la tecnologia SLI. Le due schede lavorano in modalità AFR (alternate frame rendering). Questa tecnica è quella ad oggi più utilizzata e prevede la gestione di ogni singolo frame su una GPU per volta, in modo alternato.
Le due GPU presenti in configurazione SLI si fanno carico in maniera alternata della gestione dei frame, dividendosi il lavoro. Nella modalità Surround il rendering viene gestito in modalità AFR: in questo scenario il carico di lavoro aumenta in maniera consistente, visto che ogni frame viene calcolato due volte da ogni GPU una per ogni occhio. I due dati elaborati vengono successivamente uniti attraverso il bridge SLI e visualizzati a schermo.
Per poter giocare in modalità stereoscopica su tre schermi contemporaneamente è necessaria una potenza di calcolo ragguardevole, impossibile da erogare con una sola scheda video. Oltre ai driver per questa tecnologia Nvidia fornirà una lista di videogiochi che supportano la tecnologia 3D Vision Surround ed un documento in cui mostra come utilizzare al meglio questa nuova tecnologia.
Di seguito potete scaricare la lista di compatibilità dei giochi con la tecnologia 3D Vision Surround:
http://www.nvidia.com/object/LO-94914.html
I driver dotati di certificazione WHQL che supportano questa tecnologia, allo stato attuale sono i ForceWare 258.96.
Nvidia pertanto dà la possibilità di abilitare la modalità stereoscopica su tre monitor, a patto di possedere tre monitor LCD da 120 Hz identici, due schede grafiche e in modalità SLI e il kit GeForce 3D Vision.
A differenza della tecnologia multi-monitor di ATI, inoltre, 3D Vision Surround non necessita di monitor DisplayPort: è sufficiente avere 3 normali display LCD con porta DVI dual-link.
Di seguito andiamo a vedere all’atto pratico come funzione questa tecnologia: