BETA - Rubrica Prove

3D per tutti!

Prova della Diamond Monster3D

Motorizzata dal 3DFX Voodoo Graphics, questa scheda permette di accelerare l a grafica 3D. A certe condizioni ...

di Fernando Carello

In questo articolo, presenteremo una breve analisi di una scheda acceleratrice 3D che sta incontrando un grande successo commerciale: la Diamond Monster3D, basata sul chip Voodoo Graphics della 3DFX Interactive.


PREMESSA

Fino a non molto tempo fa, le schede con accelerazione hardware 3D per PC erano poche; ora il mercato è in rapida espansione e diversi contendenti presentano prodotti caratterizzati da ottimi rapporti qualità/prezzo.
Ad ogni modo, il mercato delle schede 3D si divide in 2 gruppi: ci sono quelle high-end, professionali, con elevate prestazioni e supporto diretto per librerie 3D "standard" quali le OpenGL, ovviamente di costo molto elevato (Intergraph è un produttore "storico" di queste schede, pur se ultimamente sta interessandosi anche al mercato consumer); e quelle di fascia bassa, economiche, dedicate più che altro al mondo dei giochi - rappresentate fino a ieri dalla Creative 3DBlaster, basata sul chip Verité - e dei programmi di CAD/rendering - finora "dominato" dalla Matrox Millenium, basata sul chip 3DLABS Glint -.

La scheda oggetto di questo articolo appartiene tutto sommato a questa seconda fascia, consumer (per limiti di risoluzione/colori, prezzo, componentistica); tuttavia esibisce prestazioni spesso superiori a quelle delle schede professionali di un paio d'anni fa.

Limitiamoci comunque al suo "territorio di caccia", che sono appunto i giochi in 3D dell'ultima generazione: si tratta di veri capolavori di programmazione 3D poligonale, con ampio uso di texture mapping, multiple light sourcing, correzione di prospettiva, ombre multiple, riflessioni.
Il tutto, tipicamente, con risoluzione di 640x480 punti e 256 o 65'000 colori.

