3.  Tecnologie NVIDIA - Parte seconda


Simultaneous Multi-Projection Engine

Implementata nel PolyMorph Engine 4.0 alla fine della pipeline della geometria e direttamente prima dell'unità di rasterizzazione, si occupa della generazione di proiezioni multiple di un singolo flusso geometrico.


ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 1


SMP Engine è in grado di processare il dato di geometria secondo 16 diverse proiezioni preconfigurate che condividono lo stesso punto di vista, che rappresenta il centro della proiezione, o tramite due punti di vista differenti ma solo per la posizione sull'asse X.

Le proiezioni possono essere inoltre manipolate in maniera indipendente applicando rotazioni o spostamenti rispetto a un asse.

Dato ovviamente che le stesse geometrie potrebbero comparire contemporaneamente in altre proiezioni, SMP Engine dispone di funzionalità multicast che, comunicando con l'applicazione, possono farle pilotare alla GPU affinché replichi la geometria sino a 32 volte senza alcun overhead di prestazioni, dato che il tutto è svolto direttamente in hardware dopo la pipeline.

Per renderci meglio conto dell'applicazione e dell'utilità di questa tecnologia prendiamo come primo esempio una configurazione surround: per avere una corretta visione della scena che andiamo ad osservare, il gioco dovrebbe riconoscere la nostra posizione e calcolare, di conseguenza, la scena in maniera diversa per ogni monitor.

In realtà, dovrebbe calcolare la proiezione della scena a partire dal nostro punto di vista, che è ovviamente diversa per ogni monitor in base all'angolo di rotazione/inclinazione che abbiamo dato ai nostri display.

Procediamo con un esempio per immagini in modo da chiarire ulteriormente il funzionamento di SMP Engine.

Partiamo da una configurazione a tre monitor in modalità "complanare", ovvero con tutti i display allineati tra di loro senza differenti angolazioni rispetto al nostro punto di vista.


ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 2


La rappresentazione geometrica della scena risulta corretta ma, ovviamente, riduce il campo visivo in quanto i tre display sono sullo stesso piano.

Se poi incliniamo i monitor verso di noi, andiamo ad aumentare il nostro campo visivo poiché non si troveranno più sullo stesso piano, ma se l'applicazione non percepisce tale cambiamento, la scena che ci verrà presentata non sarà più realistica in quanto la sua geometria sarà comunque resa come se i pannelli fossero ancora complanari.


ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 3


Come si evince dall'immagine, vi perdereste parte della scena in quanto le linee di proiezione che partono dal punto di vista ora intersecano la vostra "finestra", ovvero il monitor, invece di passare per il suo spigolo più esterno.


ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 4


Ecco invece come dovrebbe essere correttamente presentata la scena a campo visivo allargato, che tiene quindi conto anche degli oggetti alle estremità dello stesso e delle variazioni di visuale introdotte dal nostro punto di vista.

Si tratta quindi di avere una proiezione distinta per ogni monitor, fattore che può comportare un triplice carico di lavoro per la GPU perché, una volta creata la scena per il monitor centrale, la deve ricreare per quelli laterali in base ai parametri di proiezione dei due display.

Pascal, invece, grazie a SMP Engine, supporta tutte queste operazioni in un singolo passaggio semplicemente specificando le tre proiezioni attive separate corrispondenti al monitor appropriato: la scena viene renderizzata una sola volta e presentata simultaneamente sui tre schermi.

Va da sé che l'applicazione deve supportare impostazioni molto ampie e utilizzare le chiamate appropriate alle API SMP per abilitare questo campo visivo esteso.

Ciò significa che sta agli sviluppatori utilizzare questa funzionalità anche se, ovviamente, le potenzialità che mette a disposizione sono sicuramente interessanti per le nuove tecnologie di display e per VR, come andremo ora a vedere.

Per generare un'immagine per un dispositivo VR servono infatti due proiezioni distinte della stessa scena, una per l'occhio destro e una per quello sinistro.

Dato, però, che il Simultaneous Multi-Projection Engine di Pascal supporta due centri di proiezione distinti, le due immagini possono essere create in un singolo passaggio senza la necessità di renderizzare prima una o l'altra e poi spostare il punto di vista.


ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 5


Questa modalità, che NVIDIA ha chiamato Single Pass Stereo, effettua il vertex processing dell'immagine una sola volta, ma restituisce in output due posizioni per ogni singolo vertice, corrispondenti alla proiezione secondo il punto di vista dell'occhio destro e di quello sinistro.

