Il nome di 3dfx, per chi è appassionato di 3D e videogame su pc, evoca, da sempre, particolari suggestioni e suscita emozioni e ricordi in cui la realtà e il mito finiscono col confondersi.
Quel che è certo è che 3dfx non ha inventato il 3D e neppure è stata la prima a farne un’implementazione su pc.
Ha, però, l’enorme merito di averlo reso fruibile al popolo del computer, al quale, grazie alla possibilità di acquistare un acceleratore 3D ad un prezzo, per l’epoca, relativamente abbordabile, ha visto, improvvisamente, aprirglisi davanti un mondo sconosciuto ed affascinante.
Non è mia intenzione, però, in questa sede, parlare del “mito” 3dfx e neppure fare una rievocazione dei bei tempi videoludici andati. Farò, invece, un molto più pragmatico e, forse, noioso, cenno al frutto del lavoro dei tecnici di 3dfx: i suoi acceleratori 3D e i suoi chip grafici.
Iniziamo dall’ormai lontano 1995 e dalla piattaforma denominata SST-1 Graphic Engine, meglio nota come Voodoo che, per prima, faceva uso delle funzioni di depth buffering su una piattaforma a basso costo, introducendo, di fatto, la terza dimensione virtuale nelle case di ogni utente dotato di pc.
Si tratta, appunto, di una piattaforma, poichè dotata, in realtà, di due chip, denominati Texture Raster Engine (TREX) e Frame Buffer Interface (FBI). La scheda è, inoltre, equipaggiata da due gruppi di EDOram o SDRAM, uno dedicato alle operazioni di texturing, di dimensioni variabili tra 1 e 8 MB e l’altro utilizzato come frame buffer, con dimensioni comprese tra 2 e 4 MB.
Il TREX è il chip master che si occupa di tutte le operazioni relative alle texture, tra cui il calcolo del LoD (level of detail), il mipmapping, le tecniche di filtraggio semplici (point sampling, bilinear filtering, ecc) e quelle, per l’epoca, più avanzate (trilinear filtering, detail texture mapping e projected texture mapping). Il FBI è un chip slave, attraverso cui passano tutte le comunicazioni con il bus PCI e, di conseguenza, con la cpu. Il FBI gestisce anche le operazioni di base sulle primitive, tra cui gourad shading, alpha blending, dithering e depth buffering, svolgendo, di fatto, il ruolo che, negli attuali chip, è affidato alle cosiddette RBE o ROP’s.
Il TREX è dotato di un bus di espansione che gli permette, in teoria, di essere connesso ad altre unità gemelle, in modo da potenziare la capacità di testuring del sistema. In particolare, si può arrivare ad una configurazione che provede fino a 3 TREX connessi tra di loro
Dal momento che un singolo TREX ha la capacità di effettuare bilinear filtering con mipmapping in single pass, una configurazione con 3 TREX arrtiva a fare trilinear filtering con mipmapping e detail texture in single pass. Inoltre, la configurazione con un solo TREX è in grado di effettuare solo trilinear filtering con mipmapping in due passate ma non supporta le operazioni più complesse abbinate a filtraggio bilineare o trilineare.
Di fatto, un TREX comprende una unità di texture sampling una di texture fetch ed un testure combiner, ovvero, è l’equivalente di una tmu.
Il FBI, invece, presenta un color combiner e unità di alpha blending, dithering, color e z compare.
Il bus di interfaccia con il frame buffer è ampio 64 bit e lavora a 50MHz; le prestazioni teoriche prevedono la scrittura di 1 pixel per ciclo in caso di operazioni di gourad shading o texture mapping con depth buffer attivo, il che significa un picco teorico di 50 Mpixel/sec.
Il datapath di accesso alla ram dedicata alle operazioni di texturing è di tipo fully interleaved; in pratica significa che è possibile accedere a più dati, contenuti in diversi banchi di menoria, in contemporanea e indipendentemente. Questo permette, nel caso specifico, di fare bilinear filtering in single pass con un singolo TREX.
Le operazioni interne sono svolte a 24 bit nativi e, solo all’uscita della pipeline, sono convertite a 16 bit e immagazzinate in quel formato all’interno del FB.
Su SST-1 ci sarebbero molte altre cose da aggiungere, anche solo a titolo informativo, senza alcun approfondimento. Non è questo, però, l’intento che mi sono ripromesso. L’idea è quella di iniziare a descrivere, per sommi capi, il funzionamento delle architetture grafiche e, secondo la mia opinione, il modo migliore per farlo è quello di cominciare parlando del primo acceleratore grafico 3D di tipo consumer e con la società che ha, di fatto, schiuso il mondo del 3D ai possessori di pc.
Continuo, perciò, il breve excursus sulle architetture grafiche progettate da 3dfx, passando al successore di SST-1, ovvero il sistema Voodoo 2.
Nello schema a blocchi sottostante, si può notare che le differenze più evidenti rispetto all’SST-1 sono l’utilizzo di ram di tipo SDRM/SGRAM, il maggior quantitativo utilizzabile per le texture e l’uscitaTV. Anzi no, ce n’è un’altra, direi fondamentale, ovvero i nomi dei due chip master e slave: Chuck (Norris) e Bruce (Lee).
In pratica, Chuck è il FBI e Bruce il TREX visti nell’SST-1 anche se ci sono più differenze di quante ne risultino ad una prima occhiata. Ad esempio, il bus che nel TREX permetteva di mettere in comunicazione tra loro più unità dello stesso tipo, in BRUCE permette anche l’accesso diretto alla texture memory da parte di un dispositivo esterno.
Inoltre, CHUCK supporta anche una sorta di edge antialiasing per rimuovere le scalettature sui bordi dei poligoni che è, però, dipendente dall’algoritmo di sorting dei poligoni (varia la modalità in caso sia front to back o back to front); né questa funzionalità e neppure la possibilità di accedere a texture da parte di chip esterni, sono state esposte nelle prima revisione del chip.
C’è da aggiungere che il bus di Bruce verso la texture ram è di 64 bit, come quello di Chuck verso il FB.
Di fatto, oltre a supportare qualche funzione in più e a lavorare a frequenze più alte, sia per la ram che per i chip, il grosso vantaggio a livello prestazionale delle Voodoo 2 messe in commercio, rispetto alle Voodoo 1 risiede soprattutto nel fatto che le prime sono state commercializzate con 2 unità di tipo Bruce, mentre le prime con una sola TREX. Il che fornisce alla Voodoo 2 una capacità di texturing doppia rispetto al sistema che l’ha preceduta.
Occorre far presente che, a differenza di quanto si è iniziato a vedere con i chip DX8 (o, in precedenza, ma era un’eccezione, con il Kyro), in precedenza non si faceva una particolare distinzione tra istruzioni eseguite in single pass o con un solo ciclo. Questo perchè, per la maggior parte delle funzioni, non si faceva uso di buffer di accumulazione dei risultati intermedi di un’elaborazione. Così, se ad esempio, nel caso dell’NV20, si potevano applicare 2 texel per ciclo su singolo pixel, ma si poteva arrivare a 4 texel per pass (che diventano 6 con lo SM1.4 e 16 con lo SM2.0) , per NV15 (che ha la stessa configurazione di tipo 4×2, ovvero 4 pipeline con 2 tmu ciascuna) c’era la possibilità di applicare 2 texel per ciclo ma anche e solo 2 texel per pass. Il vantaggio dell’uso di buffer di accumulazione consiste nel non dover accedere ogni volta che si è concluso un ciclo, al FB per scrivere o leggere dati, ma si può far uso di memoria interna di più veloce accesso. La Matrox Parhelia, ad esempio, non utilizzando buffer interni, per poter vantare la compatibilità con lo SM1.3 che richiede 4 texture per pass, fa uso di un’architettura 4×4. Ovvio che, all’aumentare della complessità dei calcoli, diventa sempre più difficile (al giorno d’oggi impossibile) avere un’architettura con tante tmu per pipeline quante sono le texture richieste per pass (come la si metterebbe, ad esempio, con 128 texture in single pass?).
Ma torniamo a 3dfx: dopo Chen e Walker (Texas ranger), troviamo i Vendicatori, o meglio IL VENDICATORE, in quanto il nome in codice del chip che equipaggia la Voodoo3 è proprio AVENGER . Si tratta del secondo chip (dopo il Banshee) prodotto da 3dfx che non è solo un acceleratore 3D ma un vero e proprio chip grafico, con funzionalità 2D avanzate e del primo progettato anche per l’interfaccia AGP 2.0. Se il banshee era, volendo schematizzare al massimo, un chip Bruce+Chuck con funzionalità 2D, Avengerè un banshee con un Bruce in più e frequenze maggiorate. In realtà ci sono alcune piccole differenze che, ai fini di questo tipo di trattazione non sono fondamentali e su cui non ci si soffermerà.
Dalla figura si può vedere che è ancora presente il FBI, come è presente un blocco denominato TMU che, stavolta, comprende 2 unità di texturing che si trovano sullo stesso chip del FBI. C’è anche, come è ovvio, il blocco relativo alle funzioni 2D.
Avenger, al pari del Banshee, presenta un bus di 128 bit sia come interfaccia con il FB che nel collegamento tra tmu e texture memory.
Al contrario dei suoi predecessori, Avenger lavora, internamente, a 32 bit lungo quasi tutta la pipeline, convertendo solo in prossimità dell’uscita. i dati a 24 o 16 bit. Ovviamente i 32 bit in oggetto non sono da confondere con i 32 bit di cui si parla oggi (ovvero 32 bit in fp per canale) ma di 32 bit complessivi (ovvero 8 pr canale). Discorso analogo per i 16 e i 24 bit.
Qui sotto, un grafico che dà un’idea della perdita di prestazioni nel caso di applicazioni che richiedono più accessi al FB per le operazioni di texturing
Nonostante gli innegabili vantaggi mostrati anche in questa immagine, forse sull’onda del successo dei chip che, sulla falsarige del TnT Riva, iniziano a proporre architetture nx1 (2×1 per il TnT ed il TnT2, 4×1 per l’NV10) che, se da un lato, perdevano il confronto nelle mere operazioni di texturing, dall’altro potevano vantare un pixel fillrate più elevato, potendo “scrivere” più pixel per ciclo, il successore del Voodoo3 abbandona l’architettura con un solo Chuck e più Bruce per adottare un’architettura 2×1, ovvero con 2 FBI e 2 TREX o comunque li si voglia definire: in pratica, due pipeline con 1 tmu ciascuna.
Questa è la principale novità ma non l’unica, presentata da VSA-100, un chip che doveva rappresentare la riscossa di 3dfx ma che, al contrario, non ha avuto un successore a causa delle note vicende che hanno portato all’acquisizione della stessa 3dfx da parte di nVidia.
VSA-100 è un ottimo chip, capace di effettuare calcoli a 32 bit lungo tutta la pipeline, in grado di utilizzare due modalità di texture compression, quella standard prevista dalle dx (DXTC) e la FXT1 capace di un rapporto di compressione di tipo lossy (con perdita di qualità comunque accettabile) di 8:1 . Inoltre, tra le caratteristiche di VSA-100 c’è anche il miglior FSAA del periodo e che, ancora oggi, è da considerarsi una pietra miliare del settore. L’algoritmo utilizzato è un RGSS con gamma correction e fa uso di accumulation buffer interni al chip definiti T-buffer. Dei T-buffer si fa uso anche per l’applicazione del motion blur e per soft sahdow e soft reflection.
VSA-100 è progettato per lavorare insieme ad altri chip identici (fino ad un massimo di 32 teorici), in modalità scan line interleave (SLI), in cui uno dei due chip si occupa di renderizzare le linee pari e l’altro quelle dispari di un frame. Sarà così sulle Voodoo 5 5000 (PCI) e 5500 (AGP) con 2 chip in paralello e sarebbe dovuto essere così sulla Voodoo 5 6000 (con 4 VSA-100 in parallelo).
Insomma, si tratta di un chip in cui non si è sacrificata la qualità alle prestazioni. Ma, visto che si parla di 3D e, di conseguenza, quello che viene alla mente sono i soliti grafici dei benchmark, come è il VSA-100 in fatto di prestazioni? Nella sua incarnazione più spinta, arriva a 183 MH che, considerate la due pipeline, danno un pixel fillrate di 366 Mpixel/sec per chip. Non è un valore elevato (solo un 25-30% in più di una TnT2). In SLI arriva a superare di un buon 40% le prestazioni di una Geforce. Il problema è che si trova a confrontarsi con chip prodotti da nVidia e ATi, di nuova generazione che iniziano a far uso, al pari di NV10 e dello sfortunato Savage 2000 di S3, di accelerazione HW per le operazioni geometriche (anche se ancora limitati a funzioni fisse e non programmabili) e hanno valori di pixel e texel fillrate decisamente superiori: NV15, nota come Geforce 2 e R100 conosciuto come Radeon.
Se da un punto do vista qualitativo VSA-100 non ha nulla da invidiare ai suoi diretti concorrenti, anzi, può ad esempio, vantare un FSAA che non solo ha un’ottima qualità ma che, grazie all’adozione del T-buffer, ha un impatto prestazionale inferiore rispetto a quello visto su NV15 e R100 (per quanto sempre devastante come tutte le forme di FSAA), dal punto di vista delle prestazioni pure risulta inferiore ad entrambi, anche in modalità SLI ed inoltre, necessita di una cpu più potente per poter dare il meglio, in quanto per i calcoli geometrici si appoggia completamente su di essa. Rispetto alle rivali, ha in più le GLIDE, alternativa proprietaria alle D3D e alle OpenGL ma ormai sono lontani i tempi in cui 3dfx era sinonimo di prestazioni vertiginose in 3D. La serie Geforce, soprattutto in versione NV15, grazie al fatto che internamente supporta, nativamente, sia i calcoli a 16 che a 32 bit, nella prima modalità riesce a sfoderare prestazioni molto al di sopra dei concorrenti, seppure con una qualità a dir poco pessima. A 32 bit, invece, soprattutto in D3D, brilla R100, che effettua i calcoli interni, al pari di MGA 400 (la matrox G400), sempre a 32 bit ma riesce a gestire meglio il bus di accesso alla ram grazie all’Hyper-z, una serie di feature atte ad effettuare operazioni di HSR, di compressione dei dati e di pulizia veloce dello z-buffer.
Infine, buon ultimo, VSA-100, al contrario dei chip nVidia (da NV10) e ATi (da R100), non supporta le ram DDR, il che limita la bandwidth in single chip e in modalità SLI non permette ad un chip di far uso di più di 32 MB di ram (il che significa che con alcune applicazioni si può diventare frame buffer limited). Quest’ultimo gap, 3dfx si riproponeva di superarlo con il successore di VSA-100, ovvero VSA-101 che, però, non ha mai visto il mercato.
Ora 3dfx è sinonimo di elevata qualità d’immagine ma lo scettro delle prestazioni è definitivamente passato di mano.
Possiamo concludere dicendo che VSA-100 ha rappresentato il canto del cigno di 3dfx. Il suo miglior chip e anche quello con cui ha deciso di staccarsi dalla tradizione, costretta, in un certo senso, a cercare l’innovazione, è stato anche il suo ultimo. Forse è proprio in queste considerazioni che si può cercare il limite che ha portato alla fine di 3dfx. In questo articolo si è fatto un breve riassunto delle varie architetture prodotte da 3dfx ma quella che è mancata è stata proprio l’innovazione, la modifica radicale di un progetto. Si è rimasti legati al vecchio schema della singola pipeline fino ad arrivare, in pratica, all’ultimo chip della serie, la dove, nVidia che, in quel periodo, è stata sicuramente la più attiva, partendo dal nulla e guadagnando una meritata leadership, ha proposto architetture 1×1, 2×1, 4×1, fino ad arrivare alla 4×2 di NV15 e li si è fermata anche lei fino ad NV30 ed è stata superata da ATi con la 8×1 di R300.
Ma questa è un’altra storia.
Ottimo articolo da mettere nei preferiti
Articolo molto interessante. Complimenti.
Articolo veramente interessate.
Mi piacerebbe in futuro leggere qualcosa sui DAC e sul tipo di connessione scheda/monitor: spesso sono cose mai mai citate .. ma che possono fare la differenza in termini di qualita’ e stabilita’ di immagine.
[…] Original Link: http://www.appuntidigitali.it/3733/3dfx-pensieri-e-parole-con-qualche-immagine/ […]
Ottimo articolo!
Ps: Riprendendo il titolo, “Immagini pesanti [BMP], ma sempre immagini” :-D
@yossarian:
Articolo interessantissimo, complimenti!
Ho sempre desiderato conoscere qualcosa dell’architettura delle schede video, tanto per avere un’idea di massima sulla loro implementazione (hai in programma un excursus storico che è iniziato con le Voodo e arriverà hai giorni nostri? Sarebbe fantastico!)
Solo una cosa: sarebbe molto utile avere immagini più grandi e nitide (al limite un link che rimandi alla versione estesa) perchè così di alcune si perdono i dettagli (oltre a dover tirare gli occhi per leggerle).
Ancora complimenti!
Uhm..yossarian, mi sa che hai fatto un pochino di confusione parlando di Bruce e Chuck! Dal disegno direi che Chuck è l’FBI, mentre Bruce il TREX..ma appena sotto la figura affermi il contrario.. O il testo, o la figura sono errati (oppure io ho capito male, che non è da escludere!!). Altra nota, sempre nello stesso paragrafo, dici: “il grosso vantaggio a livello prestazionale delle Voodoo 2 messe in commercio, rispetto alle Voodoo 1 risiede soprattutto nel fatto che LE PRIME sono state commercializzate con 2 unità di tipo Bruce, mentre LE PRIME con una sola TREX”..qualcosa mi dice che il secondo “LE PRIME” dovrebbe diventare un “LE SECONDE”! :)
Detto questo..complimenti vivissimi per i tuoi articoli..sempre interessantissimi!!
@ Ilruz: cercherò di accontentarti. Magari non sarà un articolo che verterà integralmente sui DAC, ma vedrò di inserirli in qualcuno dei prossimi articoli
@ banryu79: si, l’idea è quella di fare una serie di articoli in cui si parlerà delle architetture dei chip grafici. Saranno inframezzati da articoli, diciamo, propedeutici, come ad esempio quelli iniziali sulla genesi di immagini 3D e sull’antialising, in modo tale che, quando ci si troverà a parlare di determinati argomenti, non si perderà tempo a cercare di fornire spiegazioni, magari raffazonate a causa dello scarso spazio, ma si potrà rimandare all’articolo che tratta quello specifico argomento. Per quanto riguarda le immagini, hai ragione; purtroppo c’è un limite imposto dal layout della piattaforma. In particolare, le immagini prese per questo articolo provengono da una serie di pdf di 3dfx (una sorta di white paper delle varie architetture), che contenevano anche immagini più in dettaglio dei vari blocchi. Il problema era che si trattava di immagini ancora più grandi che, se rimpicciolite, sarebbero diventate illegibili. Comunque, dove sarà possibile, cercherò di inserire i link ai documenti originali
@ TheFoggy: hai ragione, nella prima riga ho invertito CHuck e Bruce: provvedo a correggere a grazie ancora per le segnalazioni
Il colpo di grazia 3dfx se l’è dato da sola quando ha deciso di produrre in casa le proprie schede video.
@ Redvex: la decisione di mettersi a produrre le proprie vga è stata una conseguenza della perdita del monopolio sulla vendita degli acceleratori 3D. La transizione da sistemi con VGA 2D e acceleratore 3D a sistemi con VGA 2D/3D le cui prestazioni risultavano, per altro, allineate a quelle degli acceleratori dedicati, ha costretto 3dfx a ripensare le proprie strategie di mercato. E non è stata l’unica a farne le spese: fino al 1997, il mercato delle VGA 2D era dominato da S3 che proponeva prodotti a basso costo (con le varie trio e virge) rispetto alle più quotate e costose Matrox, ATi, alle più rare equipaggiate con prodotti tseng labs, permedia, ecc. Si iniziavano ad affacciare alla ribalta i primi chip 2D con funzionalità 3D (i rendition), ma il mercato era ancora saldamente in manoe S3 per il 2D e 3dfx per il 3D.
L?avvento dei chip combinati ha spostato in maniera drastica e molto rapida gli equilibri, coastringendo molti produttori ad uscire di scena; altri si sono visti notevolmente ridimensionati. L’avvento dei chip combinati ha anche determinato un’accelerazione alla velocità di rilascio dei nuovi chip o delle loro revisioni; in particolare, nVidia, con la sua politica di lancio di una nuova revisione ogni 6 mesi ha contribuito all’enorme selezione che c’è stata negli anni successivi al 1998; a questa selezione ha contribuito anche MS che ha spinto, con le sue DX, verso l’adozione di nuovi standard a intervalli di tempo piuttosto ridotti.
In questo contesto, solo che aveva la forza di adeguarsi ai nuovi ritmi produttivi poteva proporre prodotti concorrenziali che risultavano appetibili e potevano essere utilizzati per equipaggiare i chip di terze parti. Non a caso, ha iniziato a fare così ATi, a partire da R200 (cioè poco tempo dopo aver tirato fuori prodotti allineati a quelli della concorrenza, ovvero i chip denominati Radeon). Ma ATi era una relativamente grande società, con un enorme potenziale; la setssa cosa non si può dire di 3dfx o di matrox che sono state costrette a fare scelte differenti non potendo più contare su proposte giudicate competitive e non avendo i mezzi economici per tenere il passo di società più grandi.
che tempi io ho ancora un matrox m3d con scatola e tutto ehhehe mai sopportato le 3dfx e le sue glide proprietarie però quando le vedevo dai miei soci erano impressionanti per quel periodo….
Prima di tutto faccio i complimenti a Yoss, che fin dai tempi del forum di NGI ci delizia cono i suoi articoli tecnici. Siccome ho avuto quasi tutte (e provate tutte) le schede citate nell’articolo (inclusa l’ottima Matrox G200 non citata) desidero comunque aggiungere alcune cose sulle altre scelte che condussero 3DFX alla fine consentendo a Nvidia (allora ben più piccola di ATI, S3 e Matrox) di arrivare a dominare il mercato.
1° errore (comprensibile ma sempre errore) : Insistere a voler imporre le Glide come API proprietarie, accettando le D3D (MS docet) ma snobbando le OpenGL, quando allora (siamo nel 1995) il giochi di riferimento 3D erano Quake/Quake2 , che infatti giravano grazie ad un Wrapper (un prog. che intercettava le chiamate OGL e le trasformava in Glide). Nota: Lo stesso errore lo fece la Matrox.
2° Errore (Mortale): Aver privilegiato lo sviluppo della Voodoo2 rispetto al Banshee, nato castrato. Ciò ha sicuramente pagato subito sul piano delle vendite ma ha permesso a Nvidia di partire. Un Banshee uscito qualche mese prima con prestazioni anche leggermente inferiori a Voodoo2 avrebbe tagliato le gambe alla TNT. I segnali della necessità di fare una scheda unica 2D/3D c’erano tutti e Nvidia con la Riva aveva già dimostrato che era possibile fare qualcosa di decente.
Persino Matrox aveva un buon prodotto (la G200) che, nonostante avesse prestazioni inferiori alla Voodoo2 aveva una qualità grafica maggiore e costava molto meno di una accoppiata Voodoo2+shceda 2D.
Diciamo che i tentennamenti nel decidersi a fare una scheda unica 2D-3D sono stati l’errore principale, indotto dell’enorme successo degli acceleratori puri Voodoo1 e 2.
3° Errore (Mortale) : aver sottovalutato per molto tempo in avanti (errore comune a tutti tranne Nvidia) l’importanza dello sviluppo dei drivers.
4* Errore (Finale) : aver investito su modello di Business diverso mettendosi a produrre schede in proprio, mentre il modello giusto era quello di sviluppare solo i chip.
Questo fu l’errore finale perché IMHO le cose erano già compromesse in quanto Nvidia era già lanciata (TNT2, TNT2 Ultra) , Matrox era ancora forte (G400) ed ATI era comunque riuscita sopravvivere con la pur scarsa Rage (inculsa Rage Fury MAXX)
Pochi mesi prima dell’uscita di Quake 3 Arena (siamo nel 1998) Nvidia sforna la Geforce e poi la Geforce DDR e mette un gap tra se le altre schede che solo ATI riuscirà inizierà a colmare con la R100, seppure con (pressappoco) un anno di ritardo.
,,, sniff… la banshee… la mia prima scheda video (e il mio primo pc)… sigh… quanti ricordi… quake 2… half life… sin… carmageddon 2 (hihihihi)…
ah… dimenticavo…
anche le texture che “friggevano” GHGHGHGH
[…] aver tributato il doveroso omaggio a 3dfx e aver ricordato Teng Labs, Number Nine e Rendition, questa settimana voglio dedicare un po’ […]
[…] fusione o dello scioglimento. Per chi si fosse perso le puntate precedenti, abbiamo già parlato di 3dfx, Tseng Labs e Number Nine, Rendition, Chromatic Research, ArtX e Bitboys […]
[…] da parte di nVIDIA, perchè, di fatto, l’acquisizione l’ha portata a termine 3dfx e la casa di Santa Clara ha acquistato […]