Alzi la mano chi non ha mai provato a giocare a Quake, F1GP2, EF2000, POD & compagnia, senza sentirsi "frustrato" dalla scarsa fluidità dell'animazione alle risoluzioni SVGA ... d'altronde, il rendering via software (ovvero calcolato dalla CPU) richiede un'enorme potenza per essere veloce, ed i programmatori hanno già dimostrato molta bravura nel riuscire, comunque, a renderlo in qualche modo accettabile sulle macchine di fascia medio-alta.
Le schede 3D "consumer" promettono appunto di alleviare questa sofferenza (!) ad un prezzo ragionevole, meno di un upgrade di CPU (upgrade comunque sempre inadatto a fornire la sufficiente potenza di calcolo, quand'anche scegliessimo un Pentium-II !).

Mantengono le promesse ? Dipende dai casi.

Le schede 3D finora apparse (3DBlaster, Millenium/Mystique, S3 Virge e derivati) le hanno mantenute solo in parte, o non le hanno mantenute affatto: a causa di un supporto software troppo limitato (in pratica solo i giochi appositamente ricompilati per le loro librerie "proprietarie" beneficiano di accelerazione) e di una potenza di calcolo complessivamente insufficiente, il loro impatto sul mercato dei videogame è stato abbastanza marginale (praticamente nullo nel caso della Virge, la più economica ma meno "dotata" quanto a prestazioni 3D).

La Diamond Monster3D (con la sorella Orchid Righteous3D e la "cugina" Hercules Stingray 128 3D, dotata della versione rush del chip Voodoo) promette di far meglio; in effetti, i titoli già sul mercato in grado di supportare il chip 3DFX sono numerosi (praticamente tutti i nuovi giochi 3D), e numerose sono le patch distribuite dalle software house per aggiungere detto supporto a titoli già "stagionati" ( esempio, il sempre valido Mechwarrior-II:Mercenarie s dell'Activision ).


ANALISI STATICA

Componentistica e realizzazione sono in linea con la classica buona qualità Diamond; la scheda alloggia comodamente in qualsiasi slot PCI 2.1 (ovvero dotato di PCI-to-PCI bridge, quindi dal Triton FX in poi) e non scalda eccessivamente (beh, per i toast potete sempre ricorrere al vostro bravo Pentium !).

Una cosa da tenere ben presente è che la Monster3d non sostituisce la vostra scheda video: la affianca, intervenendo solo laddove sia richiesta un'accelerazione 3D. Quindi, essa si comporta come una sorta di "scheda addizionale": per tutte le normali funzioni di visualizzazione grafica (giochi 2D, Windows etc.) sarà sempre e solo la scheda video preesistente ad intervenire !

Una particolarità consiste nel fatto che, comunque, il segnale per il monitor viene fornito dalla Monster3D in ogni caso: viene infatti fornito un cavo VGA "pass-through" che permette di reindirizzare l'uscita monitor della scheda grafica esistente verso la Monster3D.
Riassumendo: piazzata la Monster in uno slot PCI libero, staccate il cavo monitor dalla vostra attuale scheda video e attaccatelo alla Monster3D; dopodiché attaccate l'uscita monitor della scheda video rimasta orfana all'apposito ingresso della Monster tramite il cavetto in dotazione: oplà, siete a posto !

Tenete presente che il refresh durante il normale funzionamento è sempre governato dalla vostra scheda video: il DAC della Monster3D detta legge solo con il software che, appunto, la chiama in causa.

Passando ad aspetti più ... venali, la Diamond Monster3D viene venduta in 2 versioni (assolutamente identiche dal punto di vista hardware): versione Retail (con 6 CD di giochi appositamente accelerati, scatola extra-lusso e manuale) e in versione OEM-bulk (dentro la busta antistatica, oltre alla scheda e al cavetto, c'è un manualetto multilingue con 4 pagine per lingua e un CD con un po' di driver non molto recenti).
Il prezzo al pubblico della versione Retail dovrebbe aggirarsi attorno alle 350'000 lire esclusa IVA (prezzi analoghi per la Orchid Righteous, peraltro un po' più difficile da trovare in Italia).

Siccome la versione OEM-bulk costa grosso modo 50'000 lire di meno, e chi legge questo articolo ha senz'altro un qualche... rapporto con Internet, indovinate quale vi consiglio !

Rimandandovi (d'obbligo !!) alla relativa nota per le specifiche tecniche, passiamo alla:


ANALISI DINAMICA

La scheda è ragionevolmente Plug&Pray, quindi come al solito il DOS la vede all'istante, il BIOS (se sufficientemente recente) pure (a proposito: non occupa alcun prezioso IRQ), NT e Windows95 ... beh, c'è da faticare un pochino di più.
Linux non rimane particolarmente impressionato dalla sua presenza (al boot, il kernel riconosce che c'è un nuovo dispositivo PCI ma la cosa finisce lì): come vedremo dopo, se c'è la libreria runtime Glide, ricompilando le OpenGL (MesaGL) queste vengono hardware-accelerate, altrimenti nisba.

Vorrei comunque evidenziare che secondo me, la cosa più interessante di questa scheda non è né la validità del motore macina-poligoni, né la RAM in dotazione (pe raltro pochina: 4MB di cui 2 per Z-buffering e 2 per texture-mapping; tra l'altro su questa Diamond è EDO da 50ns: non ungranché veloce, come vedremo più avanti), bensì il supporto software.

Siamo di fronte ad una scheda che, finalmente, si avvicina parecchio all'idea di standard e all'idea di multipiattaforma: la 3DFX fornisce le librerie runtime per il supporto della scheda sotto DOS, Windows95, WindowsNT, Linux; pare che stiano valutando se fornire il supporto OS/2, mentre e' certa una versione Macintosh (però con scheda apposita, ovvero questa Diamond non va bene).

Più in dettaglio:

  1. Sotto DOS 6.x, la scheda tipicamente viene usata in modo nativo; ovvero, iprogrammi (i giochi !) vanno scritti e compilati appositamente per fare uso delle istruzioni 3D della scheda.
    Come risultato, solo i giochi appositamente scritti per 3DFX sfrutteranno la scheda (di contro, non c'è bisogno di alcun driver né TSR); esempio tipico Battle Arena Toshinden. In realtà, 3DFX fornisce un .OVL per DOS che potrebbe essere sfruttato da chi scrivesse un applicativo che usi l'apposito SDK(free!) distribuito da 3DFX; solo che tale OVL non si integra bene con il DOS4GW, che è l'extender usato dal 90% delle software house ...

  2. Sotto Linux, le uniche librerie 3D esistenti sono le OpenGL, di cui esist euna ... interpretazione freeware (MesaGL), in pratica l'unica usata !
    Le MesaGL hanno ora la possibilità di essere compilate con il supportohardware per 3DFX, a patto di installare un pacchetto run-time che fa uso delle librerie Glide distribuite gratuitamente dalla 3DFX.
    A quel punto, tutti i programmi 3D che usano le MesaGL useranno trasparentemente l'accelerazione hardware (voglio precisare che il tutto è ancora in alpha-test). Per maggiori informazioni vi rimando all'apposita nota.

  3. Sotto NT 4.0 come è noto le Direct3D non esistono ancora (Microsoft le ha promesse nel prossimoService Pack, o comunque per l'autunno); esistono invece le OpenGL, per cui ci sono 3 possibilità:

    1. Il programma usa le OpenGL; occorre allora installare le OpenGL by 3DFX, peraltro ancora incomplete, oltre ad un paio di services necessari a "far vedere" correttamente la periferica a NT (il tutto si trova su www.3dfx.com)
    2. Il programma usa le Direct3D: allora sotto NT non girerà MAI, almeno fino al prossimo Service Pack !
    3. Il programma usa direttamente le chiamate alla libreria Glide della 3DFX; allora è come 1), ma non c'è neppure bisogno di installare le OpenGL 3DFX.

    Il problema che sorge sotto NT è legato al pacchetto software G24RVT (Glide 2.42) fornito da 3DFX: lo script d'installazione sembra essere difettoso, copiai driver .SYS in una directory sbagliata (vanno messi in \system32\drivers) ed NT non riesce a vedere la scheda: basta spostarli nella suddetta directory per risolvere il problema.

  4. Sotto Windows95 esistono le Direct3D e le OpenGL (peraltro assai poco supportate da Microsoft). Quindi, oltre ai casi già descritti per NT, c'è la possibilità che il programma/gioco 3D in esame sfrutti le D irect3D; esse verrano allora "rimappate" sulla Monster3D dalle apposite librerie (un mix di Diamond, 3DFX e Microsoft, da installare nella dovuta sequenza: prima il pacchetto software Diamond, poi il pacchetto Glide della 3DFX (al momen to in versione2.42) con relativa OPENGL32.DLL, e infine l'ultimissima versione de lle DirectX by Microsoft -al momento, la versione 5.0- ).
    Alla fine del "cocktail", la scheda dovrebbe intervenire automaticamente ogni che qualcuno la chiama in causa, direttamente o tramite librerie Microsoft (appunto le DirectX).

Passiamo senz'altro alle "impressioni di guida" ...

La prima presa di contatto l'abbiamo avuta con un gioco DOS (sì, proprio il caro vecchio 6.2), e precisamente Battle Arena Toshinden della Playmates Interactive; scritto all'inizi o del 1996, è un "picchiaduro" poligonale 3D, alla Virtua Fighter per capirci. Abbiamo testato la versione "demo", che integra il supporto per 3DFX (viene attivato con un parametro a linea di comando, -FX).
Inizialmente facciamo partire il gioco escludendo il supporto 3DFX: la grafica è sufficientemente curata (640x480x256 colori), l'animazione è fluida; va comunque detto che i programmatori non hanno certo abbondato in texture mapping, e che i due personaggi sono costruiti con un numero di poligoni piuttosto basso (ed infatti le "forme" sono piuttosto squadrate); va anche notato che siamo su un Pentium 200.
A rovinare la discreta grafica ci pensa lo "spixellamento" delle texture (il pav imento dell'arenain primis), ben noto a tutti i videogiocatori ... vien subito voglia di vedere cosa succedeattivando il supporto 3DFX !
All'inizio si rimane un po' delusi: a prima vista tutto sembra come prima, velocità compresa ... tuttavia ben presto ci si accorge che i colori sono saliti da 256 a 65'000, e che lo "spixellamento" delle texture è sparito (grazie ad una delle tante funzioni disponibili in hardware con i chip 3DFX).
Niente male, ma non è certo sufficiente per giustifcare la spesa della sc heda ...

Passando però a titoli più recenti, le cose cambiano molto: parliamo quindi di QUAKE, l'ormai mitico gioco 3D in prima persona della idSoftware.

Partendo dal Quake "originale" (rigorosamente DOS), sono uscite man mano varie versioni "non ufficiali" (ma in realtà sempre seguite dalla ID) per Win32, OS/2, Linux ed altri Unix; l'ultima arrivata è GLQuake, una versione Win32 (ma dovrebbe arrivare anche una versione Linux, ed è in test la versione SGI) che utilizza le OpenGL per il motore 3D: è proprio quest'ultima a sfruttare, quindi, l'accelerazione 3D fornita dalla Monster.
Una breve premessa: sul suddetto sistema P 200 (dotato di scheda video S3 Virge e 64 MB di RAM),Quake "regular" esibisce, alla risoluzione di 640x480 punti, 256 colori, un frame rate medio di 16 FPS sotto DOS e Linux, che scendono a 13.8 nella versione Win32 con NT e a 15 con Win95.
Si tratta di frame rate troppo bassi per giocare in modo soddisfacente, visto ch e quando siscende al di sotto dei 18-20 FPS si nota una certa "scattosità" dell'animazione che penalizza lagiocabilità. Per il resto, è da notare che in giochi come Quake, d ove spesso ci si avvicinamolto ad oggetti texturizzati (es. i muri !), il fenomeno dello "sgranarsi" dell e texture èparticolarmente evidente e fastidioso.

Ciò detto, vediamo cosa succede con GLQuake ...

Anzitutto, una nota positiva per gli utenti Windows NT 4 : GLQuake gira infatti anche in questoambiente, una volta installate correttamente le varie componenti software (Service Pack 3, Glide2.42, OPENGL32.DLL appositamente create dalla 3DFX, ed infine GLQUAKE.EXE); leuniche limitazioni vengono dalla mancanza delle librerie DirectInput, il che crea qualcheproblema di "scattosità" nell'utilizzo del mouse.

Lanciato GLQuake (alla risoluzione di 640x480, che è possibile ridurre a 512x384 "windowed" sumacchine meno veloci), già la demo di presentazione ci fa capire che le cose sono cambiate: i movimenti scorrono fluidi, la grafica appare "morbida" grazie all'effetto anti -aliasing e le texture in primo piano non mostrano alcun segno di "spixellamento", ma solo l'effetto "sfuocato" tipico dell'algoritmo Level-Of-Detail MipMap usato all'uopo.
Una delle novità più interessanti di GLQuake è comunque la famosa trasparenza dell'acqua, che, usando i livelli (.BSP) appositamente ricompilati, permette di vedere eventuali nemici nascosti sott'acqua, e viceversa !
Per attivare questa opzione servono però alcuni settaggi ulteriori (per t utto ciò che riguarda trucchie consigli per GLQuake, vi rimando alle pagine su Stomped).

Come gli esperti di Quake sicuramente sanno, all'interno del gioco è presente una sorta di "benchmark" che permette un calcolo approssimativo del frame rate medio ottenibile nelle reali condizioni di gioco; esso si lancia digitando TIMEDEMO DEMO2 dalla console di Quake.
Ebbene, il Voodoo Graphics ha gonfiato i muscoli ed ha fatto segnare, senza alcu n settaggio da "addetti ai lavori", l'eccellente valore di 28 FPS, che salgono all'incredibile valore di 39 FPS quando si ricorre al detto fine-tuning
Dunque, circa 40 frame al secondo a 640x480 punti con 65'000 colori ! Quale stazione da gioco può fare altrettanto ?

Vale la pena di citare altri titoli "accelerati" da noi provati, in grado di ... stupire gli amici per grafica e velocità di azione: senza voler far torto a nessuno e a titolo puramente esemplificativo, siamo rimasti colpiti da Wipeout XL (Psygnosis), POD ed F1 (UBISoft), Tomb Raider (Eidos), EF2000; giochi per i quali le accresciute capacità grafiche e. soprattutto, gli elevati frame rate possibili grazie al chip 3DFX costituiscono un vero toccasana.

Passando ad altri ... numeri, non potevamo certo esimerci da una prova-cronometro sottoWindows95; servendoci principalmente dell'apposito 3DBench della Ziff-Davis, abbiamo confrontato le prestazioni 3 D della nostramacchina con e senza accelerazione hardware.

Piuttosto che riportare per intero i risultati del test (servirebbero diverse immagini per igrafici), mi limiterò ad una sintesi commentata; i risultati per esteso s ono a disposizione di chiunque ne faccia richiesta scrivendomi in email all'indirizzo in calce all'art icolo.
Dunque: una classica unità di misura per la potenza di un acceleratore 3D è il numero dipoligoni al secondo che esso può trattare.
Naturalmente, detto così non significa nulla: va precisato che i poligoni sono triangoli, e bisogna anche specificare che dimensioni hanno, con quanti bit di colore sono rappresentati, se sono flat oppure shaded o textured, e così via.
Inutile dire che le Case difficilmente forniscono valori facilmente confrontabili con la concorrenza: ognuno tende a mettere l'accento sul dato numerico che meglio lo fa figurare...
Noi di BETA abbiamo deciso di adottare, per i nostri test, triangoli da 50 pixel colorati a 16 bit e dotati di texture mapping e Gouraud shading.

Premesso che i dati ufficiali 3DFX parlano di oltre 1'000'000 dei suddetti triangoli al secondo (attenzione però: tali numeri non sono stati ottenuti con lo stesso benchmark da noi utilizzato), i numeri forniti dallo Ziff-Davis 3DBench si attestano attorno ai 60'000 triangoli al secondo, che salgono a circa 150'000 se si esclude il texture mapping.

Potreste chiedervi come mai vi sia tutta questa differenza tra i dati ufficiali e quelli da noi rilevati; sappiate che, mentre le cifre fornite da 3DFX si riferiscono alla potenza "pura" del chipset Voodoo graphics, le figure di merito del 3DBench sono ottenute all'interno di un sistema operativo reale, e per di più tramite chiamate alle librerie Direct3D e non direttamente alle librerie "native" del chipset.

Tutto perfetto dunque ? Non succede mai, e neanche la Monster3D smentisce questa regola.

Cominciando proprio dal particolare, ovvero dalla scheda Diamond (e non dal chipset Voodoo), vadetto che le memorie con cui è equipaggiata appaiono (almeno sull'esempla re da noi provato !)un po' lente: infatti, con i settings regolati per le massime prestazioni (slide del pannellodelle proprietà di Windows95 tutto a destra, corrispondente ad un clock d i 57 MHz) compaionodei fastidiosi "sfarfallamenti" delle texture, obbligando a riportare la slide c ompletamente asinistra (55 MHz). Con memorie da 45 ns probabilmente non sarebbe successo.
Venendo a difetti più generali, ci sono dei limiti dovuti alla quantità di memoria installata: come avrete letto nelle note tecniche la Monster3D, come d'altronde tutte le schede basate su Voodoo sinora uscite, è dotata di 4 MB di RAM egualmente suddivisa tra memoria video (usata anche per il Z-buffering) e memoria texture (usata per il texture mapping).
2 MB di memoria video impongono alcune limitazioni per i modi grafici disponibil i: tagliandocorto, il massimo della risoluzione utilizzabile con Z-buffering (necessario per le funzioni 3Dusate in giochi e CAD) è di 640x480 punti con 16 bit/colore (65'000 colori).

Fin qui ci si potrebbe anche accontentare; ma ancora più vincolante è il limite dei 2 MB per la memoria a disposizione del texture mapping: si tratta infatti di una tecnica grafica fondamentale per il rendering 3D (consiste nell'applicare, sulle superfici degli oggetti 3D, delle bitmap di dimensione opportuna; pensate ai muri di Quake, alle scritte pubblicitarie delle Formula 1, all'erba sul terreno, etc.), e 2 MB appaiono essere pochini; specie nei giochi con molti oggetti 3D contemporaneamente presenti sullo schermo (si pensi ad un GP di F1 o ad una stanza affollata di nemici in uno sparatutto 3D), si può incappare in fenomeni di trashing: la scheda deve continuamente togliere texture dalla memoria per accoglierne delle altre, la classica coperta troppo corta ... il tutto si riduce ovviamente in un fastidioso rallentamento.

Se per quest'ultimo problema la soluzione arriverà per duplice via hardware e software (le Case di videogiochi stanno studiando ottimizzazioni varie per le texture in modo da ridurne il peso, e le nuove schede 3D basate sul Voodoo avranno 6 MB di RAM di cui 4 MB per texture mapping), i limiti di risoluzione massima appaiono più difficili da superare con l'attuale chipset; pur potendo arrivare a 4 MB di memoria video e quindi ad 800x600 punti con 16 bit colore e Z-buffering, l'attuale motore Voodoo non fornirebbe prestazioni sufficienti a quella risoluzione. Sono tuttavia all'orizzonte nuove evoluzioni del Voodoo in grado di indirizzare più memoria video e di garantire performances ancora maggiori; il tutto, pare, mantenenendo la tanta sospirata compatibilità all'indietro (beh, con tutti i titoli per 3DFX che stanno uscendo in questo periodo, ci sembra decisamente sensato !): in particolare, è annunciato per Febbraio '98 il chipset Voodoo 2, in grado, pare, di assicurare frame rate dell'ordine dei 30-40 FPS anche a risoluzioni di 800x600 pixel.

Peraltro, la concorrenza non rimane certo a guardare: i nuovi arrivi di Verité, NEC, Nvidia appaiono tutti in grado di assicurare ottime prestazioni, quantomeno in ambiente Direct3D (ma avranno lo stesso eccellente supporto software ?).

CONCLUSIONI

Sin dalla loro apparizione, i PC hanno sofferto di una certa inadeguatezza quando usati come piattaforme da gioco; d'altronde, l'architettura CPU-centric costituisce un limite invalicabile quando si vogliano buone prestazioni su applicativi multimediali sofisticati quali, appunto, i giochi.

Ora che il mercato offre una certa gamma di schede acceleratrici 3D, il gap con le console (Playstation & co.) va colmandosi: le prestazioni possibili grazie ad un hardware dedicato ai soli calcoli per 3D sono decisamente buone e divengono potenzialmente accessibili a tutti grazie ad un prezzo complessivamente ragionevole.
La questione principale rimane tuttavia la stessa, che da anni insidia ogni spin ta evolutiva nelmondo dei PC: il supporto software, ovvero la compatibilità con il mercat o degli applicativi(che, in questo caso, coincide essenzialmente col mercato videoludico).

Da un certo punto di vista, la sempre maggiore incidenza della piattaforma Win32 con relativelibrerie grafiche aiuta ad andare verso standard "funzionanti": con un adeguato supporto daparte Microsoft, le DirectX con relative Direct3D sembrano essere una piattaform a completa eaccettata più o meno da tutti i produttori di videogiochi, con alcune not evolissime eccezioni:alcune tra le più prestigiose ed influenti Software House ( valgano tra t utte id Software(Quake) ed Interplay (Descent) ) hanno dichiarato di preferire la pia ttaforma OpenGL, considerata più "professionale" e più vicina alle esigenze dei programmatori grazie ad API più semplici e razionali.
In effetti, l'adesione allo standard OpenGL aiuterebbe a scrivere software pi&ug rave; portabile (non ècerto un mistero che alla id Software stiano "portando" Quake 2 anche in ambienti Unix),vista la grande diffusione di queste librerie (nate, non a caso, in Silicon G raphics) su piattaforme assai dissimili (compresi i supercalcolatori Cray !).

L'ideale sarebbe dunque che Microsoft supportasse, per i suoi sistemi operativi presenti efuturi, sia la piattaforma DirectX che lo standard OpenGL, onde facilitare al massimo la vitadegli sviluppatori.
Purtroppo, sappiamo bene come la società di Bill Gates sia favorevole agli standard ... purché siano suoi !
In effetti, il supporto ufficiale alle OpenGL appare alquanto in pericolo, rischiando così di rimanere affidato a terze parti.
Staremo a vedere.

Nel frattempo, una piccola provocazione: vale la pena spendere così tanto in hardware ... ludico, o nonsarà per caso meglio investire in una console da collegare al 29 pollici del soggiorno ?



Fernando Carello attende le vostre email all'indirizzo techcoord@beta.it o tramite la redazione


Diamond Monster3D: note tecniche

La Diamond Monster3D è una scheda PCI progettata per accelerare alcune funzioni grafiche 3D, dal tracciamento di linee e poligoni fino a complesse funzioni di ombreggiatura e filtraggio.
Basata sul chipset Voodoo Graphics della 3DFX Interactive, essa è costitu ita, per l'appunto, da due chipprincipali: il pixelfx per il calcolo 3D in Z-buffering (il "macina-polig oni") ed il texelfx per la gestione delle texture (il "rifinitore", che si occupa di ricoprire i poligoni con bitmap ingrado di simulare superfici di vari materiali, e di fornire dettagli quali scrit te, costumi,etc.).
Ciascuno di questi chip accede ad una certa quantità di memoria "dedicata" da 2 MB: il primo per la costruzione, in Double Z-buffering, delle scene tridimensionali da rappresentare, ed il secondo per la gestione delle bitmap utilizzate per ricoprire le superfici. La Diamond Monster3D è dunque dotata complessivamente di 4 MB di RAM, non espandibile (il chipset Voodoo può comunque gestire fino ad 8 MB di RAM).
Essendo una scheda dedicata al solo 3D, la Monster ha bisogno della presenza di una "normale"scheda video PCI per poter funzionare; il dialogo tra le due schede grafiche avviene mediante ilbus PCI, sfruttando una delle funzioni PCI 2.1, nota come "PCI-to-PCI bridge".
E' possibile che si verifichino alcuni problemi di compatibilità con alcune schede S3 dellavecchia generazione, specie se basate sul chip S3 868/968; sul sito
3DFX è comunque presente una fix per aggirare il problema.

La Diamond Monster3D è, comunque, una scheda PCI "ben educata": prontamen te individuata da quasitutti i BIOS recenti, si qualifica come Multimedia Video Controller, riportando un Vendor ID = 121a ed un device number = 1.
Fortunatamente la scheda non usa preziosi IRQ, si accontenta di poter mappare il proprio linear frame buffer all'indirizzo 0xe4000000, indirizzo comunque rilocabile via software in caso di conflitti.
Tra l'altro, dispone di buoni strumenti di accesso al frame buffer: la memoria a ppare infattiprefetchable ed in grado di supportare cicli burst back-to-b ack (ovvero più cicli burst consecutivi senza interposti stati di attesa).
Questo garantisce la possibilità di elevati throughput e quindi elevati f ill-rate (velocità di riempimento di aree grafiche). A tale proposito, la 3DFX dichiara un fill rat e massimo pari a 45 Mpixel/s.
Dotata di un proprio DAC da 135 MHz, con H-sync da 31.5 a 81.5 KHz e VerticalRefresh da 43.5 a 120 Hz la Monster3D può fornire frequenze di refres h ditutto rispetto (specie in quanto sono importanti soprattuto le risoluzioni in Double Z-buffering,ovvero fino a 640x480 pixel).


Accelerazione 3D sotto Linux

La 3DFX Interactive dimostra di essere davvero molto attenta alle tendenze del mercato PC: lodimostra il supporto ad un Sistema Operativo "outsider" ma assai importante qual eLinux.

Dalla sezione dedicata ai SDK di www.3dfx.com trovereteinfatti anche la versione Linux-ELF/x86 delle librerie runtime Glide, assieme ai relativiinclude per C .
La distribuzione (da installare in /usr/local/glide), che contiene anche vari programmi di test, presenta due piccoli bug che è bene eliminare subito:

  • le utility detect e texus non sono settate come eseguibili: occorr e quindieseguire un chmod a+x
  • il file include texus.h contiene, in due posizioni, commenti in stile C++ anziché C : occorre dunque sostituire i simboli // con le coppie /* */

Fatto questo, si può procedere settando opportunamente la variabile LD_LIBRARY_PATH come indicato nel README, e procedere con i test (li troverete nella sottodirectory /usr/local/glide/bin).
Ovviamente, anche sotto Linux è consigliabile procedere al fine-tun ing dellascheda, come indicato nell'apposita nota.

OK: ora che abbiamo installato le librerie runtime per la nostra scheda 3D, come la sfruttiamo ?

Beh, Linux non manca certo di programmi facenti uso di grafica 3D: anche senza aspettare l'annunciata versione Linux di GL-Quake 2, quindi, possiamo subito mettere alla prova la Monster3D.

Negli ambienti Unix, come già detto, lo standard per la grafica 3D è costituito dalle librerie OpenGL, giunte alla versione 1.1. Si tratta di librerie sviluppate dalla Silicon Graphics e vendute commercialmente (e senza sorgenti !) a prezzi che poco si sposano con la natura freeware di Linux e di FreeBSD; ciò ha portato allo sviluppo di librerie molto vicine alle OpenGL (talmente vicine da essere praticamente ad esse sostituibili), ma freeware: si tratta delle MesaGL (la cui "base" è su ftp://iris.ssec.wisc.edu/pub/Mesa), davvero unottimo prodotto che ora è disponibile anche per ambienti OS/2 e Win32 (sviluppatori di giochi,avete sentito ? Cosa aspettate ?).

Giunte alla versione 2.4, queste librerie forniscono a Linux funzioni OpenGL pre ssoché complete;dall'attuale versione, grazie all'italiano David Bucciarelli integrano anche il supporto perl'acceleratore Voodoo !
Dunque, tutto quello di cui avete bisogno è la runtime Glide per Linux (presso il sito 3DFX) e la versione 2.4 delle librerie MesaGL (presso il sito FTP appena menzionato, file MesaLib-2.4.tar.gz), con relativopacchetto demos (MesaDemos-2.4.tar.gz), che contiene anche importanti utility.

Compilato ed installato il tutto, non rimane che provare l'accelerazione 3D con qualcheapplicativo ...
Un buon esempio può essere VR-Wave, il successore di VR-Web. Si tratta di un viewer < B>VRML 2.0che usa appunto le MesaGL per le funzioni di rendering.
Senza l'ausilio dell'accelerazione hardware, il programma ha notevoli limiti prestazionali (anche dovuti al fatto che è tuttora in fase di sviluppo), che costringono ad utilizzare una visione wireframe durante la navigazione, se non si vuole "interagire" col mondo virtuale ad 1 - 2 FPS !
Usando le MesaGL con accelerazione hardware, le cose cambiano: è possibil e muoversi all'internodi ambienti di media complessità lasciando attiva la visualizzazione soli da con tanto di GouraudShading, e mantenersi ben al di sopra dei 10 FPS !
Naturalmente, man mano che driver ed applicativi matureranno cresceranno anche le prestazioni del sistema: le animazioni 3D permesse dal VRML 2.0 potranno così essere apprezzate anche da chi non dispone di una SGI Onyx ...


Spingiamo al massimo la Monster3D

Chi segue BETA, ed in particolare la rubrica Hardware, sa bene che abbiamo il ... pallino delle prestazioni: d'altronde, cercare di ottenere il massimo dal nostro sistema ci sembra quasi doveroso !
La scheda oggetto di questa prova non poteva certo sfuggire a questa regola: ecc o quindi alcuneregolazioni che permettono di spremere qualche FPS in più dalla Monster3D (il tutto vale ancheper la Orchid Righteous !).

Nulla di particolarmente cruento, comunque: si tratta di settare opportunamente alcune variabilidi sistema (operazione che dipende dal sistema operativo usato: modificando l'AUTOEXEC.BAT per DOS e Windows95, agendo sull'icona Sistema del Pannello di Controllo per WindowsNT, modificando /etc/profile per Linux), e precisamente ponendo:

SST_FASTMEM=1SST_FASTPCIRD=1
SST_SWAP_EN_WAIT_ON_VSYNC=0FX_GLIDE_SWAPINTERVAL=0
SST_GRXCLK=55
L'ultima riga regola il clock principale della scheda; come accennato, sull'esem plare in nostropossesso le memorie manifestano alcuni problemi di timing se spinte oltre i 55 M Hz, ma è statoriportato di alcune schede Voodoo in grado di lavorare senza problemi a 57-58 MH z.
E' anche possibile fissare il refresh di default della scheda tramite la variabi le

SST_SCREENREFRESH

Un valore pari a 75 dovrebbe essere una buona base di partenza per quasi tutti i sistemi.


Copertina Sommario Internet ID Informazioni Browser
Copyright © 1994-97 BETA. Tutti i diritti sono riservati. BETA Sul Web: http://www.beta.it.