Di tutte queste operazioni si fa carico direttamente SMP Engine che, come detto, può anche calcolare ulteriori proiezioni simultaneamente per generare un'immagine in grado, ad esempio, di compensare immediatamente, o quasi, la distorsione delle lenti dei dispositivi VR.

Come infatti è noto, i visori sono dotati di lenti tra gli occhi dell'osservatore e il display che creano delle distorsioni dell'immagine.

Per rappresentare quest'ultima in maniera corretta agli occhi dell'utente, la stessa deve quindi essere renderizzata con delle proiezioni speciali in modo da invertire la distorsione delle lenti.

Questa inversione della distorsione, andando a sovrapporsi a quella generata delle lenti, verrà quindi cancellata con il risultato che, quando l'immagine sarà visualizzata, risulterà priva di qualunque distorsione.

Per una scheda tradizionale, senza SMP Engine, questo procedimento prevede un doppio passaggio, ovvero il rendering della scena in modo normale e la successiva manipolazione dell'immagine per applicare la distorsione inversa rispetto a quella delle lenti.


ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 6  ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 7 
A sinistra il rendering iniziale e, a destra, l'immagine finale elaborata per un dispositivo VR.


Da questa coppia di immagini si capisce come una buona porzione dell'immagine renderizzata sia sostanzialmente inutile e, per darvi qualche parametro, nell'immagine di sinistra ci sono esattamente l'86% in più dei pixel necessari ad ottenere l'immagine finale per il dispositivo VR (2.1 megapixel per occhio contro gli 1.1 necessari secondo i parametri Oculus Rift).

Sfruttando le possibilità di gestione di molteplici piani di proiezione SMP di Pascal, NVIDIA ha aggiunto la funzionalità denominata Lens Matched Shading che, suddividendo l'immagine in quattro quadranti a cui sono applicati piani di proiezione diversi, approssima la forma della distorsione generata dalla lente prima di passare l'immagine allo step successivo di elaborazione.


ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 8  ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 9 
A sinistra il rendering iniziale con tecnologia Lens Matched Shading attivata e, a destra, l'immagine finale elaborata per un dispositivo VR.


Come si vede nell'immagine di sinistra, con Lens Matched Shading applicato, la porzione iniziale renderizzata è decisamente minore rispetto a quella completa garantendo, quindi, un immediato risparmio di risorse di calcolo e quindi una velocizzazione del processo.

Stando a quanto affermato da NVIDIA, le immagini generate con Lens Matched Shading hanno un peso di circa 1.4 megapixel per occhio contro i 2.1 dell'immagine intera.

NVIDIA ha affermato che rilascerà un SDK per permettere agli sviluppatori di trarre il massimo beneficio da queste funzionalità, permettendo loro di tarare i parametri dei piani di proiezione per approssimare al meglio la forma delle lenti e, quindi, della distorsione necessaria all'immagine, oltre che disporre di un set di opzioni per gestire la qualità ed il peso complessivo della stessa andando a definire le zone che devono avere maggiore dettaglio e quelle che possono essere, invece, maggiormente compresse.


ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 10


Considerando l'utilizzo contemporaneo delle funzionalità Single Pass Stereo, che permette di processare la geometria dell'immagine una sola volta, e Lens Matched Shading, che riduce il numero di pixel da processare, NVIDIA afferma che le prestazioni in VR vengono migliorate di un fattore 2X sulle nuove schede Pascal con SMP Engine.


Nuova tecnologia e modalità multi GPU (SLI)

Con Pascal cambiano anche le possibilità e le modalità delle configurazioni multi GPU NVIDIA.

Sino alla serie 9 le schede disponevano di una doppia interfaccia di comunicazione necessaria alle configurazioni a 3 o 4 vie, mentre con Pascal entrambe sono state unite in una sola per migliorare la banda passante a disposizione.

Questa nuova modalità Dual-link SLI permette alle due interfacce di essere utilizzate in tandem per inviare il segnale ad un unico pannello ad alta risoluzione o a configurazioni multimonitor.

La modalità Dual-link SLI è supportata tramite un nuovo connettore chiamato HB Bridge, mentre chi vuole utilizzare i vecchi modelli potrà comunque farlo anche se la velocità di comunicazione sarà ovviamente limitata.

Per darvi qualche numero, segnaliamo che i nuovi HB bridge lavorano a 650MHz contro i 400MHz di quelli precedenti, anche se NVIDIA sostiene che i vecchi modelli con LED (per intendersi i bridge "customizzati" di ASUS, EVGA e MSI), se utilizzati con Pascal, riceveranno uno speed boost e lavoreranno a 650MHz.

