Torna alla Home Page    
 
Scrivi al Signore della Morte
  Matrox G400: L'evoluzione della specie. 3/7/1999 By Carlo Becchi
.
 

Introduzione
La scorsa estate, quando la posizione del chip grafico G200, montato sulle schede Matrox Millennium, Marvel e Mystique fu chiara nacquero strane voce sulla rete.

La situazione di Matrox non era certo invidiabile visto che, nonostante le vendite ottime di Mystique prima serie e di Millennium II, le sue schede erano in assoluto le piu' arretrate dal punto di vista della qualita' grafica tridimensionale: nonostante la velocita' di esecuzione fosse di tutto rispetto gli effetti visivi erano addirittura inferiori a quelli della primissima serie delle Virge di S3, probabilmente l'unico caso di "deceleratori hardware 3D" sul mercato (su un qualunque Pentium II il software era piu' veloce dell'hardware).
Il disagio della grande casa produttrice fu palpabile
quando usci' la scheda aggiuntiva Matrox M3D, che per la prima volta nella storia dell'azienda montava un processore prodotto da terze parti, il Nec Power VR PCX2. Questo chip seppur all'avanguardia ancora oggi per alcune soluzioni adottate (uso del BUS PCI come veicolo dei dati, accelerazione in finestra, ed un meraviglioso sistema per evitare l'uso della memoria su scheda per lo Z-Buffer) necessitava di un processore veramente potente (al tempo c'erano i Pentium NON MMX).
Come risultato la velocita' di esecuzione dei giochi (ma il PowerVR, al contrario del Voodoo poteva essere usato anche per le applicazioni) non variava di molto rispetto all'uso della sola Mystique, mentre la qualita' e gli effetti ottenuti erano senza paragoni (inferiori solo a quelli del primo Voodoo).
L'accoppiata Mystique+M3D rappresentava cio' che ci si sarebbe aspettato da un nome come Matrox se solo i risultati finali fossero dovuti ad un'unica scheda. Spendendo poco di piu' si poteva acquistare una scheda con il Voodoo di 3dfx, con piu' effetti, piu' veloce e meno dipendente dalla CPU.

Quando Matrox presento' il G200 il Voodoo2 rappresentava il riferimento , rispetto al quale era si piu' lento, ma portava anche una qualita' grafica mai vista prima. Il rendering a 32 bit, il numero di effetti e filtri 3D disponibili e comunque una velocita' piu' che buona fecero di questo chip grafico il re del mercato 2D/3D fino all'arrivo (purtroppo per Matrox, avvenuto poco dopo) del RivaTNT.

Ho un po' divagato rispetto al cappellotto iniziale, ma e' necessario per ben capire le voci delle quali parlavo all'inizio e che vedendo nel G200 un ottimo chip, ma lontano dall'essere l'acceleratore definitivo (specie in seguito al ciclone TNT) cominciarono a dire che il G200 altro non era che una palestra per fare familiarizzare gli arrugginiti ingegneri Matrox con le ultimissime tecnologie. Secondo questa "scuola di pensiero", la non ottimale velocita' era dovuta all'interesse principalmente indirizzato verso l'introduzione del maggior numero di nuovi effetti, rispetto alla velocita' che sarebbe arrivata in un secondo tempo con un nuovo prodotto.

Non ho mai creduto in modo particolare in questa storia, che tuttavia risultava piu' verosimile della teoria che voleva il G200 un prodotto di tecnologie extraterrestri, che mi sono inventato in questo istante. Cio' non toglie che poco piu' di un mese dopo l'uscita del G200 si e' cominciato subito a parlare di un fantomatico G300, l'erede di questo valido chip.

Qualunque sia stata la politica adottata da Matrox, a distanza di meno di un anno il successore del G200 e' arrivato per davvero. Sara' il nuovo re del mercato? E del Mondo? E' piu' veloce dei Voodoo 3 e TNT2? E il bump mapping? Cerchiamo insieme una risposta a tutte queste domande.

I modelli
Fino ad ora sono stati presentati tre modelli di schede video basate su G400:

  • Millennium G400 16Mb
  • Millennium G400 32Mb
  • Millennium G400 MAX 32Mb

Le prime due schede sono identiche, a parte ovviamente la quantita' di memoria presente a bordo e montano un RAMDAC integrato da 300 Mhz.
La Millennium G400 MAX, ha invece una maggiore frequenza di clock ed un RAMDAC da 360 Mhz.
Con buone probabilita' presto vedremo un serie Marvel basata su questo processore.

Ogni promessa e' debito
Le promesse fatte da Matrox nei riguardi di questo chip sono veramente molte e tutte interessantissime. Spulciando fra le caratteristiche tecniche saltano all'occhio:

  • Architettura DualBus a 256 bit
  • Ampiezza di banda processore-memoria a 128 bit
  • AGP 2x/4x
  • Environment Bump Mapping Reale
  • Dual Head Display
  • Anisotropic filtering
  • Multi Texturing a singolo passaggio
  • Supporto per tutti i tipi di nebbia e texture. Per queste ultime la dimensione masssima e' di 2048x2048
  • 3 modalita' di Z-buffer (max 32 bit)
  • Stancil Buffer
  • Accelerazione DVD con compensazione di moto

Questo e' una piccolissima parte ( a mio parere la piu' significativa ) di tre pagine A4 di specifiche. Alcune delle caratteristiche qui elencate si commentano da sole, alle altre e' meglio dedicare un po' di approfondimento, che per semplificare la lettura, presentero' in ordine rigorosamente casuale. Ma il primo paragrafo non puo' non essere dedicato a

