Jump to content

Retrorecensione: matrox m3d


Darkcool

Recommended Posts

i59841_chip.jpg

 

Ed eccoci giunti al momento della verità!!!!!

Oggi tocca alla matrox m3d, che a dispetto del nome monta il chip pcx2 della power vr.

Su internet si trovano veramente poche informazioni, ma ecco alcune specifiche:

Hardware

-66 MHz processor incorporating ISP and TSP function

-32 processing elements in ISP module

-On-chip 12K ISP and 4K TSP parameter caches

-Single SDRAM external interface for texture and parameter caching

-PCI 2.1 interface

-True shadow generation and per pixel fogging

-Perspective-correct texturing and anti-aliased textures

-32 x 32 to 256 x 256 texture bitmap sizes

-1 to 4 MB texture memory

Texture formats:

-8-bit (2,3,2) RGB

-16-bit (5,5,5) RGB

-16-bit (4,4,4,4) RGBT

-264 MB/sec peak texture memory bandwidth

-Smooth shading

-Flat shading with offset highlights

-24-bit mixing of texture, lighting, and shading

-Exponential fogging - with programmable fog color

-Accumulation buffer - to allow multiple layers of translucency

-Translucent textures - 16 levels per pixel

-Global translucency allows objects to fade - 16 levels

-24/16 bit RGB and 16 bit dithered RGB modes

 

Le scheda supporta nativamente le powervr sgl (librerie proiprietarie simili alle glide della 3dfx), le opengl e le direct 3d. Va notato che la scheda è uscita prima delle direct3d, e che ci sono molti problemi di compatibilità con le applicazioni direct3d

 

Riassumendo in breve, la scheda è molto semplice ed monta il chip pcx2 @ 66 mhz e 4 mb di memoria sdram a 64 bit che sono dedicati esclusivamente alle texture (le altre schede di prima generazione hanno in genere 2 mb dedicati alle texture), mentre il freme buffer viene gestito nella scheda 2d. Questa caratteristica consente alla m3d di non avere limiti nella risoluzione, infatti dai miei test sono anche riuscito a superare i 1024x768 in modalità 3d. La scheda non presenta connessioni di alcun tipo, e tutti i dati passano attraverso il bus pci.

Un'altra caratteristica peculiare del pcx e delle schede power vr in generale, è la tecnologia tiled based rendering, che divide la scena in tanti piccoli tasselli, chiamati tiles.

 

Ecco una spiegazione più approfondita by Ttocellux (che ringrazio ;) )

davvero bei tempi, quelli del PowerVR :D :

dovrei avere una di queste schede conservata da qualche parte.

 

 

Grazie innanzitutto dell'impagabile lavoro che fai, e permettimi Claudio, di prendere lo spunto per fare dei brevi cenni

sulla novità più importante, a livello di architettura elaborativa, introdotta all'interno del chip sviluppato da NEC:

il Bucked-Rendering, ovvero il rendering "a secchio" o "a contenitore" che dir si voglia.

 

 

Come sappiamo, il rendering tradizionale richiede un accesso casuale a tutto il

frame buffer. Una delle limitazioni, di fatto, di questo metodo è quella che potrebbe

divenire non molto conveniente per fornire coerentemente un buffer di grandi dimensioni ovvero ad

ampia larghezza di banda.

 

In quel periodo, una interessante idea architetturale con la promessa della risoluzione del problema

fu appunto il Bucket-Rendering.

 

E' una tecnica in cui si prevede che lo spazio sullo schermo

venga suddiviso in caselle (tiles, dette anche chunks), e tutte le primitive

della scena siano ordinate in segmenti, e dove ognuno di questi debba contenere

le primitive delle intersecazioni del rispettivo contenitore.

 

Con questa particolare architettura la scena viene elaborata un contenitore alla volta,

ed in tal modo è permesso riutilizzare l'Alpha Buffer , lo Z-buffer e/o altri

buffer necessari per la memorizzazione dei risultati del rendering intermedio.

