di  -  mercoledì 29 luglio 2009

Estate, tempo di vacanze (anche se non per tutti), caldo, belle giornate, poca voglia di stare al computer e di leggere lunghe disquisizioni tecniche, magari corredate da tecnicismi o formule che rendono la trattazione più complessa e meno comprensibile se non si è proprio addetti a lavori.

Probabilmente c’è anche chi preferisce passare le ferie a giocare a CoD4 anzichè andare al mare o in montagna e, poiché questo è un blog “tecnologico”magari può risultare più in tema, sempre in argomento vacanze, parlare della “Republica de Tropico” piuttosto che delle Maldive. Poichè, però, non sono io l’esperto di videogiochi di AD, lascio ad altri il gradito compito di portarci su qualche isola tropicale virtuale, magari in missione segreta a massacrare altrettanto virtuali mercenari, e mi limito a parlare dei “mezzi di trasporto” che permettono questo genere di viaggi.

Questo preambolo per dire che, dopo aver tediato i più con articoli chilometrici e zeppi di elementi tecnici che hanno fatto la gioia di un numero ristretto di addetti ai lavori, approfitto del clima vacanziero per accantonare temporaneamente questo genere di trattazioni e dedicarmi ad una serie di articoletti di breve durata, molto poco tecnici e ispirati dalla (non solo mia, visto che ho colto il suggerimento di Alessio) passione per il retrocomputing.

Non si tratta di vere e proprie review di vecchie schede video, quanto piuttosto di una sorta di amarcord (dal romagnolo a m’arcord, ovvero io mi ricordo), una forma di nostalgia per i tempi pionieristici della grafica 3D, quando si arrivava perfino a progettare un chip grafico dimenticandosi che le API di riferimento prevedevano le operazioni di texturing.

Si parla di quel periodo a cavallo tra l’era in cui i chip grafici erano considerati un mero coprocessore per accelerare alcune operazioni 2D e quello in cui sono assurti a unità dedicate all’accelerazione combinata 2D/3D.

Una delle società più antiche (1983) attive nel settore è stata Tseng Labs che, per anni, ha prodotto adattatori grafici, prima monocromatici e poi a 8, 16 e 24 colori, producendo sia per conto terzi (ad esempio IBM) che, successivamente, vendendo i propri chip come OEM seller per gli assemblatori di schede video.

Tra le novità introdotte da Tseng Labs si annoverano: le modalità a 8, 15, 16 e 24 bit per colore, il primo controller integrato per il local bus e un bus asincrono dedicato all’invio di dati relativi all’elaborazione video al display buffer, definito IMA (image memory access). In particolare, il controller dedicato al bus ISA, a partire dalla serei ET4000, fu dotato di buffer di tipo FIFO piuttosto capiente in uscita, in modo da limitare i cicli di idle della pipeline.

Questa interfaccia occupava circa il 30% dell’intera superficie dei chip prodotti da Tseng Labs e riusciva a velocizzare di molto le operazioni risultando utile in un’epoca in cui l’accelerazione hardware per la GUI ancora non esisteva o, comunque, non era presente su chip di tipo consumer.

Con l’adozione dell’accelerazione della GUI in hardware prima e con l’avvento del bus PCI poi, la veloce interfaccia ideata da Tseng Labs perse via via di importanza e divenne una feature di scarsa utilità.

Un successo più duraturo, invece, ebbe l’IMA attorno al quale Tseng Labs realizzò una serie di chip dedicati alle operazioni di decodifica Video, denominati VIPeR e utilizzati anche da terzi su soluzioni (tra cui Matrox) di fascia alta.

Nelle successive immagini sono riportati, rispettivamente, un esemplare della ET1000 con interfaccia ISA a 8 bit

tseng-labs-et1000.jpg

una ET4000AX, la prima ad adottare il controller dotato di buffer per il local bus, con interfaccia ISA a 16 bit

tseng-labs-et4000ax.jpg

Sul successivo modello, la ET4000W32, fu adottata l’accelerazione hardware della GUI.

Da quanto detto finora, sembrerebbe emergere il quadro di una società molto attiva, intraprendente e volta all’innovazione. Ma ci sono alcune cose che, dalle oche righe scritte, non traspaiono, non per dimenticanza di chi vi sta relazionando ma di chi, all’epoca, progettava i suddetti chip; in particolare, le lacune gravi sono due: la mancata adozione di un RAMDAC integrato, fino alla ET6000 (a 1997 inoltrato), in figura

tseng-labs-et6000.jpg

e la mancanza di accelerazione 3D alla cui carenza si ovviò adottando un chip della famiglia PowerVR prodotto da NEC sulla ET6100. Questo fece perdere a Tseng Labs quote di mercato importanti a vantaggio di alcuni competitor come ATi e, in particolare, S3, relegandola a ruolo di comprimaria, fino alla sua scomparsa, a fine 1997, in seguito all’acquisizione da parte di ATi.