Bump Mapping: il nuovo re degli effetti 3D
C'e' poco da dire e molto da vedere: il Bump Mapping e' probabilmente il piu' impressionante effetto 3D mai visto fino ad ora su schede consumer dai tempi del bilinear filtering (il filtro che elimina i quadrettoni quando una superficie e' vista a distanza ravvicinata) e rappresenta il primo vero passo verso il rendering fotorealistico in tempo reale.
Questo effetto, presente attualmente in forma completa solo su G400 (vedi tabella) permette di ottenere immagini di un dettaglio incredibile, rendendo tridimensionali texture che non lo sono e offrendo effetti di distorsione convincenti e animazioni fino ad ora improponibili.
Le superfici possono presentare tagli, scalfitture, porosita' ed ondulazioni, in questo modo si perde completamente la sensazione di artificiale presente anche nei giochi piu' progrediti. Effetti come scaglie di drago, ondulazione dell'aria dovuta a forte calore, acqua che sembra acqua e non un telo sporco che si muove (esclusa quella di Unreal) saranno all'ordine del giorno. In questi casi un'immagine vale mille parole, percio' roviniamoci insieme le retine rimirando per ore le schermate qui presentate:

Dal demo Matrox By Digital Illusions

Confronti con/senza BumpMapping, tratti dal demo Matrox in Shockwave

Cliccate sulle immagini per ingrandirle

Tabelle Comparative Bump Mapping

So bene che il sito sarebbe dovuto essere tutto in italiano, ma essendo appena nato c'e' un sacco di lavoro da fare, e cosi' le tabelle le ho lasciate in inglese. Comunque rappresentano il confronto tra il Bump Mapping Ambientale, il prodotto dot 3 e quello software e sono quasi interamente costituite da termini tecnici privi o quasi di traduzione (e' una scusa? Si. Non regge molto, vero?).

Card/Chip Environment-Mapped Bump Mapping Dot 3 Product Alpha-blended Embossing
Matrox G400  
Matrox G400 MAX  
ATI Rage 128    
Voodoo 3 2000    
Voodoo 3 3000    
Voodoo 3 3500    
TNT2    
3Dlabs Permedia 3  
PowerVR Second Generation  

 

Feature Environment-Mapped Bump Mapping Dot 3 Multi-pass Alpha Embossing
Lighting Specular lighting effects possible Specular lighting effects possible Diffuse lighting only
Light Source Multiple light sources Single light source Single light source
Light Color Polychromatic Monochromatic Monochromatic
Light Fall Control over light fall No control over light fall No control over light fall
Luminance Control Per-pixel luminance control No per pixel control, must use gloss map No per pixel control
CPU Usage Calculations are done on the graphics hardware Calculations are done on the graphics hardware CPU calculates UV shift, is CPU dependent
Developer Commitment Bumps programmed using DirectX6 calls Bumps programmed using DirectX6 calls Developer must support and tweak for each video card
Bumps Height and depth are per pixel, can vary over 1 tri. Height and depth are per pixel, can vary over 1 tri. Can vary only linearly over the triangle surface
Bump Mapping Can simulate static and dynamic bump mapping Can do dynamic bm, but it is CPU intensive Only simulate bumps on textured 3D objects
Effects Can do distortion & procedural effects Cannot do distortion effects Cannot do distortion effects
API Support Results are standard as is part of an API Results are standard, as it is part of  an API Differing results, due to hardware interpretation
Range of Bumps Best possible range of bumps Best possible range of bumps Limited range of bumps