Solo al termine dell'elaborazione, tutti i contenitori sono raccolti insieme per formare

l'immagine definitiva.

 

 

Principali vantaggi rispetto al rendering tradizionale:

 

1) Dal momento che è richiesto un buffer di rasterizzazione di un singolo contenitore, al posto di

un buffer a schermo intero, è possibile utilizzare proficuamente più bit per le entrate del buffer

in modo da poter supportare tecniche più avanzate di rendering (come l'Anti-Aliasing o

l'Over-Sampling che rasterizzano i pixel a risoluzioni più elevate) per poi poter

facilmente e velocemente scalare (Down-Sampling) i risultati alla risoluzione desiderata.

 

2) Ovviamente tale architettura si sposa molto bene con il procedimento di integrazione

della RAM tramite veloci chip di gestione in grado di fornire una ampia larghezza

di banda di accesso alla stessa.

 

 

Esistono, però, anche i rovesci della medaglia:

 

1) si rende necessario l'utilizzo di uno stadio di pipeline supplementare per ordinare i

triangoli all'interno dei "contenitori", aumentando così la latenza totale

dell'elaborazione, e portando l'architettura stessa (a seconda della complessità e dell'evoluzione

della scena) ad una probabile intrinseca inefficienza.

 

2) La verosimile necessità dell'esecuzione di elaborazioni ridondanti, a motivo del fatto che

le possibilità che vengano a crearsi primitive di grandi dimensioni, possa

di fatto portare ad una inevitabile sovrapposizione di un contenitore su svariati altri contenitori.

 

:)

 

Ora passiamo ad un'altro argomento spinoso: il chip si chiama pcx2 è uscito nell'agosto del 1997, ed è stato implementato nella matrox m3d e nella Apocalypse 3d. Come suggerisce il nome, è il "successore" del power vr pcx1.

In realtà, non si può parlare propriamente di successore, ma di revisione o rattoppo. Il pcx1 infatti, è uscito nell'ottobre del 1996 e come uniche differenze rilevanti ha la velocità di 60 mhz e manca del supporto al bilinear filtering. Vagando per la rete, ho scoperto che secondo la leggenda narrata in un articolo ormai perso di firingsquad ( engineer forgot bilinear filtering unit in PowerVR PCX1 ? [Archive] - Beyond3D Forum ), un ingegnere, si dimenticò di inserire nella versione finale il blocco relativo al bilinear filtering (caratteristica molto importante), e si accorserò dell'errore troppo tardi per poter rimediare... che io sappia è stato implementato solo nella apocalypse 3d.

 

Indovinello: cosa manca a questa scheda video? (guardate bene le immagini)

 

i59842_m3d-lato-a.jpg

 

i59843_m3d-lato-b.jpg

 

Come vedete dalle immagini, la scheda è estremamente semplice, e per l'epoca era anche molto economica. Non ho ancora dati relativi al prezzo di lancio, ma da una rivista di giugno 98, la m3d è segnata a 160.000 lire contro le 300.000 di una monster 3d e le 600.000 lire di una voodoo2 da 12 mb. Addirittura, pochi mesi dopo, la scheda fu proposta a 99.000 lire.

 

Passiamo ai test :perfido:

La scheda è stata montata sul seguente sistema

p3 933 hz

128 mb sdr @133 mhz cl2

scheda madre aopen mx 33

matrox mystique 220 4mb (usata per il 2d )

sound blaster live!

hdd 30 gb quantum fireball

 

Come sistema operativo ho utilizzato winidows 98 se ( la scheda è compatibile con dos, vin 95 e win 98). I driver sono i 4.1.2 disponibili per la Apocalypse 4D modificati per funzionare su Matrox M3D, oltre ad alcuni miglioramenti (SGL 4.1.2.3 + HAL 4.1.2.2) e alla piu' completa serie di patch per giochi del periodo (1998) inclusa nel file .INF.

Come scheda 2d ho usato una matrox mystique 220. la scelta non è stata casuale infatti la mystique non supporta il bilinear filtering, quindi risulta evidente se un gioco sta usando la m3d o la mystique per il 3d.

Le aversarie sono la 3dfx voodoo e quando possibile anche la matrox mystique 220 e la ati rage pro. Ho inserito anche la veritè v2200, ma considerate che si tratta di una scheda di seconda generazione, e non di prima.

 

GL Quake

i60638_glquake.jpg

 

Ottimi risultati in glquake. Giocabile fino a 800x600. Notevole il risultato a 1024x768

Piccolo particolare: per quake ho usato una patch apposita per m3d. Dovrebbe anche migliorare la grafica oltre alle prestazioni, ed aggiungere il supporto ai 24 bit.

 

Forsaken

i60639_forsaken.jpg

 

Un vero disastro in forsake, nonostante gli ultimi driver, e la versione più aggiornata di forsaken (che tralaltro supporta le m3d). Il gioco è fluido fino a quando non entrano in gioco i nemici o effetti speciali come i colpi o le esplosioni. In questi casi la velocità si azzera, e gli errori grafici si sprecano. La m3d evidentemente manca di alcune caratteristiche usate dal gioco.

 

Incoming:

i60642_incoming.jpg

 

Il gioco è fluido, ma ci sono notevoli problemi con le texture che spesso sono bianche. Strano...

 

Quake 2

i60640_quake2.jpg

 

Notevole prova di forza della m3d. Pure qui ho usato una patch apposita inclusa nei driver

 

Turok

i60641_turok.jpg

 

Ottimi i risultati anche con turok. Qualità grafica molto buona,ma sotto la 3dfx. Il voodoo è un treno

 

3dmark99 max

i60650_3dmark99max.jpg

 

Numerosi problemi nel rendering delle texture, spesso bianche

 

Unreal

i60652_unrealm3d.jpg

 

Ottimo risultato della m3d in Unreal, che nonostante i valori del timedemo, è fluido anche ad 800x600. C'è però da ricordare che il gioco è eseguito e supportato nativamente in powervr sgl. La qualità grafica è sensazionale per l'epoca, ma inferiore alle 3dfx. Manca la nebbia, non c'è il multitexturing, luci e texture sono "meno colorate".

Oggi mi sono superato: ho anche fatto un video per mostrarvi Unreal a 800x600 in modalità powervr sgl!!!

 

 

Per testare unreal, ho dovuto reinstallare unreal senza aggiornameti (altrimenti si perde il supporto alle m3d...) e per eseguire il timedemo ho usato il files che trovate qui http://ftp.chg.ru/pub/games/unreal/utils/misc/

 

Come avrete notato, mancano molti dei miei soliti test (presenti nella recensione della voodoo). Questo perchè la scheda è uscita prima delle direct 3d, e quindi non è molto compatibile con le direct 3d. LA voodoo invece permette di eseguire tutti i test grazie elle glide della 3dfx, che in quegli anni si erano imposte come standard (chiuso agli altri produttori).

 

 

ecco un video che ho fatto per mostrare la qualità video in unreal

 

 

Come giudicare questa scheda? Dai grafici emergono due dati: molti dei miei test non sono compatibili con la m3d, e la 3dfx voodoo graphics mazzuola pasantemente la m3d in tutti i test.

Quello che però non si vede dai grafici è che la m3d costava molto meno della voodoo, e che la scheda era l'unica vera concorrente alla 3dfx voodoo tra le schede video di prima generazione (qualcuno include anche la veritè v1000).

 

Quindi ecco gli altri giochi che ho provato sulla scheda:

-Tomb raider: supporta nativamente le m3d, e a 1024x768 va sui 20 fps. Uno spettacolo!

-jedi knight: fluido anche a 1024x768.

-Ulti@te race: gioco fluido anche 800x600, grafica da paura, per un gioco creato nativamente per power vr, che uscirà solo nel 1998. Prestazioni da voodoo2

-half life: con patch apposita, il gioco parte in open gl. Abbastanza fluido a 640x480, ma le luci e me ombre sono cubettose. Qualità grafica molto inferiore al voodoo

