NVIDIA GeForce GTX Titan: l'analisi prestazionale

NVIDIA GeForce GTX Titan: l'analisi prestazionale

Dopo aver analizzato le caratteristiche tecniche e architetturali della nuova scheda video GeForce GTX Titan è il momento di mettere alla prova il chip GK110 con i videogiochi. A confronto con GeForce GTX 690, GeForce GTX 680 e Radeon HD 7970 GHz Edition

di pubblicato il nel canale Schede Video
NVIDIAGeForceRadeonAMD
 

I test: andiamo oltre i frames al secondo

Con questo articolo abbiamo scelto di introdurre una nuova metodologia di analisi del comportamento delle schede video, con il quale poter meglio studiare il comportamento delle GPU di ultima generazione con i titoli più recenti. Questo nuovo approccio trova spunto dal lavoro sviluppato da Scott Wasson di Techreport, che nel Settembre 2011 con questo articolo ha puntato l'attenzione sui limiti propri di un'analisi delle prestazioni delle schede video incentrata unicamente sui frame al secondo.

Avviamo questa analisi spiegando prima cosa è stato da noi fatto sino ad ora, e come il nostro approccio è destinato a cambiare. Abbiamo condotto in questi anni i test delle schede video eseguendo benchmark nativi all'interno di un gioco, oppure servendoci di sessioni di gioco registrando i frames con l'utility Fraps, riportando i frames al secondo mediamente generati da una scheda durante l'esecuzione del test o della sessione di gioco.

La risultante è stata quella di avere a disposizione un'indicazione media di riferimento, ad esempio 46 frames al secondo, che sintetizza il comportamento della scheda video nell'esecuzione di quello specifico test. Questo dato da solo nulla dice di come siano i singoli frames al secondo generati, cioè se questi siano sempre pari a 46 durante l'esecuzione del test oppure se tale risultato sia frutto di una media tra punti nei quali la scheda video assicura ben più di 46 frames al secondo e altri nei quali il frame rate è inferiore.

Da questo è nata l'esigenza di definire una soglia minima, sintetizzata dal frame rate minimo di una scena. Assieme al valor medio si prende quello più basso: se questo è almeno pari ad un valore predefinito se ne ricava che il sistema assicura una riproduzione fluida, quindi buona giocabilità, con quello specifico titolo e la configurazione hardware in uso. Se accanto ai 46 frames al secondo troviamo anche un frame rate minimo di 32 frames al secondo ne ricaviamo l'impressione che la scena sarà fluida, in quanto nel punto più lento sono assicurati almeno 32 frames al secondo. Vediamo questa teoria applicata in un esempio pratico:

hitman_esempio_fps.png (35459 bytes)

Questo grafico riassume l'andamento della scheda AMD Radeon HD 7970 GHz Edition durante l'esecuzione di un test di 30 secondi di durata con il gioco Hitman: Absolution. I frames al secondo medi sono pari a 36,3, quello minimo è di 30 e viene toccato solo una volta mentre il valore massimo è di 43 frames al secondo. Osservando un grafico di questo tipo siamo portati a ritenere che il comportamento di questa scheda video con questo test sia tale da assicurare una riproduzione fluida, in quanto il valore minimo toccato è di 30 frames al secondo e viene toccato una volta sola.

Dire che una scheda permette di ottenere 30 frames al secondo vuol dire che saranno generati 30 frames di media nell'intervallo di tempo di 1 secondo; non vuol dire che ognuno di questi 30 frames generati in un secondo venga elaborato dalla scheda video con un tempo che è identico, pari a 33,3 millisecondi. Spieghiamo questo con alcuni esempi:

esempio_1.png (23154 bytes)

Il primo caso è quello di una serie di 30 frames tutti generati nello stesso tempo, pari a 33,3 millisecondi. La risultante è quindi che nell'arco di tempo di 1 secondo coperto da questo grafico verranno visualizzati 30 frames tutti elaborati dalla scheda video utilizzando lo stesso intervalo di tempo. Detto in altro modo, i frames verranno visualizzati in sequenza tutti dopo lo stesso tempo, senza generare nell'osservatore la sensazione che vi sia un andamento a scatti.

