GeForce Italia
  • Home page
  • Dal mondo NVIDIA
  • Tips and Tricks
  • Download
  • Forum
  • Contatti
  • Link utili
Clicca per ingrandire l'immagine
 
Clicca per ingrandire l'immagine
 
Clicca per ingrandire l'immagine
 
Clicca per ingrandire l'immagine
 
Provati per voi

XFX GeForce 7800 GTX 256 MB GDDR3

4/8/2005

Profonde ottimizzazioni a tutti i livelli

Il GeForce 7800 GTX nasce con il bus PCI-Express 16X: attualmente non è prevista nessuna versione AGP, comunque possibile grazie all'adozione del noto bridge HSI. La nuova GPU di NVIDIA ha subito profonde ottimizzazioni ad iniziare dagli 8 vertex pipelines che gestiscono la geometria della scena (a questo proposito NVIDIA non ha fornito molte informazioni).

Le pixel pipelines del 7800 GTX sono più efficaci grazie a due unità di calcolo chiamate ALU o "shader units". L'ottimizzazione globale apportata a queste non è stata radicale, ma possiamo considerarlo un piccolo lifting destinato ad aumentarne l'efficacia. Come il GeForce 6, il GeForce 7800 dispone quindi di 2 unità di calcolo per pipeline. Ogni unità può gestire più operazioni ma non può che determinare un risultato per volta. Possono dunque effettuare un'operazione semplice o una combinazione di queste, ma non 2 operazioni diverse.

Il principale miglioramento che è stato apportato, è l'aggiunta di un "addizionatore" nella prima unità, che nella serie GeForce Serie 6 non era capace di trattare le addizioni e le altre istruzioni correlate, in particolare i MAD. Un MAD non è altro che una moltiplicazione seguita da un'addizione, per esempio: X * Y + Z. Queste due operazioni, moltiplicazione e addizione, sono ricorrenti nei differenti algoritmi di rendering, accade dunque spesso che una moltiplicazione ed un'addizione sia dipendente l'una dell'altra: il GeForce 7800 GTX permette ora di trattare rapidamente tutto in una sola operazione. Nel GeForce 6800, solo la seconda unità dispone ddell'accoppiata moltiplicatore ed addizionatore ed è dunque la sola a poter trattare un MAD. Nel GeForce 7800, tutte e due le unità di calcolo hanno questa capacità, che secondo NVIDIA raddoppia la potenza di calcolo della sua nuova GPU. Ricordiamo a questo proposito che un pixel shader, nella pratica, non utilizza soltanto MAD.

Le pixels pipelines passano da 16 a 24 (+50 %) a tutto beneficio della gestione dei pixels shaders. In più, queste pipelines sono state fortemente ottimizzate per supportare un flusso d'istruzioni superiori.
Il numero di ROP Engines (Raster Operation) non è stato modificato, cosa logica dato che l'occupazione della banda passante di memoria non aumenta particolarmente. È bene ricordare che queste gestiscono anche l'antialiasing, il blending, la compressione dello Z-Buffer e del doppio Z (possibilità di calcolare due volte tanto i dati di profondità Z che di dati classici).

Riguardo le funzionalità, il GeForce 7800 GTX è una GPU in grado di gestire lo Shader Model 3.0, come la serie GeForce 6 (questa versione degli Shaders non è per il momento ancora supportata da ATI, che lo farà soltanto con il suo prossimo chip grafico). Il GeForce 7800 GTX, offre il supporto completo al formato di texture in virgola mobile FP16: dispone così anche di un buffer in virgola mobile ma è anche capace di gestire, contrariamente all'attuale architettura di ATI, operazioni di blending e di filtering, cosa che permette di gestire l'HDR in modo più flessibile ed efficace. Solo la gestione dell'antialiasing di tipo multisampling non è supportata con il formato FP16.

A proposito dell'HDR: il noto motore di rendering High Dynamic-Range utilizza una floating point a 16-bit (64-bit in totale, quattro componenti FP16 per essere precisi) per produrre scene luce con un range molto dinamico. Gli oggetti scuri appaiono realmente scuri mentre le scene luminose o la luce stessa riescono ad essere incredibilmente reali, con i dettagli ben visibili in tutte le condizioni. Gli sviluppatori possono ora convertire con facilità le loro applicazioni in totale compatibilità con l'HDR Render e aggiungere molti effetti speciali prima neanche lontanamente immaginabili.