ecco un video di half life:

 

-system shock 2:texture bianche e gioco lentissimo. ingiocabile

-wipeout xl: supporto nativo alle m3d, può essere eseguito fino a 1024x768, ma è fluido solo a 640x480. Grafica da paura.

-gpolice: con tutto al massimo,è fluido e bello

-monster truck madness 2: perfetto

-blood 2: fluido a 640x480 con tutto al massimo, penso grazie al p3. il gioco infatti consiglia di mettee tutto al minimo e disattivare le lightmap. Ottimo risultato

-motoracer: con tutto al massimo, è abb fluido. qualche errore nella visualizzazione del fumo e delle palme.

Edited by Darkcool
Link to comment
Share on other sites



Oggi finalmente ho montato la matrox m3d!!! (era una vita che la cercavo)

I test si sono rivelati più difficili del previsto: la scheda fa parte della prima generazione di schede video, quando tutti i produttori si lanciavano nel nuovo mercato delle schede 3d, cercando di imporre i loro standar (le direct 3d manco esistevano). La battaglia come tutti sappiamo è stata vinta da 3dfx, e tutti gli altri produttori sono stati costretti a creare driver compatibili con le direct 3d ed opengl (le glide erano 3dfx only), con non pochi problemi di compatibilità.

Quindi, se nel recensire la voodoo1 non ho avuto problemi con i vari giochi e test, qui mi sono trovato a vagare per internet alla ricerca del driver giusto e delle varie patch.

I giochi che supportano nativamente le librerie della povwer vr (sgl glide) sono pochissimi, e tra questi in particolare troviamo tomb raider, unreal (in sgl la qualità è comunque molto inferiore alle glide di 3dfx) e ultim@te race (impressionante per l'epoca).

Tornando al discorso della prima generazione; la proposta di power vr era in origine il pcx 1, seguito a pochi mesi dal pcx2 (versione riveduta e corretta, con in più il supporto al bilinear filtering).

Gli altri chip della prima generazione erano il voodoo di 3dfx, l'nv1 di nvidia (una scheda 3d che non usava poligoni triangolari, ma quadrati...), il virge della s3, il veritè v1000 di rendition, il ygv 612 rpa di yamaha (150000 poligoni al secondo...), il glint della 3d blaster (pensato per i 486), il permedia di 3dlabs , il millenium della matrox ed il 3d rage di ati.

Un sacco di chip, che si sono rivelati quasi tutti fallimentari.

Edited by Darkcool
Link to comment
Share on other sites

E come hai fatto ad attaccarci il monitor? :D

Non mi dire che aveva una rinomatissima tecnologia wireless all'avanguardia :sparatagrossa:

 

Comunque è curioso notare che i chip Power VR siano tornati d'attualità con gli smartphone.

Il nuovo Samsung Galaxy S dovrebbe essere uno dei primi smartphone a montare un chip grafico dedicato e in quanto tale dà una pista a tutti gli altri cellulari nel 3D.

Link to comment
Share on other sites

E come hai fatto ad attaccarci il monitor? :D

Non mi dire che aveva una rinomatissima tecnologia wireless all'avanguardia :sparatagrossa:

 

Comunque è curioso notare che i chip Power VR siano tornati d'attualità con gli smartphone.

Il nuovo Samsung Galaxy S dovrebbe essere uno dei primi smartphone a montare un chip grafico dedicato e in quanto tale dà una pista a tutti gli altri cellulari nel 3D.

 

ANche l'iphone 3gs monta un chip della power vr, cosi come l'ipad e l'iphone 4.0. Per l'esattezza dovrebbe essere il gsx 535. A dire il vero, molti netbook montano la gpu gsx 535, poichè è integrata nel gma500.

 

Ho vinto qualchecosa? :D

 

Un bellissimo pentium 75 boxed!!!!!

 

insomma sti connettori?

:D

 

La scheda non ha nessuna uscita video!!!!

Come per il voodoo si occupa esclusivamente del 3d, e va affiancata ad un'altra scheda 2d. I dati passano attraverso il bus pci :)

La cosa interessante è che i 4 mb di ram montati sulla scheda si occupano esclusivamente delle texture, lasciando il frame buffer alla scheda 2d. In questo modo, la m3d può anche superare i 1024x768:clapclap:

Link to comment
Share on other sites

davvero bei tempi, quelli del PowerVR :D :

dovrei avere una di queste schede conservata da qualche parte.

 

 

Grazie innanzitutto dell'impagabile lavoro che fai, e permettimi Claudio, di prendere lo spunto per fare dei brevi cenni

sulla novità più importante, a livello di architettura elaborativa, introdotta all'interno del chip sviluppato da NEC:

il Bucked-Rendering, ovvero il rendering "a secchio" o "a contenitore" che dir si voglia.

 

 

Come sappiamo, il rendering tradizionale richiede un accesso casuale a tutto il

frame buffer. Una delle limitazioni, di fatto, di questo metodo è quella che potrebbe

divenire non molto conveniente per fornire coerentemente un buffer di grandi dimensioni ovvero ad

ampia larghezza di banda.

 

In quel periodo, una interessante idea architetturale con la promessa della risoluzione del problema

fu appunto il Bucket-Rendering.

 

E' una tecnica in cui si prevede che lo spazio sullo schermo

venga suddiviso in caselle (tiles, dette anche chunks), e tutte le primitive

della scena siano ordinate in segmenti, e dove ognuno di questi debba contenere

le primitive delle intersecazioni del rispettivo contenitore.

 

Con questa particolare architettura la scena viene elaborata un contenitore alla volta,

ed in tal modo è permesso riutilizzare l'Alpha Buffer , lo Z-buffer e/o altri

buffer necessari per la memorizzazione dei risultati del rendering intermedio.

Solo al termine dell'elaborazione, tutti i contenitori sono raccolti insieme per formare

l'immagine definitiva.

 

 

Principali vantaggi rispetto al rendering tradizionale:

 

1) Dal momento che è richiesto un buffer di rasterizzazione di un singolo contenitore, al posto di

