CONTINUAZIONE
Ovviamente il filtro trilineare dovendo fondere una certa area di due mipmaps diversi richiede un calcolo maggiore da parte della scheda video rispetto al filtro bilineare, di conseguenza si potranno ottenere prestazioni migliori usando proprio quest’ultimo.
Il filtro bilineare è stato introdotto fin dai tempi della Riva TNT e delle Voodoo 1 e ormai con le schede e i giochi odierni questo filtro è automatico e non rimovibile dalle normali impostazioni del gioco. Al limite si può disattivare tramite i comandi della console del motore grafico.
Per poter ottenere un immagine di qualità ancora più elevata, la cosa migliore è quella di affiancare al filtro trilineare il filtro anisotropico. Questo particolare filtro, come suggerisce il nome stesso, consente di ottenere texel (pixel che fanno parte di una texture) originati da una forma non simmetrica, ovvero da un pattern irregolare che viene modificato in base alla prospettiva (forma anisotropica). La forma del pattern non è fissa, ma vengono utilizzati pattern trapezoidali, ellissoidali o rettangolari in base alla prospettiva e all’angolatura della superficie. Di seguito c’è un esempio che mostra come la forma del texel viene modificata dal filtro in base alla prospettiva rispetto all’osservatore:
Il filtro genera in realtà degli ellissi affinché l’utente veda un immagine priva di deformazione.
Il numero di texel presi in considerazione dal filtro, dipende dal livello del filtraggio: a 1x, il filtro anisotropico prende in considerazioni 8 texels. A 2x, 16 texels, 4x, 32 texels e così via fino al massimo filtraggio sopportato dalla scheda, ma maggiore sarà il livello, maggiore sarà il calcolo neessario.
Ora che abbiamo parlato dei filtri principali possiamo introdurre il terzo gemello cattivo: il brilineare. Come il termine steso indica, questo filtro è una via di mezzo tra il bilineare e il trilineare.
Il filtro fu utilizzato per la prima volta da Nvidia sulla FX 5xxx e in tutti modelli successivi. Dopo non poche critiche la casa fu costretta ad implementare il filtro come un algoritmo ottimizzato del filtro trilineare, in modo tale che, chi voleva, poteva disabilitare l’ottimizzazione brilineare per tornare al trilineare classico. Con l’x800 Ati introduce per la prima volta il filtro brilineare.
Il funzionamento del brilineare è molto semplice: l’area filtrata che lega i due mipmap, viene ridotta di dimensione; in parole povere, il filtro filtra di meno (cacofonico, ma corretto! //content.invisioncic.com/a283374/emoticons/laugh.png).
L’esempio qui sotto mostra un paragone diretto dei tre filtri:
Il bilineare col suo taglio netto.
Trilineare con sfumatura uniforme.
E brilineare! Facendo un paragone col filtro precedente si può notare come l’area sfumata sia di dimensioni ridotte.
Di conseguenza, grazie a quest’ultimo filtro, sulla scheda video graverà un calcolo minore e si otterranno prestazioni migliori.
Il filtraggio di un area ridotta ha irrimediabilmente un impatto negativo sulla qualità dell’immagine, ma nonostante la perdita di qualità, l’occhio umano non riesce a notare le differenze tra brilineare e trilineare, ne a immagine statica e ne a immagine dinamica.
Tant’è vero che nessuno: utenti, recensori e tecnici di laboratorio si resero conto di questa pecca nella x800 per più di un mese dall’uscita della scheda stessa.
A lanciare l’allarme fu il sito tedesco “Computerbase” che scoprì per puro caso l’esistenza del brilineare nella nuova scheda di Ati. Analizzando l’immagine del gioco Call of Duty gestito da una x800, i redattori notarono che attivando i mipmap colorati, le prestazioni della scheda calavano drasticamente. In condizioni normali, per una GPU, non fa alcuna differenza dover gestire mipmap semplici oppure colorati, e infatti la Geforce 6800 Ultra mostrava lo stesso frame rate in entrambi i casi.
Il calo di prestazioni della x800 fece sorgere il dubbio che Ati non stesse utilizzando un filtro trilineare standard e dopo che furono catturati due schermate dello stesso gioco con uno speciale filtro in grado di visualizzare in scala di grigio la variazione tra due mipmap, si ebbe la conferma di tutto ciò. Il filtro in pratica, riusciva a mettere in evidenza la sfumatura tra due diversi dettagli dei mipmaps del terreno e, se il filtro della x800 fosse stato trilineare, l’area grigia sarebbe dovuta essere di dimensioni maggiori rispetto al filtro bilineare, mentre invece le differenze erano minime.
Da questa vicenda ognuno prese una posizione ben precisa, pro o contro la casa canadese; la stessa ID fece subito sentire la sua voce:
Questa soluzione può essere considerata un "imbroglio". Al posto di gestire due livelli di mipmap adiacenti ed amalgamarli totalmente, viene preso in considerazione solo un livello. Questa soluzione permette di incrementare di molto le performance con un minimo impatto visivo sulla qualità. L'utilizzo di mipmap colorati in Q3 non possono assolutamente impattare sulle performance del chip grafico.
John Carmack
Ora non vorrei esagerare, ma è probabile che anche questo sia uno dei motivi che ha spinto Carmack a scegliere Nvidia come partner per Doom III.
Il danno era stato fatto e le critiche continuavano ad aumentare, non passò molto e Ati dovette rilasciare immediatamente una dichiarazione:
In primis la casa si scusò per non aver spiegato prima il funzionamento del suo filtro ottimizzato, ma al momento era più importante proteggere il brevetto. In seguito Ati assicurò all’utenza la presenza del filtro trilineare nella x800, e nonostante venisse attivato il filtro brilineare o trilineare, venne affermato che la propria scheda offriva ugualmente una qualità d’immagine maggiore rispetto alla 6800 Ultra.
A riguardo Ati invitò i redattori ad eseguire dei test per mostrare che diceva il vero, ma per far si che non ci fossero irregolarità in questo, suggerì di forzare la Geforce 6800 Ultra ad usare il filtro trilineare e paragonare l’immagine finale con quella della x800. Il risultato finale fu che con quest’ultima si ottenne, sia una qualità dell’immagine maggiore, sia un frame rate ancora più elevato rispetto alla 6800 ultra in brilineare.
Il risultato però era ovvio: se la x800 risultava più veloce della 6800 Ultra col filtro brilineare, era naturale che attivando il trilineare il divario aumentasse ancor di più; nonostante questo, il problema persisteva e i mipmap colorati non mentivano: la x800 non aveva un filtro trilineare fisico, ma solo un filtro ottimizzato: il brilineare.
Il test, quindi non era del tutto corretto visto che tutte le ultime schede di Nvidia, 6800 inclusa, hanno sia il brilineare che il trilineare.
A questa seconda ondata di prove, Ati dovette ammettere di non avere usato un filtro trilineare fisico ma uno ottimizzato. A difesa personale venne avanzata la teoria che se l’obbiettivo finale era stato raggiunto, non c’era un metodo "buono" o "cattivo" da implementare. Il filtro non è altro che un algoritmo ottimizzato per non pesare eccessivamente sulla scheda. Le uniche differenze dal trilineare si possono notare solo effettuando particolari test, ma normalmente nessuno, mentre gioca, usa i mipmap colorati o i filtri in scala di grigio. Ad ogni modo il filtro trilineare dovrebeb essere implementato nuovamente nella successiva generazione di GPU (la X850, staremo a vedere se è vero oppure no!).
In teoria, col filtro trilineare, la Geforce 6800 ultra offre una qualità d’immagine migliore rispetto alla x800, che usa solo un filtro ottimizzato. Ma in pratica le cose sono diverse: la scheda di Ati ha una qualità maggiore, anche se di poco, rispetto alla concorrente. Infatti è capitato che molti utenti riscontrassero in Pain Killer dei leggeri difetti grafici causati dal filtro trilineare della 6800, che invece il filtro ottimizzato di Ati non presentava.
Alla luce di questi fatti dove sta la verità? Si tratta di imbroglio o innovazione tecnologica? Di sicuro Ati ha sbagliato a mentire ai suoi clienti dicendo che la x800 aveva un trilineare fisico, ma è anche vero che se le differenze si notano solo con test particolari, e per il resto il filtro presenta una qualità d’immagine ottima come se fosse un trilineare (se non migliore), allora Ati non può essere accusata di non offrire un prodotto di ottima fattura rispetto a Nvidia.
Ovviamente chi preferisce poter contare su un filtro trilineare fisico deve puntare su una scheda Nvidia, ma dopo questi eventi è giusto che ognuno di noi, più o meno motivato da un eventuale acquisto di una nuova GPU, decida da quale parte sia la verità e motivi il suo acquisto, o la scelta, in base a questi fatti.
Non bisogna dimenticare che ormai sia Ati che Nvidia sono a caccia di ottimizzazioni sempre migliori, fino a quando la perdita di qualità non sarà eccessiva e diventerà visibile. Anche il filtro anisotropico non è stato risparmiato e viene introdotto un algoritmo che cambia automaticamente da 16x a 2x il livello di filtraggio, quando la scena non richiede un'ottimizzazione così elevata. Il che può essere giusto se nel nostro gioco stiamo a fissare una parete vicina: in questo caso in filtraggio a 16x sarebbe sprecato e basterebbe anche 1x o 2x. Diversamente in una scena complessa e molto ampia, non ha senso che il filtro scali di livello, rischiando di sfalsare l’immagine!
Bene, è tutto riguardo quest’“evento” legato al mondo delle GPU.
Spero non aver annoiato nessuno trattando un argomento così lontano da quello proposto dal titolo del topic, ma è giusto che ogni caratteristica di una scheda, positiva o negativa che sia, venga messa in luce, in modo da offrire un paragone con la concorrenza, diretto e senza imbrogli, specialmente in previsione di un eventuale acquisto futuro. A tal proposito, spero che la reply possa servire al lettore, anche per lo scopo citato prima! ^_^
:ciao: