NVIDIA GeForce 7800 GTX: arrivano le 24 pipeline

Alla presentazione di una nuova generazione di processori grafici il primo quesito che gli appassionati si pongono riguarda essenzialmente la portata delle innovazioni: “evoluzione o rivoluzione ?”. Quest'oggi NVIDIA presenta la scheda GeForce 7800 GTX: anche noi ci poniamo tale interrogativo al quale, nel corso di questa analisi, daremo una risposta.
di Paolo Corsini , Raffaele Fanizzi pubblicato il 22 Giugno 2005 nel canale Schede VideoNVIDIAGeForce
Analisi qualità: filtro anisotropico - parte 1
Il filtro anisotropico è una funzionalità presente nel bagaglio tecnologico dei processori grafici da diverse generazioni ormai. Evoluzione dello storico filtro trilineare, il suo obiettivo è quello migliorare la qualità delle texture eseguendo un filtraggio che sia in grado di visualizzare una texture nel pieno del suo dettaglio anche quando questa è posta su una superficie poligonale molto distante dal punto di vista: in tal caso la risoluzione della texture conta un numero di texel superiore al numero di pixel usati dallo schermo per visualizzarla ed è quindi necessario ricampionarla. Sia ATI che NVIDIA hanno lavorato alacremente per sviluppare di generazione in generazione questa funzionalità e per migliorarne la qualità e le prestazioni. Le prime implementazioni del filtro anisotropico, infatti, pur garantendo una qualità simile (se non superiore) a quella disponibile con tutti i più recenti processori grafici, abbattevano letteralmente le prestazioni. Oggi ci troviamo di fronte ad implementazioni che, pur non essendo più completamente fedeli a quella classica (il filtro anisotropico è matematicamente definito), riescono a raggiungere livelli velocistici eccellenti a fronte di una qualità estremamente appagante.
Per valutare limplementazione del filtro anisotropico del processore grafico G70 oggetto di questa recensione abbiamo utilizzato il Texture Filter Analyzer sia in versione Direct3D che OpenGL. Questa piccola utility visualizza un cilindro cavo impostando il punto di vista al suo interno con la camera che punta in direzione parallela allaltezza del cilindro. Questo cilindro è tappezzato allinterno con una texture a scacchiera, bianca e nera. Limmagine risultante non è altro che linterno del cilindro che, a causa della prospettiva, si restringe man mano che le pareti si allontanano dalla camera. Il Texture Filter Analyzer consente di visualizzare i livelli di mipmapping, cioè i livelli di dettaglio (LOD) con cui la scheda video disegna le texture, colorandoli. In particolare la banda più vicina (che per effetto della prospettiva è più esterna) è rossa e rappresenta il primo LOD, cioè la prima ricampionatura (di minor dettaglio) della texture rispetto alloriginale. I restanti livelli di mipmap sono più interni e vengono evidenziati con altri colori. Nella valutazione della qualità del filtro anisotropico sono essenzialmente due gli aspetti che ci interessa osservare: la variazione tra un livello di dettaglio e laltro ed il dettaglio stesso. Il primo lo estrapoliamo osservando come viene effettuato il passaggio da una fascia colorata ad una adiacente, mentre il dettaglio può essere valutato dalla vicinanza della banda rossa al bordo.
NVIDIA GeForce 7800 GTX
NVIDIA GeForce 6800 Ultra
ATI Radeon X850XT PE
Le impostazioni legate al filtro anisotropico riguardanti la scheda GeForce 7800 GTX sono le medesime viste con tutte le schede NV4x. Gli screenshots sopraesposti visualizzano le immagini ottenute con il Texture Filter Analyzer in Direct3D in tutte le modalità qualitative disponibili sulle schede NVIDIA e ATI. In particolare per le GPU GeForce sono stati eseguiti i rilevamenti con il filtro trilineare ed il filtro anisotropico a 2, 4, 8 e 16 samples, il tutto per ogni modalità: High Quality, Quality, Performance e High Performance. Per R480 le modalità prese in considerazione, invece, sono quelle legate al Catalyst IA: Disabled, advanced e Advanced. Non considereremo in questo articolo le modalità disponibili con i driver Catalyst privi di Catalyst Control Center.
Come primo elemento valido per tutti i processori grafici segnaliamo che maggiore è il numero di samples del filtro anisotropico, maggiore sarà il dettaglio delle texture: il bordo rosso del primo livello di dettaglio si allontana allaumentare del numero di samples. Inoltre tutte le GPU implementano unottimizzazione consistente nel variare il livello di dettaglio a seconda dellangolazione della superficie poligonale considerata. Il filtro anisotropico completo è applicato solo ai triangoli posti a 0°, 45°, 90°, ecc , cioè ai multipli di pi/4. Lassunzione alla base di questa ottimizzazione è la seguente: la maggioranza dei videogames propongono texture in alta definizione solo a quelle determinate angolazioni (pavimento e pareti per lo più).
Al di là del numero di samples, limplementazione del filtro trilinare e anisotropico è pesantemente dipendente dalla modalità qualitativa presa in considerazione.
Per le schede NVIDIA il passaggio dalla modalità High Quality a Quality consiste, sia per il filtro trilineare che anisotropico, essenzialmente nellabilitazione del campionamento tramite filtraggio brilineare, approssimazione del filtro trilineare, e, conseguentemente, in un passaggio meno morbido da un LOD allaltro. Inoltre rileviamo anche un maggior pixel popping, artefatto grafico che riduce il dettaglio delle texture, dovuto ad una maggiore approssimazione nelleseguire il campionamento anisotropico. In modalità Performance e High Performance il fenomeno di pixel popping si accentua ulteriormente e le transizioni diventano sempre più nette. Ciò significa che queste modalità offrono la peggiore qualità delle texture sia in termini di dettaglio, che di passaggio da un livello di dettaglio allaltro.
Per la Radeon X850 XT PE il passaggio dal Catalyst IA Disabled (in cui tutte le ottimizzazioni sono disattivate, eccetto quella legata allangolazione delle superfici poligonali) alle altre modalità è indolore sia per quanto riguarda il filtro trilineare che per il filtro anisotropico. La motivazione alla base di questo comportamento è da ricercare allinterno della tecnica adattiva sviluppata da ATI. La società canadese ha implementato una tecnologia in grado di rilevare se esiste una considerevole differenza tra una texture appartenente ad un LOD e quella appartenente ad un LOD adiacente. Se tale differenza non è marcata, applica un filtro anisotropico ottenuto mediante campioni elaborati con un filtro brilineare simile a quello visto in modalità Quality con le schede NVIDIA, mentre se la differenza è molto evidente, elabora i campioni con un filtro trilineare. Il Texture Filter Analyzer, visualizzando ogni LOD con un colore differente, ricade in questultimo caso e, pertanto, il driver applica un filtro anisotropico di qualità elevata. Come vedremo successivamente, tale comportamento è esclusivo delle applicazioni Direct3D e non si ripete in OpenGL.
Effettuando un confronto tra NV40 e G70 ci sorprende vedere come questultimo offra una qualità dellimmagine leggermente inferiore. Se in modalità High Quality il comportamento dei due processori grafici è il medesimo, in tutte le altre modalità la GeForce 7800 GTX tende a soffrire in maggior misura di problemi di pixel popping rispetto alla GeForce 6800 Ultra.