un buffer a schermo intero, è possibile utilizzare proficuamente più bit per le entrate del buffer

in modo da poter supportare tecniche più avanzate di rendering (come l'Anti-Aliasing o

l'Over-Sampling che rasterizzano i pixel a risoluzioni più elevate) per poi poter

facilmente e velocemente scalare (Down-Sampling) i risultati alla risoluzione desiderata.

 

2) Ovviamente tale architettura si sposa molto bene con il procedimento di integrazione

della RAM tramite veloci chip di gestione in grado di fornire una ampia larghezza

di banda di accesso alla stessa.

 

 

Esistono, però, anche i rovesci della medaglia:

 

1) si rende necessario l'utilizzo di uno stadio di pipeline supplementare per ordinare i

triangoli all'interno dei "contenitori", aumentando così la latenza totale

dell'elaborazione, e portando l'architettura stessa (a seconda della complessità e dell'evoluzione

della scena) ad una probabile intrinseca inefficienza.

 

2) La verosimile necessità dell'esecuzione di elaborazioni ridondanti, a motivo del fatto che

le possibilità che vengano a crearsi primitive di grandi dimensioni, possa

di fatto portare ad una inevitabile sovrapposizione di un contenitore su svariati altri contenitori.

 

:)

Link to comment
Share on other sites

Totocellux, ho fatot tutti i test che mi servono sulla scheda, ma prima volevo scrivere le specifiche dell'architettura ed una breve descrizione. Il problema è che su internet trovo poco o niente. Sai indirizzarmi da qualche parte, o darmi una mano?

Link to comment
Share on other sites

Quello in tuo possesso rappresenta un esemplare della prima serie di PowerVR.

Questo è un primo accenno alle caratteristiche.

 

 

 

NEC PCX1: PC Processor

 

 