Architettura Dual Bus 256 bit
L'architettura del G200 era chiamata Dual Bus 128, ma non era veramente a 128 bit, visto che la dimensione massima del dato per ciclo di clock era di 64 bit. Tuttavia c'erano due percorsi a 64 bit per i dati in entrata e in uscita dal chip, per un totale appunto di 128 bit in transito contemporaneamente (2 dati da 64 in direzioni opposte).
Per il G400 e' esattamente la stessa cosa, con la sola differenza che bisogna moltiplicare tutto per due (nome del Chip compreso). I dati sono due da 128 bit ciascuno.
Oltre al vantaggio evidente del raddoppio dell'ampiezza di banda all'interno del processore grafico, anche il bus processore-memoria e' a 128 bit, il doppio di quello del G200.

AGP 2x/4x
Come tutti i nuovi processori video anche il G400 e' compatibile con l' AGP 4x che sara' disponibile con il chipset Intel 820 (Camino), quando uscira'. L' AGP e' una porta (e non un Bus) che unisce processore, memoria e scheda video. Il clock di questa connessione e' 66 Mhz, ma se si usano entrambi i fronti si puo' considerare a 133 Mhz (2x). L' AGP 4x, raddoppia questi valori, portando la banda passante a 1Gb al secondo [cfr Evolution]
Non e' previsto comunque un grande cambiamento di prestazioni, visto che ci sono ancora altri colli di bottiglia che impediranno l'utilizzo di una cosi' elevata banda passante.

Dual Head Display
Probabilmente questa capacita' rimmarra' in gran parte inutilizzata se non in applicazioni di nicchia. Permette l'utilizzo contemporaneo di due monitor indipendenti su uno stesso computer. Per indipendenti intendo che possono mostrare due immagini completamente diverse.
Le configurazioni possibili sono:

  • Monitor + Monitor
  • Monitor + TV
  • Monitor + LCD digitale (optional)

La prima la vedo molto utile per i programmatori. In effetti ho sempre desiderato avere un monitor per il programma in esecuzione e un altro, indipendente, per il debug. La seconda e' formidabile per i giocatori incalliti, che magari hanno una TV da 42 pollici al plasma 16:9 di fianco al loro computer (con il calare dei prezzi dei monitor di grandi dimensioni attuali penso sia questa l'unica oppurtunita' per usare un TV Out, a meno di non dovere registrare con un VCR quanto appare sullo schermo).

Filtro Anisotropico
L'anisotropia e' la proprieta' per la quale una o piu' caratteristiche fisiche di una sostanza non sono uguali in tutte le direzioni.
Anche la visualizzazione dei poligoni ricoperti da texture non e' uguale in tutte le direzioni, e a seconda della angolazione puo' dare luogo a deformazioni e sfocature.
Inolte anche la forma del poligono, che non sempre e' uguale a quella dell'immagine che lo ricopre da' luogo ad imperfezioni visive.
Il filtro Anisotropico (ani="non", iso="uniforme", tropico="forma") permette di variare la dimensione dei texel a seconda della circostanza per ottenere risultati ottimali.