Altro marchio storico (1982), destinato ad una fine ingloriosa più per errori propri che a causa della concorrenza, fu Number Nine. A partire dal nome della società e passando per quelli dei chip da essa prodotti, sono chiari i riferimenti ai Beatles. In particolare, il nome è mutuato da una delle frasi più controverse delle liriche beatlesiane, contenuta in Revolution9, penultimo brano del White Album: la frase number nine, secondo alcuni, se ascoltata al contrario, conterrebbe l’indizio della presunta morte di Paul Mc Cartney, suonando all’incirca come turn me on, dead man.

I nomi dei loro chip, poi, a partire da Revolution e passando per Ticket to ride, contengono riferimenti fin troppo espliciti al quartetto di Liverpool, tanto che qualcuno ha avanzato il “sospetto” di “velate” simpatie da parte dei progettisti di Number9 per la band inglese.

Al di là delle note di colore, Number9 ha avuto anche non pochi meriti dal punto di vista tecnico: il suo Imagine (qualcuno ha detto John Lennon?) è stato il primo chip con architettura interna interamente a 128 bit. Il costo delle vga con esso equipaggiate era piuttosto elevato (sui 1000 $ nel 1994), ma giustificato dal fatto che si trattava di prodotti destinati al mercato pro.

I chip Imagine, di prima e seconda generazione, avevano prestazioni 2D eccellenti, superiori alla concorrenza e funzionalità 3D di base e limitate alle applicazioni di tipo pro (si ricordi che parliamo degli anni 1994 e 1995).

La ratifica delle specifiche Direct3D costituì il principale problema di Number9, in quanto i suoi chip, eccezionali nel 2D e ottimi per la grafica pro di allora, non prevedevano una funzione di poco conto, oserei dire quasi insignificante (qui ci starebbe una faccina sarcastica) prevista, invece, da Microsoft: ovvero il texture mapping. Di seguito riporto il commento di Phil Parker, direttore delle comunicazioni di Number9, alla domanda: cosa accade quando un progettista di chip prende una strada e Microsoft un’altra?

“This happened to us. Our Imagine 2 chip didn’t have texturing, and the requirement for Direct3D was texturing. We said ‘Oh, my god,’ but by that time, we couldn’t compete with the likes of S3 or NVIDIA.”  

Con la terza generazione, denominata Ticket to Ride, nella foto in basso,

n9-ticket-to-ride.jpg

tentò di rimettersi in corsa, introducendo le feature mancanti, ma ormai il treno era definitivamente perso a vantaggio dei soliti ATi, S3 e dell’emergente nVidia. Non si può dire che i progettisti e i dirigenti di Number9 mancassero di senso dell’umorismo; così il nome Ticket to Ride, oltre che ricordare una nota canzone dei Beatles si poteva interpretare anche come “biglietto (da pagare) per andare (forte anche in 3D)”. Purtroppo, però, il T2R, pur implementando le feature mancanti nella generazione precedente, non si dimostrò all’altezza della concorrenza e del nome proprio nel 3D, facendo perdere ulteriore terreno a Number9.

Il quarto tentativo, a fine ’97, avvenuto con la famiglia di chip denominata Revolution, fu anche il canto del cigno di questa società che, con il suo brand, ha voluto rendere omaggio ad una delle più grandi band di tutti i tempi. Il Revolution non costituì la “rivoluzione” auspicata , se da un lato, le sue prestazioni 2D continuavano ad essere di tutto rispetto, quelle in 3D continuavano a latitare e in campo “pro” la concorrenza delle vga equipaggiate con i Permedia2 di 3DLabs si stava facendo sempre più agguerrita. In basso sono riportati alcuni risultati di bench in cui è presente il Revolution, a confronto con i prodotti top dell’epoca.

n9-revolution-bench-2d.jpg

Se, come si vede da questo grafico, in 2D e a 32 bit, il Revolution era assolutamente competitivo, il confronto diventava imbarazzante in 3D

n9-revolution-bench-3d.jpg

e le cose non miglioravano con programmi di grafica pro sotto Win NT, a causa anche, dell’immaturità dei driver. Per la cronaca, la Diamond FireGL monta un Pemedia2, pure lui non esente da pecche (implementazione piuttosto povera del dithering e produzione di alcuni artefatti che, almeno per i giochi, gli facevano preferire il Riva 128).

n9-revo-bench-ogl.jpg

