![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| « Torna all'articolo - Stampa | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Pagina 1 - Introduzione
Il mese di Aprile 2004 sarà sicuramente ricordato dagli appassionati di grafica 3D come uno dei più ricchi di novità degli ultimi anni. Con circa 2 settimane di distanza, infatti, sia NVIDIA che ATI introducono in questo mese le proprie nuove soluzioni video di fascia alta, destinate a proporre nuovi riferimenti prestazionali assoluti e a diventare piattaforme di riferimento per le prossime generazioni di giochi 3D. Negli ultimi 2 anni il mercato delle schede video di fascia alta è stato caratterizzato da un'architettura dominante: si tratta del progetto ATI R300 utilizzato per la prima volta sulle schede Radeon 9700PRO, a sua volta evolutosi in R350 (Radeon 9800PRO) e R360 (Radeon 9800XT) con più elevati livelli prestazionali ma mantenendo pressoché invariata la propria architettura di base. ATI è riuscita, con la propria prima soluzione DirectX 9, a presentare un chip dalle prestazioni fenomenali, sfruttando appieno prima il ritardato debutto di NVIDIA con il progetto NV30, quindi le ridotte prestazioni di quest'ultimo rispetto alle soluzioni R300. Molti appassionati di grafica 3D credono che per un'azienda come NVIDIA il commercializzare una soluzione video come NV30, così nettamente inferiore rispetto al prodotto concorrente, potesse rappresentare un vero e proprio canto del cigno, una serie di errori che porta rapidamente al fallimento. NVIDIA è un'azienda dal fatturato, nel 2003, pari a circa 2 miliardi di dollari USA, che ha raccolto quote di mercato decisamente invidiabili in tutti i settori nei quali è presente con propri prodotti e che ha destinato, negli ultimi 3 anni, la incredibile cifra di 1 miliardo di dollari USA in ricerca e sviluppo. Che un progetto non emerga allineato a quelle che sono state le previsioni originarie è qualcosa che può accadere anche ad un'azienda così grande come NVIDIA, ma che non può evere effetti così catastrofici. Lo stesso vale, ovviamente, per ATI qualora il produttore canadese non fosse capace, con la propria soluzione R420, di presentare sul mercato un chip video comparabile a quello NV40. Conoscendo la storia passata di NVIDIA e i problemi legati al progetto NV30, si può ben capire quali siano le aspettative legate al debutto di una nuova architettura video per NVIDIA. Il mercato osserva con molta attenzione il produttore di Santa Clara e proprio per questo motivo tra i due contendenti è NVIDIA il primo a scendere in campo presentando la famiglia di schede GeForce 6800, nuovo nome con il quale vengono indicate le schede video basate sul ben noto chip NV40. Già dal nome emerge un netto cambiamento, in quanto si ritorna alla familiare sigla GeForce abbandonando quell'FX che era stato originariamente intodotto con la serie di schede NV3x. La sigla 6800 riprende invece la numerazione utilizzata in precedenza, quando al primo prodotto della famiglia NV3x era stato dato il nome di GeForce FX 5800. Ad una prima rapida analisi sembra che NV40 raccolga poche novità significative: come i chip della serie NV3x, infatti, NV40 è compatibile DirectX 9. Le frequenze di clock del chip sono sostanzialmente allineate a quelle dei predecessori, mentre per la memoria si è passati a quella GDDR3 ma comunque rimane invariata l'architettura del bus a 256bit di ampiezza. Analizzare un prodotto così innovativo come NV40 utilizzando solo questi dati, tuttavia, sarebbe errato e riduttivo a dir poco: questo è un progetto completamente nuovo, rivoluzionario per molti aspetti, con il quale NVIDIA si lascia decisamente alle spalle l'architettura NV3x. Da questo ne consegue la lunghezza di questa analisi, dalla quale è per ovvie ragioni stata omessa la nuova architettura ATI R420 che verrà presentata ufficialmente solo verso la fine del mese. Come anticipato in introduzione, sarà un mese di Aprile estremamente ricco ed interessante.
Pagina 2 - NV40: architettura di base Prima di iniziare a descrivere le caratteristiche architetturali del progetto NV40 è necessario fare una importante premessa. NVIDIA si posiziona sul mercato come uno dei produttori più impegnati nello sviluppo di nuove soluzioni, che si concretizza nella possibilità di fornire agli sviluppatori nuove tecnologie che possano avantaggiarli nel loro lavoro. Per questo motivo, ritornando al progetto NV30, si capisce perché NVIDIA abbia cercato di introdurre caratteristiche tecniche e funzionalità superiori a quanto indicato dalle specifiche in vigore in quel momento, come ad esempio quelle delle API DirectX 9. Il ruolo da precursore è, per NVIDIA, ancor più chiaro con il progetto NV40: con questa soluzione NVIDIA vuole infatti porre le basi per quella che sarà la grafica 3D negli anni a venire, fornendo agli sviluppatori una ricca serie di strumenti indispensabili per rendere sempre più fedeli alla realtà le scene da essi realizzate.
Una delle principali innovazioni di NV40, a livello architetturale, è dato dal supporto agli Shader versione 3.0, sia per pixel che per vertex shaders. Lo schema seguente mostra le caratteristiche delle API DirectX 9.0c verificate dall'architettura NV40:
La precisione degli shader richiesta è a 32bit, con un aumento rispetto ai 24bit richiesti in precedenza dalle API DirectX 9. I chip NV3x permettevano precisione sino a 32bit, mentre quelli ATI R300 e derivati erano fissi a 24bit, rispettando appieno le specifiche ma sfruttando un vantaggio prestazionale rispetto alle architetture NVIDIA quando queste dovevano operare a piena precisione, con 32bit. Pagina 3 - Vertex Shader Analizziamo ora in dettaglio le due unità vertex shader e pixel shader. La Vertex Shader processing unit del chip NV40 vanta pieno supporto agli Shader 3.0, con la possibilità di processare sino a 65.535 istruzioni; si tratta quindi di un'unità ottimizzata per comandi estremamente lunghi. DI seguito uno schema delle differenze tra vertex shader 2.0 e 3.0:
I registri temporanei, con i vertex shader 3.0, passano da 12 a 32, integrando Instruction Predication, Dynamic Flow Control, Vertex Texture Fetch e Geometry Instancing Support. Il numero massimo di istruzioni processabili per Slot passa dalle precedenti 256 a più di 512. Pagina 4 - Pixel Shader
Interessati novità anche per i Pixel Shader 3.0: le texture instruction processabili passano da un limite massimo di 32 a non essere più limitate, mentre gli instruction slots passano da un massimo di 96 a oltre 512. Per le istruzioni eseguite l'incremento è da 96 a 65.535, con contact registers aumentati da 32 sino a 224. I Pixel Shader 3.0 introducono inoltre varie novità, tra le quali Arbitrary Swizzling, Loop Count Register e Instruction Predication. L'architettura superscalare degli Shader della GPU NV40 utilizza due distinte shader unit, che permettono in alcune condizioni d'impiego di raggiungere ben 8 operazioni per pixel.
In un'architettura tradizionale una texture per pixel viene processata alla piena velocità del chip video; lo shader potrà applicare 4 componenti, con una operazione per componente, ottenendo un massimo di 4 operazioni per pixel per ciclo.
L'architettura del chip NV40, con 2 shader unit, permette di ottenere un massimo di 8 operazioni per pixel per ciclo come massimo teorico. Alcune architetture a singolo shader permettono, su carta, di eseguire due distinte operazioni shader nello stesso ciclo di clock, come se fossero presenti due distinte shader unit. Questo può avvenire, ma con alcune limitazioni ben mostrate dallo schema seguente:
In una tradizionale architettura DirectX 9 con 1 shader unit, possono essere eseguite 2 istruzioni nella stessa unità shader, con istruzioni che operano su componenti dello stesso pixel.
Nell'architettura NV40, con 2 shader unit, nel corso di ogni ciclo le due unità shader possono eseguire un massimo di 4 istruzioni per ciclo, con un massimo di 8 operazioni per pixel. Con istruzioni si intendono i comandi inviati all'hardware, che possono influenzare differenti componenti di un pixel e richiedere più operazioni. Con operazioni s'intendono le funzioni matematiche eseguite per completare un'istruzione. Pagina 5 - Displacement mapping In occasione del debutto della scheda video Matrox Parhelia, avvenuta circa 2 anni fa, una delle caratteristiche più interessanti presentate da Matrox era il supporto hardware al Displacement Mapping, tecnologia implementata nelle API DirectX 9 ma almeno sino ad ora poco implementata. L'Hardware Displacement Mapping si compone di due distinte parti, il Depth-Adaptive Tessellation e il Vertex Texturing: vediamo in dettaglio di cosa si tratti e come operino. La geometria di una scena 3D è definita da una mesh, cioè dall'insieme dei triangoli che connessi tra di loro rappresentano la superficie degli oggetti 3D che compongono la scena. Le tecniche di tessellazione (Tessellation) permettono di generare un maggior numero di triangoli a partire dai triangoli base che compongono gli oggetti 3D: aumentando il numero dei triangoli aumenta il numero di elementi che compongono la mesh, di conseguenza il dettaglio con il quale i singoli oggetti 3D vengono costruiti nella scena. Sulla tessellated mesh viene applicata una displacement map: questa è niente altro che una immagine bitmap, tipicamente di dimensioni 64 x 64 x 8bit, con vari livelli di colore per ogni pixel (in toni di grigio, per la precisione); in base all'intensità del colore, più chiaro o più scuro, corrisponde una specifica altezza nello spazio del pixel corrispondente sulla tessellated mesh. In altre parole, le informazioni contenute nella displacement map servono per trasferire in piano tridimensionale i triangoli che compongono la tessellated mesh. Una volta applicata la displacement mesh l'immagine finale viene renderizzata, applicandone le varie textures ed eventualmente vertex shaders e pixel shaders, ottenendo la scena finale che appare a monitor. Le mesh possono essere di vario tipo: una base mesh è composta da due soli triangoli; una linear tessellated mesh è una base mesh con un maggior numero di triangoli ottenuti per interpolazione. La linear tessellated mesh può essere a sua volta elaborata con un procedimento di N-Patch, così da ottenerne una superficie curva, oppure su di essa può essere applicata una displacement map così da ottenere una vertex textured mesh, nella quale i vari pixel hanno altezza variabile a seconda dei dati contenuti nella displacement map. L'operazione di tessellation permette di
arricchire le informazioni di natura geometrica che compongono la scena 3D riprodotta. In
base al punto di osservazione dell'utente, la maggiore geometria fornita con l'operazione
di tessellation permette di arricchire notevolmente i dettagli degli oggetti in primo
piano. Allo stesso modo, però, viene influenzata la geometria anche degli elementi in
secondo piano, che per la loro particolare posizione all'interno della scena non
richiedono un dettaglio così elevato. L'approccio della Dept-Adaptive Tessellation può essere utilizzato, in modo molto intuitivo, anche con le displacement map: in altro modo, in funzione della lontananza dal punto di osservazione della scena varia il numero di triangoli utilizzato per comporre gli oggetti 3D, pertanto sempre in funzione del punto di osservazione possono essere utilizzate differenti displacement map, che intervengono sulla tessellated mesh a generare la posizione verticate dei singoli triangoli, in modo completamente dinamico in funzione dello spostamento del punto di osservazione. Anche in questo caso, la logica di fondo parte dal presupposto che più lontano è il punto di osservazione, minori dettagli saranno distinguibili in modo chiaro e quindi meno informazioni si renderanno necessarie per costruire gli oggetti. La tecnica del displacement mapping può ricordare, per alcuni versi, il bump mapping. Scopo del bump mapping era quello di creare l'impressione che su un oggetto 3D fossero presenti variazioni (bumps) della superficie, mentre il displacement mapping non crea un'illusione ma genera effettivamente sull'oggetto 3D riprodotto una variazione di superficie.
Nell'esempio, la testa di un dinosauro al quale sulla sinistra è stata applicata una mesh; sulla destra è stato applicato il colore del materiale utilizzato per la superficie.
Applicando una displacement map sulla mesh la superficie del dinosauro si presenta ricca di increspature, piccole variazioni e dettagli, rendendo l'oggetto molto più realistico. A differenza dell'utilizzo di tecniche di bump mapping, con una displacement mapping il realismo ottenuto è estremamente più elevato, in quanto non si ha la percezione degli avvallamenti presenti sulla superficie ma questi sono realmente presenti. Pagina 6 - High Precision Dynamic Range (HPDR) Chiunque osservi una scena 3D resta colpito dalla
complessità degli oggetti, dall'elevato numero di dettagli visualizzati e dal generale
realismo ottenibile. Un elemento estremamente complesso da riprodurre in una scena 3D ma
di elevatissima importanza nell'ottenimento di una visualizzazione realistica è
sicuramente la corretta riproduzione dell'illuminazione.
L'immagine qui sopra riprodotta è proveniente da un demo sviluppato da Paul Debevec alcuni anni fa per la Games Developer Conference, mirante proprio a mostrare la complessità dell'illuminazione di una scena in presenza di forti sorgenti d'illuminazione, alternate a parti al buio. Le elaborazioni richieste per generare una scena di questo tipo, mantenendo piena leggibilità degli oggetti e dei dettagli anche se con evidenti e forti contrasti d'illuminazione, sono elevatissime. Nell'immagine, le parti con luce diretta sono estremamente chiare, a contrasto con quelle in ombra nelle quali dominano i colori scuri ma l'illuminazione riflessa permette di apprezzare il dettaglio delle superfici. In passato è sempre stato molto difficile riuscire a riprodurre al meglio questo tipo d'illuminazioni. I per-pixel frame buffer standard a 32bit, infatti, permettono di utilizzare solo 255 valori per indicare i differenti livelli d'illuminazione di un oggetto, troppo pochi per poter rappresentare correttamente la dinamica di una scena con forti alternanze di luci e ombre. L'occhio umano riesce a percepire un dynamic range, tra
oggetti illuminati e non , pari a circa 14dB, con andamento logaritmico. Questo vuol dire
che vengono meglio definiti i particolari scuri più che quelli illuminati, visti più
indistintamente come luce e quindi tendenti al bianco. La tecnologia NVIDIA High Precision Dynamic Lightning, implementata nel chip NV40, permette di renderizzare scene così complesse ottenendo una superiore dinamica. Questa tecnica utilizza 3 differenti fasi per ottenere il rendering della scena: light transport, tone mapping e color and gamma correction. Il grado con il quale le singole superfici della scena
riflettono la luce viene calcolato e salvato in uno speciale buffer HDR; il contributo di
più sorgenti luminose viene sommato. L'output dell'operazione di light transport è l'HDR
per-pixel radiance, valore che può essere pari a qualsiasi numero a seconda di quanto il
pixel e soggetto a illuminazione all'interno della scena. L'algoritmo calcola, quindi,
quali oggetti risultino visibili e quindi debbano essere mostrati nella scena. Correzioni nei colori e nel gamma dell'immagine vengono applicate così da meglio adattare la scena al tipo di display utilizzato. Per via dell'andamento logaritmico della percezione dell'occhio umano, si richiede superiore precisione in prossimità delle zone nere, dove i dettagli sono maggiormente visibili, e inferiore vicino alle zone bianche. Una tecnica spesso utilizzata per rendere la dinamica delle luci al meglio è quella sRGB; a fronte di un gamma space a 8-bit e di un range da 0 a 1, sRGB permette di avere maggiore precisione in prossimità dello 0, superfici scure, rispetto a quelle più illuminate, riprendendo parte dell'andamento logaritmico dell'occhio umano. Questo permette di ottenere un risultato qualitativamente superiore al tradizionale RGB, ma con valori non lineari e comunque con un notevole margine di errore al proprio interno. sRGB si è rivelata essere una buona via per memorizzare i colori, in quanto da un punto di vista di elaborazione richiede poca potenza di calcolo e si abbina bene allo standard utilizzato da Microsoft per Windows e a quella che è la tipica riproduzione di oggetti e immagini nel web. sRGB, tuttavia, non è un valido strumento per gestire illuminazione, soprattutto quando questa viene sovrapposta con più luci in una scena, in quanto in sRGB i colori non possono essere sommati, e quindi le luci sommate. Per ottenere questo risultato i colori devono essere convertiti, richiedendo ulteriori elaborazioni, oppure si può evitare l'operazione di conversione ottenendo però una perdita di dettaglio e di precizione. La tecnologia EXR implementata nel chip NV40, derivata direttamente dallo standard OpenEXR (sito web a questo indirizzo), permette di ottenere un dynamic range pari a 12dB, con precisione logaritmica a 11bit. Queste specifiche sono già state integrate all'interno delle API DirectX 9 e con NV40 trovano un pieno supporto hardware. NV40 supporta nativamente sia EXR che sRGB; la seconda tecnica è indicata per la memorizzazione dei colori dei pixel che compongono i singoli oggetti di una scena, mentre EXR permette di elaborare cosa siano questi colori e come questi siano soggetti alle differenti luci presenti all'interno della scena.
Osservando in dettaglio le due immagini si nota come la prima vanti una superiore precisione dei dettagli, in modo particolare quando questi sono meno soggetti alle luci. Le parti illuminate non diretttamente sono meno soggette alla pura illuminazione, restituendo un dettaglio più fedele degli oggetti; in particolare, basti confrontare la parte destra del pavimento nelle due immagini per vedere il superiore dettaglio della prima scena. Pagina 7 - Multiple Render Targets La creazione di scenari 3D sempre più complessi richiede l'utilizzo sia di tecniche sofisticate, sia di una notevole potenza di elaborazione. Questa è disponibile a livelli superiori ad ogni nuova generazione di GPU presentate, ma non può ovviamente essere infinita. Per questo motivo si rende necessario l'utilizzo di tecniche che mirino ad un risparmio di potenza di elaborazione, destinandola solo dove realmente necessario. Il chip NV40 introduce la tecnologia MRT, Multiple Rendering Targets, che permette ai pixel shader di salvare pre-pixel data in vari buffers, così che questi possano essere presi dai buffer e utilizzati per applicare l'illuminazione della scena in un modo fotorealistico. Con questo genere di approccio, la geometria della scena viene calcolata nella sua completezza e solo dopo che questo è terminato vengono applicate le luci, senza la necessità di effettuare passaggi multipli tra le scene. Le seguenti immagini mostrano le tecniche di Multiple Rendering Target che permettono di generare una scena 3D dall'elevata dinamica nell'illuminazione.
Nel primo passaggio di rendering, vengono creati 3 buffers di output: una color map, una normal map e una depth map.
Nel secondo passaggio di rendering, l'illuminazione è calcolata utilizzando le map normal e depth combinate con i lightinig terms. Quindi sulla scena è applicata la color map.
Nel terzo passaggio di rendering vengono applicati i valori di illuminazione che erano fuori dal range da 0 a 1; in questa fase di rendering i glow effect sono applicati alla scena, permettendo di ottenere un realismo estremamente elevato. L'utilizzo della tecnologia Multiple Rendering Targets ha permesso di memorizzare le informazioni sui pixel in appositi buffers, evitando che alcune operazioni dei pixel shaders venissero eseguite in fasi intermedie all'interno delle fasi di rendering e ottimizzando quindi il numero di operazioni eseguite. Pagina 8 - Rotated-Grid Anti Aliasing Tra le varie novità implementate nel chip NV40 vi è da segnalare una nuova tecnologia per l'Anti Aliasing, chiamata rotated-grid antialiasing sample algorithm, che permette di migliorare sensibilmente la gestione e il realismo dei colori quando l'AA viene applicato. Questa tecnica è basata su un approccio a 4 sample per pixel, cambiando il tipo di sample che viene effettuato rispetto alle tecniche adottate dalle schede GeForce FX.
Con le GPU GeForce FX i 4 subpixel venivano presi con un pattern di griglia di tipo 2 per 2, per ciascun pixel. Con il chip NV40 e i derivati NV4x il sample viene sempre preso su 4 subpixel, ma ruotato di circa 45° così da ottenere un pattern non quadrato ma a forma di diamante.
La configurazione con griglia ruotata rispetto a quanto adottato con schede GeForce FX permette di ottenere una migliore copertura dei subpixel, sia in senso orizzontale che verticale. Dallo schema si nota come l'architettura GeForce FX permetta di avere una copertura di due valori verticali e 2 orizzontali, mentre per il chip NV40 questo numero aumenta sino a 4 sia in orizzontale che in verticale, per ciascun pixel. La più efficace copertura migliora l'accuratezza dei colori ai vertici dei poligoni sottoposti ad antialiasing, con una superiore qualità complessiva. Pagina 9 - Programmable Video Processor L'architettura programmabile del chip NV40 ha permesso di integrare numerose funzionalità, come visto in dettaglio nelle pagine precedenti. Una delle più interessanti è il Programmable Video Processor. Con questa parte del chip, presente in tutte le GPU della famiglia NV4x, nVidia fornisce un più efficace supporto a tutte le funzionalità video. Perché integrare un processore video programmabile all'interno della GPU? Le motivazioni sono varie ma principalmente legate alla notevole potenza di calcolo che la GPU rende disponibile. A questo è necessario aggiungere le potenzialità, in termini di bandwidth in upstream e in downstream, proprie della nuova interfaccia PCI Express 16x, indispensabili in caso di flussi video HDTV. Le caratteristiche tecniche del Programmable Video Processor di NVIDIA possono essere raccolte in 3 principali gruppi:
Il supporto a encoding e decoding MPEG, e al decoding WMV9, sono funzionalità estremamente interessanti che permettono di liberare il processore di sistema da buona parte delle operazioni richieste. Le funzionalità video avanzate, inoltre, permettono una migliore gestione delle risoluzioni video, senza necessità di conversioni da analogico a digitale e viceversa, per quegli ambiti di riproduzione nei quali si è costretti a forzare particolari rapporti di visualizzazione. Si pensi, ad esempio, ai flat panel oppure ai videoproiettori, dispositivi per i quali il flusso video dev'essere rielaborato e riadattato in funzione delle caratteristiche del pannello o del proiettore: operare queste funzioni all'interno della GPU permette, almeno sulla carta, di limitare al massimo il degrado qualitativo dell'immagine.
La notevole complessità del programmable video processor è evidenziata dallo schema di funzionamento, qui sopra riportato
Nello schema sopra evidenziato è mostrato una tipica operazione di decoding MPEG-2 svolta con NV40. La maggior parte delle operazioni viene eseguita all'interno del chip video, con solo il 5% dei calcoli di competenza del processore e il restante 95% svolto dal programmable video processor. Le potenzialità di un processore video programmabile integrato all'interno della GPU sono estremamente elevate, al punto che attualmente pare difficile riuscire a quantificarle con precisione. La possibilità di utilizzare la GPU in modo sempre più attivo anche nell'elaborazione di flussi video apre scenari sempre più complessi, nei quali le funzioni di programmabilità del VP permetteranno non solo di liberare il processore di sistema per altre operazioni, ma di eseguire contemporaneamente molti più compiti di elaborazione video di quanto si possa ottenere, in questo momento, con la più potente cpu desktop in commercio. NVIDIA ha sottolineato più volte che il VP verrà integrato all'interno di tutte le soluzioni video NV4x, con livelli prestazionali differenti a seconda della frequenza di clock della GPU. Sarà indubbiamente molto interessante vedere le funzionalità della VP abbinate ad un chip NV4x per soluzioni notebook, per il quale non sarà necessario attendere molti mesi. Pagina 10 - La scheda
Decisamente imponente la scheda GeForce 6800 Ultra, dominata dal dissipatore di calore integrato che provvede a raffreddare sia memoria GDDR3 che chip video. Tra i due componenti sembrano essere le memorie quelle che necessitano di maggiori attenzioni. Infatti, nonostante i ben 222 milioni di transistor integrati nel chip NV40 Ultra, la quantità di calore generata non è mai stata superiore ai 50° C (secondo la misura del pannello di controllo dei ForceWare) durante il funzionamento. La ventola di raffreddamento riprende il design scelto da NVIDIA per la reference board NV38 (GeForce FX 5950 Ultra): si tratta di un modello a turbina, che aspira aria dall'interno del case e la soffia sul radiatore. Nella parte superiore si notano le heatpipe che spostano il calore dalla parte superiore del dissipatore, sotto il quale sono posizionati alcuni dei chip memoria, verso le fitte alette di raffreddamento poste sulla parte destra. Durante il boot del personal computer, cioè prima che il sistema operativo sia stato caricato, la turbina è impostata per funzionare alla massima velocità possibile. Ciò provoca una rumorosità molto elevata. Tuttavia, una volta avviato l'OS i driver prendono il controllo della situazione e riducono sensibilmente il numero di RPM della turbina. Nello svolgimento di tutti i nostri test la scheda è sempre stata silenziosa, anche nel corso delle prove di overclock. La parte posteriore della scheda è caratterizzata dalla sola presenza del DVI transmitter, un tradizionale modello SIlicon Image. Al centro spicca la piastra di fissaggio che permette di tenere serrato il dissipatore di calore, oltre a provvedere ad un marginale raffreddamento del chip NV40 da dietro. Osservando in detaglio il PCB si notano i 4 gruppi di chip memoria GDDR3, disposti attorno al chip video. La notevole complessità della costruzione è confermata dai numerosi componenti superficiali montati sul PCB. Per rimuovere l'intero sistema di dissipazione è stato necessario svitare ben dodici viti di vario tipo, nove delle quali dotate di una molla in modo da incrementare la pressione. Tre sono gli elementi principali: la turbina, il dissipatore con heatpipe dedicato ai moduli di memoria ed il dissipatore di NV40. Smontata la turbina, portiamo alla luce i dissipatori: i due non hanno alcun punto in contatto e l'unico aspetto che condividono è l'orientamento delle alette. Nonostante NV40 sia un processore grafico costruito con un processo produttivo a 0.13 micron, la superficie del core è piuttosto estesa, sicuramente la più grande vista fino ad ora. E' evidente che NVIDIA ha progettato il package della GPU con lo specifico intento di massimizzare la superficie di dissipazione. Pulito dalla pasta termoconduttiva, abbiamo portato alla luce la serigrafia "NVIDIA NV40". Da notare anche la dicitura "ENG SAMPLE" che sta ad indicare che si tratta di un modello di pre-produzione. La scheda integra due connettori DVI per monitor TFT,
utilizzabili anche con tradizionali display CRT utilizzando degli adattatori. Buona parte
delle schede video di fascia alta apparse in commercio in questi ultimi anni abbina, per
le funzionalità dual monitor, un connettore DVI ad un tradizionale VGA, penalizzando i
setup con due display TFT dotati di connettore DVI. Non vi sono conferme ufficiali ma è
auspicabile che tutte le schede NV40, e in seguito anche le soluzioni NV4x di fascia più
economica, vengano vendute con due connettori DVI montati on board. Nella parte posteriore della scheda spiccano i due connettori di alimentazione Molex, necessari per il corretto funzionamento. Le specifiche richieste da NVIDIA sono estremamente esigenti: ai connettori devono essere collegati due cavi singoli provenienti dall'alimentatore, non in cascata, e l'alimentatore dev'essere da almeno 480 watt per poter garantire funzionamento stabile. Richieste di questo tipo dipendono direttamente sia dalla notevole complessità del chip NV40, sia dalla memoria GDDR3 che dalla insufficiente potenza erogata dal solo Slot AGP e per buona parte dei potenziali acquirenti questo richiederà di acquistare un nuovo alimentatore capace di soddisfare i requisiti. Alla luce dell'importanza, per la stabilità operativa, di utilizzare un alimentatore di qualità nel proprio sistema le specifiche richieste da NVIDIA non paiono così esagerate: del resto, chi spende più di 500 per una scheda video deve adottare componenti allineati a questa complessità, e tra essi l'alimentatore è tra i più importanti anche se probabilmente quello più sottovalutato. Fonti non ufficiali specificano che le versioni PCI Express 16x delle schede NV40 necessiteranno di un solo connettore di alimentazione Molex, grazie alle migliori proprietà in alimentazione del nuovo Slot. La scheda utilizzata nei test è una reference board sviluppata da NVIDIA; il sample ci è giunto in una confezione alquanto originale, una valigetta di alluminio. Non vi sono informazioni dirette da parte dei produttori partner di NVIDIA ma è presumibile che le prime schede NV40 prodotte in commercio verranno sostanzialmente basate sul reference design NVIDIA, come del resto è accaduto anche per il progetto NV3x-NV35 salvo alcune eccezioni rappresentate da Leadtek e da Asus. Pagina 11 - Driver: Forceware 60.72 Non ci sono state difficoltà durante l'installazione della scheda. Windows XP Professional ha riconosciuto la nuova periferica ed ha iniziato la ricerca dei driver. Noi abbiamo fermato il sistema operativo per poi procedere all'installazione manuale dei ForceWare 60.72 forniti da nVidia.
Non rileviamo particolari innovazioni in questa versione dei driver. E' stata mantenuta a livello di layout la stessa disposizione vista con i precedenti ForceWare: le varie finestre di configurazione sono accessibili da un grafo ad albero disposto sulla sinistra. La finestra principale ci informa che la scheda da noi provata è una GeForce 6800 dotata di 256 MB di memoria con interfaccia AGP 8x. Manca la dicitura "Ultra" a causa del fatto che non si tratta di una versione definitiva dei driver.
Naturalmente è possibile impostare per ogni applicazione installata una specifica configurazione della scheda. Questa funzionalità è molto utile in quanto ci permette di regolare settaggi come l'antialiasing ed il filtro anisotropico in maniera distinta a seconda della pesantezza del titolo. Proprio queste due voci presentano alcune novità: è stato eliminato l'antialiasing 6x presente nelle schede NV3x, mentre è stato introdotto il filtro anisotropico 16x. Inoltre in "Image settings" è possibile decidere oltre alle classiche High Performance, Performance e Quality, anche una nuova modalità denominata High Quality. Nei prossimi paragrafi discuteremo approfonditamente queste nuove impostazioni.
Tra le regolazioni avanzate troviamo la possibilità di disattivare il supporto ai Pixel Shader 1.x o 2.x o anche alle fixed function. Inoltre i driver sono in grado di forzare l'uso del livello di mipmap qualitativamente più scadente. Si tratta di funzionalità che hanno più uno scopo di debugging che non un'utilità reale. Anche se la misurazione temperatura dell'ambiente (37° C) ci rende un poì scettici sull'affidabilità di questo strumento, il sensore del processore grafico non ha mai fatto segnare più di 50° C anche durante l'esecuzione dei benchmark più pesanti. Tale informazione ha anche riscontro pratico in quanto anche toccando con mano il dissipatore non abbiamo mai avvertito una temperatura scottante, ma sempre tiepida.
Attivando i Coolbits dal registro di configurazione di Windows si ha accesso alla finestra dedicata all'overclock che dà conferma delle frequenze di funzionamento di 400 Mhz per il core e 550 Mhz (1,1 Ghz effettivi) per i moduli di memoria. Pagina 12 - Far Cry e UT2004: due nuovi benchmark Non c'è momento migliore di introdurre un nuovo benchmark se non quello che coincide che la presentazione di una nuova generazione di schede video. Per l'occasione abbiamo utilizzato due nuovi titoli: Far Cry e Unreal Tournament 2004. Il primo è stato aggiunto al pacchetto di benchmark messo a punto per la precedente generazione di processori grafici, mentre il secondo è sostitutivo di Unreal Tournament 2003. Per quanto riguarda Unreal Tournament 2004 non abbiamo molti elementi da portare alla luce. Essenzialmente il motore grafico è lo stesso visto con la versione 2003 e aggiunge solo qualche funzionalità in più. Abbiamo provato molteplici mappe in modalità flyby e siamo giunti alla conclusione che Antalus e Asbestos, presenti anche in UT2004, rappresentano ancora una volta la migliore piattaforma di benchmark. Queste due mappe sono diametralmente opposte: la prima mostra ampi spazi all'aperto con un fattore di overdraw piuttosto limitato, mentre la seconda è completamente al chiuso e permette di valutare meglio funzionalità come l'occlusion culling (rilevamento delle superfici nascoste). Abbiamo pertanto provveduto a rieseguire i test con queste due mappe usando il motore rivisto ed aggiornato di Unreal Tournament 2004. La vera novità è senza ombra di dubbio rappresentata da Far Cry. Sviluppato dai Crytek Studios e distribuito da Ubisoft Entertainment, Far Cry è il primo titolo ad essere dotato del potente ed innovativo motore grafico CryENGINE. Il CryENGINE è senza ombra di dubbio una delle maggiori innovazioni nel campo dei videogames degli ultimi anni e molto probabilmente, grazie all'elevata modularita e scalabilità, non sfigurerà neanche in confronto agli attesissimi Half-Life 2 e Doom III. Molteplici sono le funzionalità messe a punto da questo prodotto, ma ciò che spicca maggiormente è un massiccio supporto alle più recenti versioni dei Vertex e Pixel Shader. In particolare con la patch versione 1.1 è stato attivato il percorso di rendering dei Vertex e Pixel Shader 3.0, oltre al supporto ufficiale per NV40. Ciò fa di questo motore grafico il più avanzato attualmente disponibile e, per quanto ci riguarda, una delle più valide piattaforme di test possibili. Per i nostri benchmark abbiamo registrato due demo nelle mappe Research e Volcano. La prima è contraddistinta da ampi spazi aperti ed un massiccio uso di Pixel Shader per il rendering dell'acqua. La seconda è al chiuso e si concentra di più sul bump mapping e sul rendering dei personaggi con la tecnologia Polybump messa a punto dai Crytek Studios. Pagina 13 - Configurazione di prova
PC Mark 2004 Tale benchmark è stato sviluppato da FutureMark per testare la bontà di molteplici componenti di un personal computer. Nel nostro caso è stato usato per valutare la velocità di una scheda video nel gestire la GDI di Windows e la riproduzione di file video WMV e DivX. Inoltre i test sulla memoria permettono di rilevare lefficienza dellintero sistema CPU-Chipset-AGP-GPU. WinBench 99 2.0 Questo storico programma marcato Ziff-Davids valuta le prestazioni del sistema testando vari tipi di utilizzo. Nella valutazione della velocità di un acceleratore grafico nel gestire le applicazioni Windows, sono stati eseguiti i pacchetti Business Graphics WinMark e High-End Graphics WinMark. Il primo riproduce sequenze di Corel WordPerfect Suite, Lotus SmartSuite e Office, mentre il secondo di FrontPage, Microstation, Photoshop, Premiere, ecc 3DMark 2003 Si tratta del famoso e diffuso benchmark sintetico sviluppato da FutureMark. Nonostante il suo obbiettivo sia quello di valutare le prestazioni di una scheda video in ambito DirectX 9, in questo articolo non verrà utilizzato per questa finalità bensì per raccogliere alcune informazioni utili riguardo larchitettura di un chip grafico. Abbiamo pertanto fatto partire solo i test relativi al Fill Rate, ai Vertex Shader ed ai Pixel Shader 2.0. I risultati che abbiamo ottenuto sono quindi da intendere solo come elementi di studio e non di valutazione. Far Cry Far Cry è il più recente titolo del nostro pacchetto benchmark che fa uso dell'innovativo motore grafico CryENGINE dei Crytek Studios. Massiccio è l'uso dei Vertex e Pixel Shader, in parte anche in versione 3.0, per realizzare effetti grafici come il riflesso sull'acqua, il bump mapping e le soft shadows. Due sono le mappe utilizzate: Research e Volcano. La prima è caratterizzata da ampi spazi aperti e effetti atmosferici, mentre la seconda è al chiuso e mette meglio in evidenza il bump mapping e la tecnologia Polybump per il rendering dei personaggi. Il gioco è stato aggiornato con la patch in versione 1.1. AquaMark 3 AquaMark 3 è sviluppato dalla Massive Development, una software house famosa nel mercato dei videogames per i titoli AquaNox e AquaNox 2. Questo benchmark è basato sul motore grafico Krass Engine di AquaNox 2 che possiede alcune caratteristiche molto interessanti tra cui luso dei Pixel Shader 2.0. Splinter Cell Realizzato dalla UbiSoft e dotato di una versione pesantemente revisionata dellUnreal Engine, questo videogames è utilizzato in modalità timedemo per valutare le prestazioni di una scheda video. Le due demo utilizzate sono state registrate nelle mappe The Caspian Oil Refinery e The Chinese Embassy. La prima rappresenta una situazione si gioco abbastanza anomala con un overdraw praticamente nullo e valuta luso dei Pixel Shader 1.1. La seconda è più realistica a livello di gameplay, ma usa meno effetti programmabili. Halo E uno dei giochi presenti al lancio di X-Box, la console di Microsoft, ed ha letteralmente sbancato i botteghini per la sua grafica e la sua giocabilità. La versione per PC, approdata solo da poco sugli scaffali dei negozianti, nonostante sia un semplice riadattamento (ricordo che X-Box ha la struttura di un PC ed un processore grafico molto simile al GeForce 4 Titanium) sfrutta i Pixel Shader 2.0 per realizzare gli effetti dei Pixel Shader 1.1 in un minor numero di passate di rendering. Tomb Raider: The Angel Of Darkness Lultimo capitolo della serie che vede protagonista Lara Croft è uno dei giochi più avanzati dal punto di vista grafico. Spicca un pesante uso di effetti come il Bump Mapping, le ombre ed il Depth Of Field (messa a fuoco di particolare zone dello schermo), il tutto rigorosamente realizzato in Pixel Shader 2.0. X2: The Threat Anche in questo caso ci troviamo di fronte ad un titolo DirectX 9 anche se la maggioranza degli effetti sono realizzati in Pixel Shader 1.4. Tra le funzionalità più interessanti che vengono sfruttate di una scheda video ritroviamo il DOT3 Bump Mapping e le Stencil Shadow. Il benchmark è una rolling demo, cioè unanimazione non interattiva che mostra alcune parti del gioco. Unreal Tournament 2004 Basato su una versione rivista e aggiornata del motore grafico di Unreal Tournament 2003, questo titolo è uno dei più diffusi a livello di multiplayer gaming. Tra le caratteristiche più interessanti troviamo luso del T&L e del Bump Mapping. Quasi del tutto assenti invece i Vertex ed i Pixel Shader. Le due mappe prese in considerazione sono Antalus ed Asbestos. La prima è girata in spazi aperti molto vasti, mentre la seconda è al chiuso in un ambiente più claustrofobico. Wolfenstein: Enemy Territory Espansione di Return To Castle Wolfenstein, basato sul motore grafico di Quake III Arena, questo sparatutto non fa uso di nessuna delle funzionalità programmabili di una scheda video. Nonostante questo la demo da noi utilizzata è risultata essere piuttosto pesante perché ricca di overdraw e di effetti grafici. Si tratta a nostro avviso di uno dei pochi benchmark OpenGL attendibili rimasti. Serious Sam: The Second Encounter Questo è il secondo gioco OpenGL da noi scelto. Basato sul Serious Engine, sviluppato dalla Croteam, anche in questo caso non viene fatto uso di effetti programmabili. Diametralmente opposto come concezione rispetto a quello di Quake III Arena, questo motore grafico fa degli spazi aperti e del dettaglio delle texture i suoi maggiori punti di forza. La demo da noi utilizzata è La Grande Cattedrale. Pagina 14 - Analisi qualitativa: riproduzione video Esattamente come per il chip Volari, anche in questo caso abbiamo eseguito una valutazione qualitativa della riproduzione video. NVIDIA ha spinto molto durante la presentazione di NV40 sulle innovazioni che porta il Programmable Video Processor del GeForce 6800 Ultra. Eseguire in hardware operazioni come la codifica di filmati in formato MPEG 1, 2 e 4 apre diversi nuovi fronti di utilizzo di una scheda video. In tale sede ci occuperemo di valutare la qualità di decodifica MPEG 2 di due film su DVD: Il Signore Degli Anelli: La Compagnia Dell'Anello e X-Men 2. Per il primo abbiamo scelto il frame al minuto 52:44, mentre per il secondo un fotogramma dopo 2:08:10 di visione. Il riproduttore multimediale utilizzato è il PowerDVD 5.0 Deluxe, dal quale è stata attivata l'accelerazione hardware ed è stato disattivato qualsiasi filtro per il trattamento dei colori.
Osservando gli screenshots notiamo come qualitativamente le tre GPU considerate siano tutte sullo stesso piano, indipendentemente dal film preso in considerazione. Abbiamo provato anche a confrontare le immagini tra loro visualizzandole al 400% della loro dimensione originale e mettendo a paragone il colore dei pixel di alcune zone di schermo. Tuttavia ogni tentativo di scorgere differenze ad occhio nudo è stato vano.
Solo il Photoshop con il suo filtro "differenza" è riuscito a scovare la diversa resa dei fotogrammi considerati. Gli screenshots di ogni GPU sono stati confrontati con le immagini ottenute attraverso la riproduzione software (facendo eseguire tutti i calcoli alla CPU). Il risultato è che tra NV38 e NV40 non c'è alcuna diversità nel trattamento dell'immagine durante la riproduzione DVD, mentre elementi di distinzione sono presenti nei confronti di R360. Infine, esattamente come già emerso nella recensione di Volari Duo V8 Ultra, risulta chiaro che i due film ottengano benefici molto dissimili dall'accelerazione hardware. Nel caso de Il Signore Degli Anelli: La Compagnia Dell'Anello i vantaggi sono minimi e non quantificabili ad occhio nudo. X-Men 2, invece, rispetto alla riproduzione software, è molto più definito attivando la decodifica iDTC del processore grafico. Non a caso, con questo film, il filtro differenza del Photoshop evidenzia i contorni dei vari oggetti presenti nella scena. Pagina 15 - Analisi qualitativa: filtro anisotropico Il filtro trilineare, nonostante rappresenti ancora l'impostazione di default della maggioranza dei motori grafici, ha ormai diversi anni alle spalle (basti pensare che la prima scheda in grado di eseguirlo in un ciclo di clock è stata la Voodoo2 di 3dfx) e non è in grado di assicurare quell'incremento qualitativo richiesto affinché l'evoluzione della computer grafica possa portare al fotorealismo. Il filtro anisotropico, erede del trilineare, anche se è presente tra le features di una scheda video da diverso tempo ormai, solo con le ultime generazioni di GPU ha raggiunto un buon rapporto qualità/prestazioni al punto da farlo diventare uno degli effetti grafici più utilizzati dai videogiocatori. Il suo funzionamento è piuttosto semplice: applicare la stessa texture a tutte le superfici poligonali indipendentemente dalla distanza che esse hanno rispetto al punto di osservazione porta ad un artefatto grafico chiamato popping. Per soppiantare questo problema sono stati introdotti i livelli di mip mapping, cioè la generazione all'interno della memoria della scheda video di più versioni della stessa texture. Ogni versione è contraddistinta da una specifica risoluzione. Le texture di risoluzione superiore, cioè quelle con un più elevato dettaglio, sono applicate ai poligoni vicini al punto di osservazione, mentre viceversa, quelle con una risoluzione inferiore vengono disegnate sui poligoni più distanti. A seconda del numero di sample di una texture varia la qualità dell'immagine generata. Per valutare l'applicazione che una scheda video fa del filtro anisotropico usiamo il Texture Filtering, un programma disponibile gratuitamente sia in versione Direct 3D che OpenGL. In questo programma il punto di osservazione è all’interno di un cilindro e la texture è composta da quadrati bianchi e neri disposti a scacchiera. La banda rossa rappresenta un livello di dettaglio inferiore rispetto alla texture bianca e nera, pertanto più essa sarà lontana dal punto di osservazione (in questo caso, essendo in prospettiva, al bordo dell’immagine) maggiore sarà il dettaglio che quel particolare filtro è in grado di offrire. GeForce 6800 Ultra Filtro trilineare Filtro anisotropico 2x Filtro anisotropico 4x Filtro anisotropico 8x Filtro anisotropico 16x GeForce FX 5950 Ultra Filtro trilineare Filtro anisotropico 2x Filtro anisotropico 4x Filtro anisotropico 8x Radeon 9800XT
Una delle novità che abbiamo appreso osservando il pannello di controllo dei driver NVIDIA è nel numero di sample supportati da NV40. Rispetto alle schede NV3x, questo nuovo processore grafico è in grado di applicare un filtro anisotropico a sedici sample, esattamente come le schede basate su R3x0 e RV3x0. Le similitudini rispetto ai chip canadesi non finiscono qua. Il filtro anisotropico delle varie Radeon si è sempre contraddistinto per una distribuzione del livello di dettaglio dipendente dalla particolare angolazione delle superfici poligonali. A 0°, 45° e 90° questi prodotti offrono il maggior dettaglio delle texture, mentre a 30° e 60° otteniamo il risultato inverso. Questa tecnica adattiva è stata progettata basandosi sull'assunzione che la maggioranza dei videogames visualizza ambienti tridimensionali le cui superfici sono posizionate soprattutto a quelle angolazioni e, pertanto, l'occhio del giocatore si concentra maggiormente su tali superfici per valutare la qualità delle texture. In NV40 è stato riportato lo stesso concetto e del resto la forma che mostra il Texture Filtering è molto simile a quella vista con R360. Inoltre esiste una differenza anche nel filtro trilineare tra NV38/R360 e NV40. La forma della banda di colore rossa di quest'ultimo è più rotonda e leggermente più vicina al bordo ad alcune angolazioni. Quindi nel filtro trilineare la qualità del GeForce 6800 Ultra è leggermente inferiore. Nella valutazione del filtro anisotropico abbiamo messo a confronto anche le varie modalità che è possibile settare nel pannello dei driver. Il GeForce 6800 Ultra, oltre ai settaggi High Performance, Performance e Quality introduce anche una nuova impostazione chiamata High Quality. Ricordiamo che, mentre per le schede con chip NVIDIA tale impostazione modifica la qualità nell'applicazione di tutti i filtri (compreso il trilineare), con le GPU ATi il filtro trilineare è realizzato sempre in maniera classica (corrispondente alla modalità Quality di NV38) ed è possibile impostare solo la qualità del filtro anisotropico. Le modalità High Quality e Quality attualmente producono la medesima resa sia nel filtro trilineare che anisotropico. Quasi certamente future versioni dei driver apporteranno novità da questo punto di vista. Tra Quality e Performance la differenza è piuttosto esigua e consiste principalmente in una resa leggermente migliore delle sfumature. La modalità High Performance, invece, riduce l'adattabilità del filtro anisotropico il cui massimo dettaglio è presente solo a 0° e 90° (escluso, quindi, i 45°). Inoltre il passaggio da un livello di dettaglio all'altro avviene in maniera meno morbida (lo si nota soprattutto con il filtro trilineare). GeForce 6800 Ultra GeForce FX 5950 Ultra Radeon 9800XT All'atto pratico è molto difficile scorgere le differenze tra una diversa modalità e l'altra. Tuttavia osservando attentamente gli screenshots di NV40 con il 3D Mark 2003 possiamo notare in alcuni punti una differente gestione delle sfumature confrontando l'immagine ottenuta in High Performance con quella Quality. Pagina 16 - Analisi qualitativa: antialiasing Sempre maggiore importanza sta acquistando sia la qualità che l'utilizzabilità, intesa come frame rate, dell'antialiasing. La potenza di calcolo dei processori grafici sta crescendo sempre di più e, specie per i prodotti di fascia alta, l'antialiasing diventa una delle funzionalità più importanti e, per questo motivo, sempre più spesso soggette a giudizio qualitativo e velocistico. Esattamente come fatto nel confronto tra NV38 e R360 in questo paragrafo ci preoccupiamo di analizzare l'implementazione dell'antialiasing da un punto di vista della resa. Per far ciò ci affidiamo al FSAATester, per mettere in evidenza l'effettiva forza nella riduzione dell'aliasing, ed al FSAA Viewer, per visualizzare la distribuzione dei sample. GeForce 6800 Ultra GeForce FX 5950 Ultra
Radeon 9800XT Osservando la distribuzione dei sample del GeForce 6800 Ultra e confrontandola con quella della scheda GeForce Fx 5950 Ultra notiamo che non c'è differenza nell'implementazione dell'antialiasing 2x e 2xQ. Ricordiamo che quest'ultima è basata su un antialiasing a due sample di tipo multisampling al quale viene applicato il filtro di smussamento denominato Quincunx presente dall'epoca del GeForce 4. L'effetto di questo filtro è chiaramente visibile sui caratteri sfocati in alto a sinistra sia del FSAA Viewer che del FSAATester. Se prendiamo, invece, in considerazione l'antialiasing a quattro sample notiamo come questo sia più simile a quello del processore grafico Radeon 9800XT. L'antialiasing a quattro sample è quello più utilizzato a causa dell'ottimo rapporto qualità/prestazioni di cui è dotato. Alla generazione di schede GeForce Fx è sempre stato riproverato di possedere un algoritmo di antialiasing qualitativamente meno efficace rispetto a quello introdotto da ATi con R300. Con NV40 NVIDIA ha provveduto a modificare la gestione di questo effetto grafico e, come già spiegato nella trattazione teorica, ha incluso un RGMS (Rotated Grid Multi Sampling). Rispetto all'OGMS (Ordered Grid Multi Sampling) dei vari NV3x, questa distribuzione dei sample è ruotata di un certo numero di gradi in modo da sfumare al meglio le componenti orizzontali e verticali dei contorni poligonali. Il GeForce 6800 Ultra, rispetto al Radeon 9800XT, non ha supporto per un antialiasing multisampling con più di quattro sample. La modalità 8x è realizzata in maniera analoga a quanto visto con il GeForce Fx 5950 Ultra, cioè attraverso un algoritmo ibrido multisampling-supersampling che fa anche uso del filtro Quincunx. Esiste tuttavia una differenza nella distribuzione degli otto sample tra NV40 e NV38 dovuta alla griglia ruotata del multisampling. Pagina 17 - Analisi qualitativa: confronto antialiasing Per facilitare un confronto diretto tra NV40, NV38 e R360 abbiamo selezionato con l'Adobe Photoshop due zone dello screenshot fatto al FSAATester corrispondenti ad un poligono che si estende in orizzontale ed uno in verticale. Queste due zone di schermo sono state ingradite del 400% senza applicare alcun filtro, in modo da non invalidare i risultati. In questo modo possiamo valutare al meglio la qualità della distribuzione dei sample. GeForce 6800 Ultra
GeForce FX 5950 Ultra
Radeon 9800XT
GeForce 6800 Ultra
GeForce FX 5950 Ultra
Radeon 9800XT
La modalità a due sample (escludendo il 2xQ delle GeForce) di tutti i processori grafici offre uno smussamento poligonale molto simile, con un leggero vantaggio per i prodotti NVIDIA specie nella gestione dei sample in verticale (si noti la leggera sfumatura che accennano NV38 e NV40 sulla parte superiore del poligono verticale). Il 2xQ offre un risultato leggermente migliore. Utilizzando quattro sample la GeForce Fx 5950 Ultra mostra i limiti del Ordered Grid Multi Sampling: sia in verticale che in orizzontale la qualità ottenuta non è troppo superiore a quella vista con due sample. Con il GeForce 6800 Ultra la situazione è totalmente diversa e possiamo notare sfumature graduali su entrambi gli assi, in maniera simile a quanto accade con R360, anche se, a causa del differente angolo di rotazione, le sfumature sono cromaticamente differenti (leggermente più scure su NV40). Con le modalità facenti uso di un numero superiore di sample i risultati sono completamente differenti sulle tre GPU. NV38 è sicuramente il prodotto che offre l'implementazione più infelice: sia con sei che con otto sample la riduzione dell'aliasing è in misura inferiore rispetto ai concorrenti. Buona la qualità del FSAA 8x di NV40, anche se non risulta essere troppo differente da quella ottenuta con un FSAA 4x. Il Radeon 9800XT resta il migliore in questo campo con i suoi sei sample completamente realizzati in multisampling: da notare le sfumature in cinque gradazioni sia in verticale che in orizzontale. GeForce 6800 Ultra GeForce FX 5950 Ultra Radeon 9800XT Per avere un riscontro pratico all'interno di una scena tridimensionale della qualità che offrono le varie modalità di antialiasing abbiamo utilizzato come metro di paragone il frame 1669 del 3D Mark 2003 di FutureMark. Il primo elemento che salta subito all'occhio è la qualità delle texture in modalità 6x e 8x per NV38 e 8x per NV40. In questi casi, infatti, le texture appaiono meglio definite. Tale risultato è imputabile all'applicazione del Quincunx: per contrastare un decadimento della qualità a causa di questo filtro i driver attivano il filtraggio anisotropico delle texture con queste modalità di antialiasing. Confrontando l'antialiasing a quattro sample notiamo che tra R360 e NV40 c'è una marcata differenza nella gestione cromatica delle sfumature: più chiare per il chip canadese e più evidenti per quello americano. Il risultato è che con la scheda Radeon 9800XT i rami e i fili d'erba di questa scena risultano essere più sfumati e sottili rispetto a quelli del GeForce 6800 Ultra. Pagina 18 - Benchmark 2D
Il test Trasparent Windows del PC Mark 2004 misura la velocità di generazione delle finestre della GUI di Windows XP con effetti di semitrasparenza attivati. Nonostante una frequenza inferiore del processore grafico, il GeForce 6800 Ultra è risultato essere sensibilmente più veloce del GeForce Fx 5950 Ultra, segno che NVIDIA ha apportato delle migliorie anche al core 2D della GPU.
Il test di riproduzione video mostra risultati abbastanza allineati tra le varie GPU considerate. Esiste solo un leggero vantaggio del Radeon 9800XT con il formato video DivX.
Grazie ad una banda passante superiore, oltre che a varie migliorie apportate al memory controller, NV40 è il più veloce nell'accesso sia alla memoria video che alla memoria di sistema. In particolare nell'accesso a 16 e 32 linee dello schermo il GeForce 6800 Ultra è il migliore, mentre nel restante caso è allo stesso livello di NV38.
Molto buoni anche i risultati del Graphics WinMark che misura la velocità di esecuzione delle istruzioni GDI di Windows durante l'uso di varie applicazioni tra cui citiamo molti software facenti parte di Microsoft Office e l'Adobe Photoshop. Sia nel Business che nel High-End Graphics WinMark il GeForce 6800 Ultra è leggermente più veloce rispetto agli altri prodotti considerati. Pagina 19 - Benchmark sintetici
Punto dolente dell'architettura alla base dei vari chip grafici NV30, NV31 e NV34 è sempre stata la gestione degli effetti programmabili e cioè dei Vertex e Pixel Shader, specie se in versione 2.0. Grazie a nuove revisioni dei driver e a qualche rivisitazione hardware (NV35 e NV38) queste problematiche sono state in buona parte risolte. Dai risultati ottenuti è evidente che NVIDIA ha curato moltissimo questo aspetto dell'architettura NV40. Nei Vertex Shader il GeForce 6800 Ultra fa registrare il 50% di prestazioni in più rispetto al Radeon 9800XT ed al GeForce 5950 Ultra. Ancora più evidente, invece, è il vantaggio nei Pixel Shader 2.0 dove NV40 è quasi tre volte più veloce in paragone ai più potenti processori grafici di oggi.
Impressionanti i valori del fill rate. L'architettura a sedici pipeline mette in risalto ben 6161,3 Mtexel/s in multitexturing un risultato che fa letteralmente impallidire sia i 3410,1 Mtexel/s di NV38 che, in misura superiore, i 3218,7 Mtexel/s del Radeon 9800 XT. Anche in singletexturing i numeri sono notevoli, basti pensare che il GeForce 6800 Ultra riesce ad elaborare in singletexturing lo stesso numero di pixel che R360 calcolava in multitexturing. Pagina 20 - Unreal Tournament 2004
Il quadro che vi mostriamo con Unreal Tournament 2004 è simile a quello riscontrato anche con molti altri titoli del nostro pacchetto benchmark. La potenza di calcolo del GeForce 6800 Ultra è tale da non poter essere pienamente sfruttata dalle attuali CPU. Sia con Antalus che con Asbestos in modalità standard, cioè senza l'attivazione di filtri di antialiasing e anisotropico, all'aumentare della risoluzione non abbiamo un decadimento delle prestazioni di NV40. Ciò significa che il sistema è CPU limited. All'aumentare della risoluzione, infatti, i calcoli poligonali non variano, ma cambia solo il numero di pixel da elaborare. Se incrementando il numero di pixel la scheda non ha un calo nelle prestazioni vuol dire che nel calcolo geometrico esiste una limitazione solitamente attribuita al gruppo CPU-cache-memoria. Attivando l'antialiasing 4x ed il filtro anisotropico 8x (in modalità Quality per tutti i processori grafici) la situazione cambia in quanto il calcolo sui pixel diventa più pesante e, pertanto, le prestazioni diventano dipendenti dalla potenza di calcolo della GPU. Il vantaggio del GeForce 6800 Ultra, in quest'ultimo caso, è impressionante e raggiunge un numero di fps quasi doppio rispetto a NV38. Pagina 21 - Far Cry
Passando alla seconda new entry del nostro pacchetto di benchmark il sistema è leggermente meno CPU Limited specie nella mappa Volcano. La demo Research è più dipendente dalla potenza del sistema perché è contraddistinta da un maggior numero di poligoni e da spazi aperti molto ampi nei quali entra il gioco la CPU in più di una occasione (calcolo del livello di dettaglio poligonale a seconda della distanza di osservazione). Con Volcano il GeForce 6800 Ultra fa nuovamente registrare prestazioni doppie rispetto agli altri processori grafici. Tra l'altro la versione 1.1 di Far Cry, da noi utilizzata nel corso di questi test, attiva il percorso di rendering con Vertex e Pixel Shader 3.0 e, pertanto, questo titolo offre il miglior supporto tecnologico attualmente disponibile per NV40. Pagina 22 - AquaMark 3
Anche se il distacco non è nello stesso ordine visto con Far Cry, anche in AquaMark 3 il GeForce 6800 Ultra possiede un tangibile vantaggio nei confronti di NV38 e R360. Da notare come il CPU Score sia completamente indipendente dalla scheda video utilizzata mentre nel GFX Score oltre 1600 punti separano NV40 dagli altri prodotti. Pagina 23 - Splinter Cell
The Chinese Embassy è sicuramente uno dei test maggiormente soggetti alla limitazione della potenza del sistema, anche attivando il filtro anisotropico. The Caspian Oil Refinery, invece, è risultato essere molto più scalabile e, come già visto precedentemente in questi casi, il GeForce 6800 Ultra mantiene saldamente la prima posizione. Pagina 24 - Halo
Eccellenti anche i risultati di Halo, uno dei titoli che sfrutta i Pixel Shader 2.0. Pagina 25 - Tomb Raider The Angel Of Darkness - X2: The Threat
Ci hanno favorevolmente sorpreso i risultati di Tomb Raider Angel Of Darkness. I risultati con questo titolo sono sempre stati un punto dolente per le schede GeForce Fx a causa della particolare struttura del motore grafico. NVIDIA con il GeForce 6800 Ultra ha evidentemente risolto questi problemi visto che le prestazioni sono due volte e mezzo superiori a quelle di NV38. E' presente inoltre anche un discreto margine di vantaggio nei confronti del Radeon 9800XT.
X2 The Threat è uno dei quei titoli che meglio sfruttano l'architettura delle schede GeForce. In particolare il GeForce 6800 Ultra è capace di elaborare ben 32 texel per ciclo di clock nel caso di passate di rendering su Z-Buffer e Stencil Buffer (senza scrittura nel Frame Buffer), un notevole punto a favore in questo gioco che fa pesante uso delle Stencil Shadows. Pagina 26 - Enemy Territory - Serious Sam The Second Encounter
Entrambi i titoli OpenGL sono risultati essere CPU limited nel rendering classico. Del resto parliamo di motori grafici abbastanza datati. In questo caso, quindi, il vantaggio del GeForce 6800 Ultra è meno marcato. Pagina 27 - Analisi antialiasing
Eccellenti i risultati del GeForce 6800 Ultra anche mettendo a paragone tutte le possibili modalità di antialiasing disponibili sulle varie GPU considerate. E' interessante notare che in Asbestos il sistema è CPU limited anche alla risoluzione di 1280x1024 con antialiasing 4x. Questo comportamento, naturalmente, è dovuto alla sovradimensionata potenza di calcolo di NV40. L'unico test in cui il GeForce 6800 Ultra è stato dietro il Radeon 9800XT lo troviamo in questo grafico e, in particolare, riguarda l'uso del FSAA 8x. Questa modalità è un ibrido tra multisampling, supersampling e Quincunx e porta ad un netto crollo delle prestazioni. Solo le modalità 6x e 8x del GeForce Fx 5950 Ultra hanno fatto registrare risultati inferiori. Pagina 28 - Analisi filtraggio anisotropico
In questi grafici abbiamo voluto testare l'impatto sulle prestazioni di tutte le modalità possibili dell'antialiasing ad otto sample. Ancora una volta alle risoluzioni inferiori NV40 è CPU limited e pertanto il numero di frame al secondo non varia all'aumentare della qualità del filtro. In ogni caso anche alle risoluzioni più elevate il GeForce 6800 Ultra nella modalità "High Quality" è più veloce del Radeon 9800XT in modalità "Performance" e del GeForce Fx 5950 Ultra in modalità "High Performance". Questo significa che la migliore qualità del filtro anisotropico di NV40 produce prestazioni superiori alla peggiore qualità degli altri processori grafici. Pagina 29 - Overclock Esattamente come per le precedenti generazioni di processori grafici NVIDIA, dal registro di configurazione di Windows è possibile attivare alcune finestre che danno accesso alle funzionalità di overclock del GeForce Fx 6800 Ultra. In particolare da una finestra del pannello di controllo ForceWare si possono impostare a due modalità. La prima si chiama "Auto overclocking" e modifica dinamicamente la frequenza di lavoro di GPU e memorie a seconda dell'applicazione utilizzata e della temperatura delle varie componenti. Si tratta per molti versi di una funzionalità simile all'Overdrive di ATI Technologies. Selezionando "Manual overclocking", invece, il controllo passa completamente nelle mani dell'utente. Molto utile è il pulsante "Detect optimal frequencies" il quale attiva una serie di test sulla scheda video che hanno lo scopo di provare a raggiungere frequenze di clock sempre maggiori. Alla fine di questi test vengono riportare le frequenze ottimali considerate funzionanti alla quale possono essere portati la GPU e le memorie. Sfortunatamente non ha avuto successo questa funzionalità con NV40. Dopo aver attivato questo pulsante, infatti, il software ha impostato il core a 600 Mhz e le memorie a 1,4 Ghz, dei valori decisamente troppo elevati. Provando ad eseguire i nostri benchmark a queste frequenze il sistema è andato in crash.
Dopo aver riavviato il PC abbiamo modificato manualmente le frequenze di core e memoria e siamo riusciti a raggiungere con successo il seguente risultato: 450 Mhz per il core e 1140 Mhz per le memorie.
L'incremento nelle prestazioni che ha portato l'overclock è abbastanza soddisfaciente (specie alle alte risoluzioni) considerando che l'aumento delle frequenze è di 50 Mhz per il core e 40 Mhz per le memorie. Poiché durante tutti i test, compresi quelli in overclock, la temperatura del dissipatore è sempre stata tiepida, sia per quanto riguarda il core che per le memorie, riteniamo che le schede che raggiungeranno il mercato potranno possedere ulteriori margini. Pagina 30 - Editor's Day 2004 Lo scorso 2 Aprile NVIDIA ha invitato a San Jose alcuni giornalisti, sia europei che americani, per una intensa giornata di presentazione delle caratteristiche tecniche delle soluzioni NV40, oltre che di contatto diretto con alcuni games developer. Di seguito alcune immagini dei tech demo mostrati in occasione dell'Editor's Day, screenshot che mostrano alcune delle potenzialità delle schede GeForce 6800. Tech demo NVIDIA Thief3 Lineage II Torque2 Engine Joint Operations: Typhoon Rising City of Heroes Tra i vari demo mostrati quello più impressionante è stato indubbiamente il nuovo Unreal Engine di Epic, presentato in anteprima e a porte chiuse in occasione della Gaming Developer Conference la settimana precedente. Non è stato possibile fotografare scene di questo demo, ma assicuriamo che si tratta di qualcosa di realmente eccezionale che speriamo di poter presto vedere all'opera, anche se il debutto previsto non sarà prima di inizio 2006. Pagina 31 - Conclusioni Quando viene presentato un processore grafico che apre le porte di una nuova generazione di schede video sono sempre tante le novità che lo accompagnano. NV40 può essere considerato il prodotto del riscatto di NVIDIA, una GPU ideata e progettata tenendo bene a mente gli errori commessi nel concepimento del tormentato NV30. Da un punto di vista prestazionale il GeForce 6800 Ultra è senza ombra di dubbio alcuno il più veloce prodotto attualmente esistente. Nonostante il nostro sistema di test ci abbia portato ad ottenere risultati in più di una occasione CPU limited, il vantaggio registrato nei confronti del Radeon 9800 XT e del GeForce Fx 5950 Ultra con impostazioni pesanti (alte risoluzioni, antialiasing e filtro anisotropico) è un chiaro sintomo di una netta supremezia. In molti dei titoli presi in considerazione (Far Cry, Splinter Cell, Halo e X2 The Threat) abbiamo ottenuto un numero di frame per secondo quasi doppio rispetto a NV38 e R360. Tale statistica conferma i risultati teorici del 3D Mark 2003 che ha messo in evidenza un fill rate elevatissimo sia in single che in multitexturing oltre ad una gestione dei Pixel Shader 2.0 quasi tre volte superiore a quella dei concorrenti. Siamo rimasti un po' delusi da alcuni elementi legati alla qualità dell'immagine. L'antialiasing di tipo multisampling rotated grid a quattro sample è sicuramente una delle novità più interessanti ed ha portato ad un sicuro incremento nella resa rispetto a quanto visto con NV38. Purtroppo la modalità 8x, così come dimostrato dai nostri benchmark, è più una caratteristica su carta che non una funzionalità realmente utilizzabile. Avremmo gradito la possibilità di utilizzare un numero maggiore di sample in modalità multisampling e del resto tale mancanza ha permesso al Radeon 9800 XT di essere, anche se solo in questo specifico caso, ancora il prodotto da battere (il FSAA 6x di R360 offre qualità e prestazioni superiori al FSAA 8x di NV40). L'algoritmo alla base del filtro anisotropico implementato in NV40 è di chiara derivazione canadese: nonostante non si tratti della scelta eticamente più corretta (la qualità delle texture dipende dall'angolazione poligonale) anche NVIDIA ha adottato il filtraggio adattivo. Grazie a questo piccolo escamotage è stato possibile minimizzare l'impatto sulle prestazioni del filtro anisotropico. La qualità è su ottimi livelli così come evidenziato dagli screenshots del Nature, anche se i titoli futuri facenti uso massiccio di superfici curve potrebbero penalizzare sia il GeForce 6800 Ultra che il Radeon 9800 XT, privilegiando l'algoritmo di NV38. E' bene tuttavia specificare che i test sono stati condotti con driver Forceware non ufficiali, che necessitano ancora di notevole sviluppo da parte di NVIDIA. Si prevede che la versione Release Candidate di questi driver, pronta per ottenere la certificazione WHQL da Microsoft, non verrà resa disponibile prima del 28 Maggio, e con questa speriamo che NVIDIA possa correggere parte delle limitazioni evidenziate nell'analisi qualitativa. La revision 60.72, al momento, è quella che verrà fornita in dotazione assieme alle schede che verranno immesse sul mercato. Le specifiche per il corretto funzionamento di NV40 sono molto stringenti, ma, alla luce della notevole complessità di questa soluzione, assolutamente prevedibili e giustificate. Il costo addizionale richiesto per un alimentatore da 480 Watt non farà sicuramente felici gli appassionati, ma è un prezzo da pagare per poter sfruttare la soluzione grafica tecnologicamente più avanzata. Mancano dettagli ufficiali da parte di NVIDIA, ma è pressoché certo, stando a varie informazioni, che le schede NV40 non saranno immediatamente disponibili sugli scaffali. E' possibile che questi prodotti vengano rilasciati in volumi sul mercato retail alla fine del secondo trimestre, con un buon numero di nuovi prodotti presentati dai partner commerciali di NVIDIA in occasione del Computex di Taipei, a inizio Giugno 2004. Mancano indicazioni precise sui prezzi, ma presumiamo che saranno allineati a quelli attualmente praticati per le schede ATI Radeon 9800XT e NVIDIA GeForce FX 5950 Ultra, prodotti che ovviamente subiranno una conseguente riduzione di costo. NV40 è la proposta top della gamma di NVIDIA, alla quale seguiranno nei prossimi mesi nuovi chip NV4x dal differente posizionamento sul mercato. La disponibilità prevista è per il secondo trimestre 2004, ma mancano conferme precise in questo senso al momento attuale. Quello che è dato sapere è che tutte le soluzioni NV4x avranno in comune l'architettura del chip NV40, pertanto è presumibile attendersi pieno supporto a tutte le funzionalità espresse dal chip NV40 anche se a livelli prestazionali differenti, alla luce del posizionamento di mercato. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pagina stampata da Hardware Upgrade: http://www.hwupgrade.it Vietata la copia e la distribuzione (anche parziale) senza la previa autorizzazione di Hardware Upgrade S.r.l Per maggiori informazioni : http://www.hwupgrade.it/sito/legale/ Copyright 1997 - 2012 Hardware Upgrade S.r.l |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||