Ecco una tabella riassuntiva pubblicata da NVIDIA con le configurazioni SLI consigliate in base alla risoluzione che si intende raggiungere e al bridge a disposizione.


Collegamento/Risoluzione
 Full HD
WQHD@60Hz
WQHD@120+ Hz
4K
5K
Surround View
Bridge standard
OK
 OK NO NONO
NO
Bridge LED
OK OK OK OKND
 ND
 HB Bridge
OK OK OK OK OKOK


Per quello che invece riguarda le nuove modalità multi GPU, ci si deve rifare ai cambiamenti introdotti da Microsoft nelle nuove librerie DirectX 12 in merito alle configurazioni con più adattatori grafici.

Le ultime API prevedono infatti due modalità differenti chiamate Multi Display Adapter (MDA) e Linked Display Adapter (LDA).

La modalità LDA a sua volta si suddivide in due categorie: LDA Implicita, utilizzata da NVIDIA per lo SLI, e LDA Esplicita dove sono gli sviluppatori che hanno la responsabilità di gestire tutte le operazioni necessarie al buon funzionamento delle configurazioni multi GPU.

Di seguito una piccola tabella riassuntiva delle due modalità


Funzioni/Modalità
 MDALDA Implicita
LDA Esplicita
 Algoritmo di controllo
Applicazione
NVIDIA SLI
 Applicazione
 Numero di adattatori
 numero di GPU
 11
Numero di nodi/adattatori
 11
1/GPU
 Bridge disponibile per passaggio dati
 NOSì, driver
Sì
 Numero di GPU supportate
 Qualsiasi 2Qualsiasi


In modalità LDA il buffer video di ogni GPU può essere collegato in modo tale da sembrare un unico e grande insieme di memoria cui gli sviluppatori possono attingere indipendentemente dalla GPU cui appartiene: vantaggioso in termini di memoria disponibile ma con qualche problema di prestazioni se i dati cui accede la GPU B sono in realtà nella memoria della GPU A in quanto la comunicazione avviene tramite il bus di comunicazione delle GPU.

In modalità MDA invece la memoria di ogni GPU viene allocata indipendentemente da quello che accade sulle altre GPU che non possono quindi accedere direttamente a porzioni di memoria che non gli appartengono.

La modalità LDA è pensata per GPU dello stesso tipo mentre la modalità MDA risulta più flessibile e con meno restrizioni, si possono tranquillamente accorpare grafiche discrete e integrate o di produttori diversi, anche se ovviamente richiede maggiore attenzione da parte del programmatore che si deve gestire molto attentamente tutte le operazioni di comunicazione tra i vari adattatori.

Come già noto NVIDIA ha limitato lo SLI della serie 10 a due GPU offrendo solo agli utenti più esigenti la possibilità di abilitare sistemi a 4 vie tramite una particolare procedura.


Fast Sync

Si tratta di un'alternativa sensibile ai tempi di latenza rispetto al tradizionale V-SYNC, volta a eliminare il tearing permettendo comunque alla GPU di svolgere il suo lavoro di rendering senza essere limitata dal refresh rate del display in uso.

Con V-SYNC abilitato, infatti, nei giochi a elevato frame rate o con le prestazioni delle moderne GPU, quello che può succedere è che il sistema dica sostanzialmente al gioco di rallentare perché non riesce a "restare in pari" con il numero di frame al secondo che vengono generati, soluzione che, ovviamente, dipende dalla frequenza del vostro pannello.

In questa situazione, quindi, non abbiamo tearing, ma ci sarà un'elevata latenza di input, mentre se si disabilita il V-SYNC, ovvero si comunica alla pipeline di rendering di ignorare la frequenza di refresh del display e di fornire i frame renderizzati il prima possibile, si abbattono le latenze, dato che non vi sono pressioni sulla pipeline di rendering per farla rallentare, ma si vengono a creare dei fenomeni di tearing in caso di FPS elevati.

Il Fast Sync aggira il problema separando la pipeline di rendering dal display, così che il sistema possa lavorare sempre alla massima velocità, senza quindi avere latenze, e i frame, temporaneamente immagazzinati in un buffer video, vengano inviati quando quest'ultimo effettivamente li richiede eliminando, di conseguenza, i fenomeni di tearing.


ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 11


Il Fast Sync può essere abilitato tramite il pannello di controllo dei driver NVIDIA nella sezione delle impostazioni 3D nel tab impostazioni di sincronizzazione verticale.


High Dynamic Range e gestione flussi video