Dopo quest’ultimo tentativo di risalire la china, Number Nine si limitò a recitare una parte da comprimaria nel panorama, allora ancora folto, dei progettisti e produttori di chip grafici, mentre con l’affermazione di ATi e l’ascesa di nVidia a cui tentavano di opporre resistenza, senza troppa convinzione, le sole 3dfx, Matrox con la Millennium G400 Max e S3 con il Savage4 prima ed il Savage 2000 in seguito,  si andava delineando quello che sarebbe stato il duello che avrebbe caratterizzato l’inizio del XXI secolo.

Produsse ancora una famiglia di chip nota come Motion, sempre su slot pci e, infine, l’SR9, il primo e unico a equipaggiare una VGA AGP. Nel 1999 S3 annunciava l’intenzione di acquisire Number9 che, infine, nel 2000, finiva con lo scomparire del tutto.

Queste due brevi storie di altrettante società che sono state pioniere della computer grafica e hanno caratterizzato, con i loro prodotti e anche con soluzioni innovative, gli anni ’80 e buona parte degli anni ’90, stimolano alcuni spunti di riflessione. La prima è che hanno finito col pagare carissimi gli errori commessi, primo fra tutti, quello di non riuscire ad interpretare bene la direzione che il mercato stava per prendere con l’avvento di Microsoft e delle sue DirectX.

In secondo luogo, che questo ambiente, estremamente competitivo, lascia poco margine al recupero in caso di errori. La terza considerazione è che, con l’avvento del 3D, nel giro di pochi anni (in pratica dal ’97 al 2000), si è passati da alcune decine di produttori a 3 soli competitor maggiori, ridotti, poi, a due, dopo la scomparsa di 3dfx, con gli altri, ad iniziare da 3dlabs, passando per matrox, S3, ecc, relegati a specifiche nicchie.

Questo ovviamente se si parla di grafica discreta, perchè se si considerano anche i chip integrati non si può non tener conto di chi detiene, da solo, ben oltre il 50% del mercato delle GPU, ovvero Intel. Questo andamento si può giustificare in un solo modo: l’improvviso quanto vertiginoso aumento di costi dovuti all’aumentata complessità dei chip, con l’introduzione di quelle funzionalità 3D richieste dalle nuove API. Si tenga presente che molte di queste società erano piccolissime realtà che non hanno mai avuto modo di crescere, con un know how ottimo per l’epoca ma limitato, in assoluto.

Quindi, finchè si è trattato di progettare engine 2D, non eccessivamente complessi, sono riusciti a sopravvivere dignitosamente, sfornando, a volte, anche prodotti competitivi e d’avanguardia. Nel momento in cui i costi sono lievitati, non sono riuscite a mantenersi competitive a causa della rincorsa sfrenata alle prestazioni.

8 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    Marco
     scrive: 

    “le modalità a 8, 15, 16 e 24 colori”

    Bit per pixel, suppongo, quindi 256, 32K, 64K e 16M di colori ;-)

  • # 2
    yossarian (Autore del post)
     scrive: 

    si, si tratta di bit per pixel o anche di colori per i tre canali RGB.

  • # 3
    Marco
     scrive: 

    “colori per i tre canali RGB”

    Puoi spiegare che non ho capito?
    In modalita’ a 24 bpp ad esempio i colori per canale dovrebbero essere 256, ovvero 2^8.

  • # 4
    yossarian (Autore del post)
     scrive: 

    si, scusa Marco, hai ragione. Continuo a scrivere colori ma in realtà penso a bit per colore. Ovvero 24 bit per i tre canali RGB (ossia 8 per canale). Edito subito nell’articolo.

    Ciao e grazie

  • # 5
    Marco
     scrive: 

    Figurati, è che non capivo che conti facevi…
    Bell’articolo cmq, la mia prima scheda a 24 bit è stata proprio una ET4000 ISA :-D
    Btw l’ET4000 era montato anche sulla Merlin, un’eccellente scheda zorro-II per Amiga e una delle poche a distinguersi dalle diffuse Cirrus Logic.

  • # 6
    blackshard
     scrive: 

    Bell’amarcord :)
    Spero di vederne di altri in futuro!

  • # 7
    megawati
     scrive: 

    La supposta è giusta :-)
    Il mio primo PC (un 386/33, anno 1991) montava una Trident TVGA 8900C, con 1M di ram video, che costava come una VGA di fascia alta di oggi ^____^

    La mia prima sk video 3D fu una S3 VIRGE, chip 86C325, 4MB di RAM video, anno di grazia 1996…

    vabbè ora devo andare sennò mi chiude l’ospizio… :-)

  • # 8
    Graphic amarcord: Rendition - Appunti Digitali
     scrive: 

    […] scorsa settimana abbiamo iniziato una serie di brevi articoli che hanno l’intento di ricordare, ai nostalgici […]

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.