Multi Texturing a singolo passaggio
Questa capacita' e' stata presentata "di serie" per la prima volta con le schede basate su Voodoo2 (in effetti questa possibilita' era prevista anche dal primo voodoo) e sviluppata in seguito da nVidia con il chip TNT.
Una doppia pipeline grafica permette di ottenere due texel (triangoli ricoperti da texture) per ciclo di clock. G400, TNT 1 e 2, Voodoo 2 e 3, Rage 128 hanno 2 unita' per il multitexturing, Permedia 3 ne ha 3.

Stancil Buffer & Z-Buffer a 32 Bit
G400 non poteva non avere lo stencil buffer, presentato per la prima volta sul Riva TNT. Con lo SB e' possibile definire una maschera dietro la quale i triangoli non vengono renderizzati, o vengono renderizzati solo in particolari situazioni.
Ad esempio se con lo stancil buffer si realizza l'interno di una cabina di pilotaggio di un aereo le zone coperte da questa non vengono calcolate, ma viene aggiornata solo la visuale attraverso le finestre. Questo permette un notevole risparmio di potenza rispetto al metodo tradizionale che prevede il disegno di tutta la scena e poi la sovrapposizione della maschera della cabina.
Questo esempio si riferisce al piu' semplice degli stencil buffer, ossia quello binario (definito da un singolo bit), ma su G400 lo SB e' a 8 bit permettendo maschere condizionali a seconda del valore del bit della maschera.
I piu' informati ricorderanno che Creative rilascio' un driver per Unreal della sua scheda Riva TNT che forniva le ombre ai personaggi proprio utilizzando la tecnologia dello stancil buffer.

G400, come G200 supporta lo Z-buffer a 32 bit, che permette un'elevatissima precisione nello stabilire quali superfici sono visibili e quali no, evitando spiacevoli sfarfallii a volte presenti con il tradizionale Zbuffer a 16 bit

I modi supportati da G400 sono:

  • 16 bit Z-buffer
  • 24 bit Z-buffer + 8 bit Stencil Buffer
  • 32 bit Z-buffer

Lo Z-Buffer a 32 bit non e' attualmente disponibile nella versione attuale dei drivers Open GL.

Ok, ok la qualita' e ottima, ma l'immagine e' zero: ascolta la tua sete di velocita'
G200 ha insegnato che avere le immagini piu' brillanti del mercato ma una velocita' solo accettabile non porta al successo assoluto.
Voodoo3 spero insegnera' che una buona velocita' e una qualita' grafica obsoleta non portano al
successo assoluto (ma c'e' ancora chi reputa 3dfx IL produttore per eccellenza di acceleratori grafici e si fa infinocchiare).
RivaTNT ricorda che la virtu' sta nel mezzo.

Cosa insegna G400 in questo campo?
Che cercare di trarre conclusioni definitive in questo momento si rivelerebbe un errore, visto che i drivers sono ancora in versione preliminare e non implementano tutte le funzionalita' disponibili.
Per quanto riguarda i Benchmark il discorso e' ancora piu' complesso. Fra i primi ad essere disponibili sono stati quelli pubblicati da Tom Pabst su Tom's Hardware Guide (www.tomshardware.com) e da id Software (www.idsoftware.com) entrambi relativi al gioco Quake III, che come tutti sanno utilizza un motore che si basa su OpenGL.
Da una azienda che a fatto nascere e morire un chip (G200) senza mai fargli vedere una versione definitiva di un OpenGL ICD driver non possiamo aspettarci miracoli (specie in confronto con la grande esperienza di nVidia in questo campo) ma i dati a disposizione mettono comunque in chiaro un fattore scottante. Il G400 ha un disperato bisogno di una CPU potente, molto di piu' d quanto necessitino Voodoo 3 e TNT2.

Tom ha provato Quake III con un Pentium III a 550 Mhz a 1024*768*16bit ottenendo:

  • 39.1 fps con RivaTNT2 in configurazione standard (125 Mhz chip / 150 Mhz Memoria)
  • 35.8 fps con Voodoo 3 3000 (166/166)
  • 33.8 fps con G400 MAX

con la stessa configurazione ma sostituendo il Pentium III con un Celeron 400 Mhz

  • 36.2 fps con RivaTNT2 (125/150) [-3 frames]
  • 32.0 fps con Voodoo 3 3000 (166/166) [- 3.8 frames]
  • 27.6 fps con G400 MAX [-6.2 frames]

Come e' evidente e' la scheda che piu' perde al passaggio ad un processore meno potente.

I benchmark pubblicati da id confermano questi dati, aggiungendo il fatto che la G400 e' la piu' veloce in assoluto a 1280*1024*32 distaccando del 300% il Riva TNT2. Che ci sia qualche trucco sotto ?(non dimentichiamo che con l'ICD non funziona lo Z-buffer a 32 bit.)

Concludendo...
Dopo molti anni Matrox e' finalmente tornata al ruolo di azienda innovatrice che aveva abbandonato dopo la realizzazione della prima Millennium. La scheda nella versione MAX e' una reale minaccia allo strapotere di Nvidia e di 3dfx, anche se la sua vera potenza rimane in parte un'incognita.
Senza dubbio e' la scheda giusta per i processori dell'ultimissima generazione (PIII >= 500) ma potrebbe essere troppo esosa in fatto di potenza di calcolo per essere presa in considerazione come upgrade per computer piu' limitati.
E' comunque una scheda da seguire attentamente, ed al piu' presto troverete aggiornamenti sul sito.

Fonti:
www.matrox.com
www.matroxusers.com
www.tomshardaware.com
www.idsoftware.com

 

Torna all'inizio della pagina

(C)1999-2000 Carlo Becchi
Tutti i diritti riservati. E' vietata la riproduzione anche parziale degli articoli pubblicati senza il permesso scritto dell'autore.