I nuovi pannelli HDR offrono uno dei più grandi passi avanti in fatto di qualità visiva degli ultimi venti anni.

Lo standard BT.2020 è grado di riprodurre oltre il 75% della gamma dei colori visibili, un incremento 2X se si considera che i modelli precedenti operavano in sRGB.

Tali pannelli sono inoltre accreditati di maggiore luminosità e fattore di contrasto, restituendo una qualità visiva molto più fedele al mondo reale: colori più contrastati e vividi che rendono le immagini nettamente migliori rispetto all'attuale Standard Dynamic Range (SDR).

La GPU GP104 supporta tutte le funzioni HDR già introdotte con Maxwell, colore a 12 bit, spazio colore BT.2020, funzione di trasferimento Perceptual Quantizer SMPTE ST2084 per l'encoding delle immagini, oltre ovviamente ai protocolli HDMI 2.0b 10/12bit per video 4K HDR, e ne introduce di nuove. 


 Funzionalità/GPU
GeForce GTX 980
GeForce GTX 1080
 H.264 Encode
 Sì
Sì (2x4K@60Hz)
 HEVC Encode
 Sì
Sì (2x4K@60Hz)
 10-bit HEVC Encode
 No
Sì
 H.264 Decode
 Sì
Sì - 4K@120Hz sino a 240Mbps
 HEVC Decode
 No
Sì - 4K@120Hz
8K@30Hz sino a 320Mbps
 VP9 Decode
 No
Sì  - 4K@120Hz sino a 320Mbps
 MPEG2 Decode
 Sì
Sì
 10-bit HEVC Decode
 No
Sì
 12-bit HEVC Decode
 No
Sì
  Risoluzione massima
 5120x3200@60Hz
(necessita di 2 connettori DP 1.2)
7680x4320@60Hz
(necessita di 2 connettori DP 1.3)
  Protocolli digitali di trasmissione del segnale
  LVDS, TMDS/HDMI 2.0, DP 1.2 HDMI 2.0b con HDCP 2.2,
DP (certificato DP 1.2, DP 1.3 Ready e DP 1.4 Ready)


Pascal è infatti in grado di decodificare in hardware flussi video HEVC 4K60p a 10/12 bit e di codificare in standard HEVC 4K60p a 10bit per la registrazione e lo streaming di flussi HDR, oltre a essere dotata di supporto allo standard DysplayPort 1.4 per il trasporto dei metadati HDR su connessione DP.


ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 12


Con queste caratteristiche le nuove GPU NVIDIA supportano quindi le nuove specifiche Microsoft PlayReady 3.0 che consentono la ricezione e lo streaming di contenuti 4K HDR, contesto in cui si potranno inserire sia servizi a pagamento come Netflix, sia la possibilità, tramite il software GameStream HDR, di passare un gioco da PC al televisore HDR tramite un semplice box SHIELD che, ricordiamo, supporta la decodifica HEVC a 10bit senza alcun degrado dell'immagine.


GPU Boost 3.0

Con il nuovo processo produttivo FinFet+ a 16nm gli ingegneri NVIDIA si sono dati molto da fare anche per ottimizzare tutti i singoli transistor in modo da ridurre i timing di ogni circuito interno per massimizzare la frequenza operativa raggiungibile da Pascal.

Del processo di ottimizzazione, che ha dovuto giocoforza investire tutta la GPU in quanto la massima frequenza raggiungibile non dipende dal circuito più veloce, ma da quello più lento, ha ovviamente beneficiato anche la tecnologia GPU Boost, giunta alla terza edizione.

Scendendo al massimo livello di granularità, leitmotiv di questa GPU, gli ingegneri NVIDIA hanno modificato i profili di overclock automatico in modo tale che a ogni dato valore di alimentazione potesse essere applicata una variazione di frequenza diversa e non un incremento prefissato applicato in maniera lineare.


ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 13


Analizzando le curve tensione/frequenza possiamo capire subito di cosa stiamo parlando: GPU Boost 2.0 applicava un incremento fisso di frequenza al variare della tensione applicata alla GPU lasciando, sopratutto nella parte bassa del grafico, parecchio potenziale non sfruttato.


ASUS ROG STRIX GeForce GTX 1060 OC 3. Tecnologie NVIDIA - Parte seconda 14


GPU Boost 3.0, invece, applica per ogni punto della curva V/F (tensione/frequenza) valori di overclock diversi che spingono comunque la scheda sempre vicino alla massima frequenza raggiungibile, aspetto che analizzeremo in dettaglio nella nostra specifica prova.