esempio_2.png (27419 bytes)

Il secondo grafico riproduce una situazione nella quale sono sempre ottenuti 30 frames al secondo di media, ma questi sono la risutante di 30 frames anche molto diversi tra di loro. Alcuni sono elaborati in molto meno tempo di altri: più basso il tempo in millisecondi più veloce sarà stata la scheda video ad elaborare quello specifico frame, e viceversa. E' evidente come a fronte di un andamento medio che è identico il comportamento della scheda nella generazione di questo blocco di frame della durata di un secondo sia molto diverso dal caso precedente. L'utente percepirà, pur nel ridotto intervallo di tempo di 1 secondo, un andamento in parte a scatti tanto più evidente quanto maggiore è il tempo necessario per elaborare i frame più lenti.

esempio_3.png (33131 bytes)

Ultimo caso limite è quello di un sistema che preveda, sempre con 30 frames al secondo di media, un tempo di generazione di 28 millisecondi per 29 dei 30 frames dell'intervallo di tempo, con un singolo frame che richiede ben 191 millisecondi. I frames da 28 millisecondi sono corrispondenti ad una riproduzione a poco meno di 36 frames al secondo; quello da 191 millisecondi è poco sopra i 5 frames al secondo. La risultante per l'utente sarà una visualizzazione fluida di questa scena della durata di 1 secondo, salvo un singolo frame che verrà generato in un tempo percettibilmente più alto degli altri: la sensazione che se ne ricava è quella di un andamento fortemente a scatti di quello specifico frame.

La sintesi di questi 3 grafici? Tutti portano ad avere 30 frames al secondo ma il comportamento all'interno di questi 3 scenari è molto differente. Nel primo caso l'utente beneficierà di una riproduzione costante e fluida; nel secondo di un andamento in parte a scatti e nel terzo caso di un andamento sempre fluido con un ben distinto "scatto" poco prima di metà scena. Questi 3 grafici confermano come il frame rate medio non possa permettere di fornire indicazioni precise su come una scheda video si comporti nella generazione di una scena 3D, proprio perchè si tratta di una indicazione media che non entra all'interno di cosa accada all'interno del secondo, unità di tempo presa quale riferimento.

Come ovviare a questo limite? Andando a misurare cosa succeda all'interno di ogni secondo, quindi calcolando il tempo richiesto per la generazione di ogni frame. Se questo tempo è inferiore ad una certa soglia possiamo assicurarci che il comportamento del sistema sarà tale da assicurare una riproduzione fluida della scena. Viceversa se vi sono frames caratterizzati da un tempo di elaborazione sensibilmente superiore rispetto agli altri adiacenti se ne otterrà un andamento non fluido, a scatti, quindi meno piacevole per il giocatore.

Come misurare il comportamento di una scheda video frame per frame? Servendosi sempre di Fraps, utility che riporta non solo i frames al secondo medi ma anche il tempo di elaborazione richiesto per calcolare ogni singolo frame. Armati di questo strumento abbiamo selezionato alcuni titoli, eseguito delle scene e prelevato i dati così da poter ottenere uno studio del comportamento frame per frame.

E' la prima volta che procediamo con questo tipo di analisi: il tempo richiesto per testare le schede video in questo modo è sensibilmente superiore a quello di una singola esecuzione di un benchmark ma i dati che se ne ottengono permettono di avere un quadro complessivo molto più interessante, oltre che a nostro avviso più utile per chi vuole acquistare una scheda video. Dobbiamo ancora ben valutare come ottenere dati di sintesi ancor più completi dalle rilevazioni delle pagine seguenti: questo è un processo in costante evoluzione con il quale vogliamo cercare di fornire un quadro più completo delle capacità prestazionali, oltre che dei limiti, propri delle GPU di nuova generazione. Il vostro feedback a riguardo è molto importante per aiutarci a completare una metodologia di test, e una forma di esposizione dei dati rilevati, che sia la più completa e chiara possibile.

 
^