La scena è renderizzata in un buffer (RT, Render Target) a 64 bit, come tutte le altre parti che la costituiscono ed in seguito assemblata (tutte le parti sono viste come textures). Per fare in modo che tutto questo funzioni in maniera semplice, la GPU deve supportare il filtraggio ed il blending FP16. Questo è il caso del GeForce Serie 6 e 7, ma non del Radeon X800. Accedere a delle textures FP16 può essere costoso in risorse ma è importante precisare che il filtraggio non lo è, considerato che necessita solo di transistors da implementare sulla GPU: per questa ragione non vengono ridotte le performance quando è utilizzato. Infine, il blending FP16 consuma molta banda passante di memoria, due volte in più del normale.

NVIDIA annuncia un aumento significativo del rendimento con il G70. Mentre l'NV40 richiede 108 cicli per uno shader, il G70 ne richiede solo 79, con un'efficienza del +36%. Secondo il tipo di shaders utilizzato, il GeForce 7800 GTX ha un vantaggio che varia dal +6 al +37% rispetto alla serie precedente.

Certamente ci starete domandando perchè NVIDIA ha un particolare interesse per gli shaders. Molto semplice, le applicazioni oggi utilizzano sempre meno quelle tecnologie che oggi sono considerate "vecchie": geometria e texture. La tendenza degli sviluppatori è di impiegare sempre più shaders che permettono di riprodurre superfici, ombre e luci realistiche. Più si adoperano shaders evolutis, più è possibile ottenere riflessi differenti in funzione del materiale rappresentato: metallo, acqua, vetro, plastica, ecc.. La versione degli shaders è anche molto importante: a questo proposito, è bene ricordare che anche il GeForce 7800 GTX è una GPU in grado di gestire lo Shader Model 3.0, come la serie GeForce 6 (questa versione degli Shaders non è per il momento ancora supportata da ATI, che lo farà soltanto con il suo prossimo chip grafico).

Una delle altre caratteristiche avanzate che NVIDIA introdusse con'NV40 è la "predizione dinamica". Si tratta, in poche parole, di una funzione che permette di facilitare la scrittura di certi shaders e di aumentare l'efficacia di altri shaders evitando di calcolare una parte di questi sui pixel che non ne hanno bisogno. Per esempio, perchè applicare un filtraggio di "addolcimento" dei bordi di un'ombra se il pixel è proprio nel mezzo dell’ombra? La "predizione dinamica" permette di determinare se il pixel ha bisogno o no di essere trattato. Splinter Cell Chaos Theory ad esempio è uno dei videogames che utilizza questa tecnica mentre il videogame "The Chronicles of Riddick" calcola tutto per ogni pixel: in quest'ultimo caso, le prestazioni vengono pesantemente penalizzate.
Precisiamo che la "predizione dinamica" è efficace in condizioni ben precise. In una GPU, i pixel sono trattati a gruppi di centinaia e migliaia. Il flusso d'istruzioni non è gestito per pixel ma per gruppi di pixel, ciò significa che le conseguenze di un'istruzione applicata si ripercuotono su tutti i pixel di uno stesso gruppo.

Links
 

Introduzione >

 

NVIDIA G70: un concentrato di tecnologia >

XFX GeForce 7800 GTX - Caratteristiche >

 

Profonde ottimizzazioni a tutti i livelli>

 
 

Rendering fotorealistico con l'High Dynamic Range >

 
 

Nuovo antialiasing >

 
 

CineFX 4.0 >

 
 

Complete funzionalità di accelerazione e compressione video >

 
 

Configurazione di prova e test - Conclusioni >

 





| << | < | 1 2 3 4 5 | > | >> |

torna su

HOME PAGE | DAL MONDO NVIDIA | TIPS AND TRICKS | DOWNLOAD | CONTATTI | LINK UTILI | Feed RSS news in formato XML
Copyright © 2005. Tutti i diritti sono riservati. Info legali.
È vietata la riproduzione anche parziale di contenuti e grafica, in qualsiasi forma o supporto.
powered by AliePro