Hardware

 

  • 66 MHz processor incorporating ISP and TSP function
  • 32 processing elements in ISP module
  • On-chip 12K ISP and 4K TSP parameter caches
  • Single SDRAM external interface for texture and parameter caching
  • PCI 2.1 interface
  • True shadow generation and per pixel fogging
  • Perspective-correct texturing and anti-aliased textures
  • 32 x 32 to 256 x 256 texture bitmap sizes
  • 1 to 4 MB texture memory
  • Texture formats:
    • 8-bit (2,3,2) RGB
    • 16-bit (5,5,5) RGB
    • 16-bit (4,4,4,4) RGBT

     

    [*]264 MB/sec peak texture memory bandwidth

    [*]Smooth shading

    [*]Flat shading with offset highlights

    [*]24-bit mixing of texture, lighting, and shading

    [*]Exponential fogging - with programmable fog color

    [*]Accumulation buffer - to allow multiple layers of translucency

    [*]Translucent textures - 16 levels per pixel

    [*]Global translucency allows objects to fade - 16 levels

    [*]24/16 bit RGB and 16 bit dithered RGB modes

 

 

Software

 

  • Microsoft Direct3D Support, PowerVR SGL 3D Graphics API and Library
  • Immediate mode and Retained mode, Display list hiearchy, Object instancing
  • Features include: collision detection; level-of-detail management; full shadows; and lighting

:)

Link to comment
Share on other sites

Quello in tuo possesso rappresenta un esemplare della prima serie di PowerVR.

Questo è un primo accenno alle caratteristiche.

 

 

 

NEC PCX1: PC Processor

 

 

Hardware

 

  • 66 MHz processor incorporating ISP and TSP function
  • 32 processing elements in ISP module
  • On-chip 12K ISP and 4K TSP parameter caches
  • Single SDRAM external interface for texture and parameter caching
  • PCI 2.1 interface
  • True shadow generation and per pixel fogging
  • Perspective-correct texturing and anti-aliased textures
  • 32 x 32 to 256 x 256 texture bitmap sizes
  • 1 to 4 MB texture memory
  • Texture formats:
    • 8-bit (2,3,2) RGB
    • 16-bit (5,5,5) RGB
    • 16-bit (4,4,4,4) RGBT

     

    [*]264 MB/sec peak texture memory bandwidth

    [*]Smooth shading

    [*]Flat shading with offset highlights

    [*]24-bit mixing of texture, lighting, and shading

    [*]Exponential fogging - with programmable fog color

    [*]Accumulation buffer - to allow multiple layers of translucency

    [*]Translucent textures - 16 levels per pixel

    [*]Global translucency allows objects to fade - 16 levels

    [*]24/16 bit RGB and 16 bit dithered RGB modes

 

 

Software

 

  • Microsoft Direct3D Support, PowerVR SGL 3D Graphics API and Library
  • Immediate mode and Retained mode, Display list hiearchy, Object instancing
  • Features include: collision detection; level-of-detail management; full shadows; and lighting

:)

Come sempre enciclopedico :asd:

Link to comment
Share on other sites

potrebbe esserti d'aiuto anche questa dettagliatissima overview, che però si riferisce alla seconda versione del chip (Pcx2), sempre sviluppata da NEC unitamente a Imagination Technologies.

 

In pratica era la medesima unità elaboratrice che equipaggiava la DreamCast di Sega:

 

 

PowerVR 2

 

 

 

Le differenze architetturali ricordo non fossero poi così sostanziali.

 

La più importante è sicuramente che la versione 2 elaborava, se non ricordo male, i colori a 32bit, e non più a 16/24 come la versione 1

 

:)

Link to comment
Share on other sites

  • 2 weeks later...

Davvero un bel lavorone, complitemi Dark!

Credo che la M3D sia una bella scheda, un ottima qualità video, purtroppo poco supportata nei giochi, e dalle prove che hai effettuato si nota proprio questo, ha carenze architetturali non di poco conto.

Sarebbe interessante sapere come si comporta su sistemi recenti :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...