Tamás Ferenc: A videókártyák evolúciója

2. rész: 3dfx Voodoo - a játékmester

3. rész: A 3dfx háttérbe szorulása, Nvidia-ATI küzdelem kezdete

4. rész: A modern grafikus processzorok

A videókártya manapság a számítógép egyik nélkülözhetetlen része, ami a megfelelő grafikai megjelenítésért felel. Egyes mai gépekben már nincs önálló grafikai egység, mivel egybeépített videókártyával rendelkeznek, de a magára valamit is adó gépekben megtalálható ilyen GPU (graphical processing unit = grafikai megjelenítő egység). Menjünk vissza most pár évtizedet az időben és nézzük, hogy is alakult ki a mai állapot!

1. fejezet: A 3D-s megjelenítők korai napjai (1976-1995)

Az első valódi 3D-s grafika a korai videómegjelenítőkben tűnt fel, amik gyakorlatilag egy hídként viselkedtek a fő-CPU és a kijelző képernyő között. A bejövő adatfolyamat átalakították bittérképes kimenetté és olyan tulajdonságokkal ruházták fel, mint fényesség, szín, valamint vízszintes és függőleges kompozit kimenet. Az első számba vehető ötletek az 1970-es évek második felében bukkantak fel és lefektették a grafikai megjelenítés alapjait. Például az RCA „Pixie” nevű videó-chipje (CDP1861) 1976-ban jelent meg és képes volt 62x128-as NTFS-kompatibilis videókimenetre. Ezt a chipet alig egy évvel később követte a Television Interface Adapter (TIA) 1A nevű terméke, amely az Atari 2600-asba volt integrálva a képernyős kimenet és a hangeffektusok generálására, valamint a beviteli vezérlők ellenőrzésére. A TIA csoportját az a Jay Miner vezette, aki később a Commodore Amiga nevű számítógép egyedi chipjei tervezését is vezette.

 

Atari 2600

(Képen: Atari 2600; Kép eredetije: http://www.techspot.com/article/650-history-of-the-gpu/)

1978-ban a Motorola bemutatta a az MC6845-ös videócím-generátorát. Később ez lett az alapja az IBM PC-k monokromatikus (MDA), illetve legelső színes (CGA) grafikai kártyáinak immáron 1981-ben; valamint az Apple II-höz hasonló funkciókat biztosított. A Motorola még 1978-ban piacra dobta a továbbfejlesztett MC6847-es verziót, amely lehetővé tette a legelső nem-IBM-es gépek kifejlesztését, pl.: Tandy TRS-80.

IBM MDA kártya

(Képen: eredeti IBM MDA; kép eredetije: http://www.techspot.com/article/650-history-of-the-gpu/)

Hasonló megoldást talált ki a Commodore leányvállalata, a VIC az 1980-'83-as évjáratú otthoni felhasználásra készült Commodore számítógépek grafikai megjelenítőinél.

A következő év novemberére már számos termék volt a piacon, például az LSI cég ANTIC-ja (Alphanumeric Television Interface Controller), illetve a CTIA/GTIA co-processzor (Color/Graphics Television Interface Adaptor) – ez utóbbi az Atari 400-ban debütált. Az ANTIC 2D-s utasításokat dolgozott fel közvetlen memória hozzáféréssel (Direct Memory Access = DMA). A legtöbb grafikus co-processzorhoz hasonlóan itt is lehetett generálni sokféle grafikát (háttér, képernyőképek, kijelzős elemek), viszont a rivális CTIA színeket állított elő és mozgatható objektumokat. A Yamaha és a Texas Instruments cégek szállítottak hasonló IC-ket a korai számítógépekbe.

Atari 400

(Képen: Atari 400; Kép eredetije: http://oldcomputers.net/atari400.html)

A grafikai fejlesztések következő lépése a professzionális szakmai fejlesztéseknek volt köszönhető.

Az Intel a 82720-as chipjét használta a kb. 1000 $-ba kerülő iSBX 275 Video Graphics Controller Multimode Board alapjának. Ez immáron képes volt megjeleníteni 8 színadatot 256x256-os területen, vagy monokrómban 512x512-őn. A kijelző 32 Kbájtos memóriája elegendő volt vonalak, ívek, körök, téglalapok, karakteres bittérképek megjelenítéséhez. A chipben rendelkezésre állt továbbá a zoomolás, a képernyő particionálása és a görgetés (scroll). A vetélytárs SGI gyorsan követte a saját IRIS Graphics GR 1.x munkaállomásaival, de itt már rendelkezésre álltak a kibővített színválasztékú lapok mellett a térbeli megjelenés illúzióját keltő Z-Buffer és az alá-/fölérendelés (Underlay/Overlay).

Akkoriban elég jól fejlesztették az ipari és a katonai 3D-s virtualizációt is. Az IBM, a General Electric, a Martin Marietta, valamint tucatnyi katonai beszállító cég, technológia kutatóintézet és a NASA is futtatott számos technológiai és katonai szimulációt. Az USA Haditengerészete is kifejlesztett egy 3D-s virtualizációs repülőszimulátort a MIT Whirlwind komputerével még 1951-ben. Egy ilyen korai szimuláció látható az alábbi videórészletben is:

 

 

Az Evans & Sutherland cég biztosította a CT5-ös repülőgép-szimulátorok számára a Freedom and REALimage professzionális videókártyákat egy 20 millió dolláros szerződés keretében a DEC PDP-11-es óriásgépben (mainframe). Ivan Sutherland, a cég társ-alapítója kifejlesztett egy Sketchpad nevű számítógépes programot még 1961-ben, amely lehetővé tette geometriai formák rajzolását és megjelenítését egy CRT-n valós időben egyetlen fényceruza használatával. Ez volt a grafikus felhasználói felület (Graphical User Interface = GUI) őse.

1985. augusztusának fontos eseménye, hogy három Hong Kong-i emigráns, Kwok Yuan Ho, Lee Lau és Benny Lau Kanadában megalapította az Array Technologies Inc.-t, amely az év végre ATI Technologies Inc. nevet vette fel. 1986-ben piacra dobta az ATI a legelső termékét, az OEM Color Emulation Card-ot, Ezt a fekete háttéren megjelenő monokróm zöld, borostyánsárga vagy fehér szövegek jobb megjelenítésére használták az akkori 9-tűs TTL-es monitorokon (DE-9-es csatlakozóval). A kártyát legalább 16 KB memóriával szállították, így igen nagy része volt abban, hogy az ATI már első komoly üzleti évében 10 millió dolláros forgalmat ért el. Ez nagyrészt annak volt köszönhető, hogy hetente 7000 chipet szállított a Commodore Computers-nek.

Mivel a színes monitorok piaca hirtelen kiszélesedett, így szükség volt egy összefogó szabványra, amely a gyártók és a fejlesztők számára is jelentős könnyebbséget hozhatott; tehát létrejött a VESA (Video Electronics Standards Association = Videó Elektronikus Szabványok Szövetsége), melynek egyik alapítója volt az ATI, a NEC és további 6 grafikus adapter gyártó. 1987-ben az ATI kifejlesztette a Graphics Solution Plus sorozatot, amelyet az IBM is felhasznált a saját Intel 8086/8088-alapú 8-bites ISA-buszos PC/XT számítógépeihez. Ez a chip már támogatta mind az MDA, mind a CGA, mind az EGA módokat. 1987. márciusában érkezett meg az ATI Wonder szériája (1-estől 4-esig), eredetileg 399 $-ért amely 256 KB DRAM mellett CGA-, EGA és MDA-kompatibilitást adott akár 640x350-es mérettel és 16 színnel. A kiterjesztett EGA-mód csak a 2-es, 3-as és 4-es szériában volt elérhető. Az akkori csúcskategória volt az EGA Wonder 800-as kártya 16-színű VGA emulációval és 800x600-as felbontás támogatásával. Így viszont már 449 $ volt az ára, amire (szükség szerint) még 99 $-rt kellett fizetni a Compaq bővítő modulért. (Lásd a lenti képen!)

EGA Wonder

(Kép eredetije: http://www.techspot.com/article/650-history-of-the-gpu/)

Az ATI jelentőségét nem tagadhatjuk, de korántsem ők voltak az egyetlen komoly grafikus kártyaszállító cég akkoriban. Számos új cég és termék érkezett, többek között: Trident, SiS, Tamerack, Realtek, Oak Technology, LSI, Hualon, Cornerstone Imaging, és a Winbond – valamennyi 1986/'87-ben alakult. Eközben az olyan nagyvállalatok, mint az AMD, Western Digital/Paradise Systems, Intergraph, Cirrus Logic, Texas Instruments, Gemimi és Genoa, az első grafikus termékeiket fejlesztették. Ám az ATI Wonder-sorozata a következő pár évben ennek ellenére hatalmas sikerre tett szert, köszönhetően a cég folyamatos fejlesztéseinek. 1988-ban jött a Small Wonder Graphics Solution (kis csoda grafikus megoldás), játékvezérlő porttal, valamint CGA- és MDA-emulációképes kompozit-kimenettel; valamint az EGA Wonder 480 és 800+ kártyák kiterjesztett EGA móddal és 16 bites VGA-támogatással; továbbá a VGA Wonder és a Wonder 16 VGA- és SVGA-támogatással. Például a Wonder 16-os 256 KB-os verziója 499$ volt, míg az 512 KB-os verzió már 699$-ba került.

VGA Wonder

(Kép eredetije: http://www.recycledgoods.com/product/41457-ati-109004800-isa-video-card-ati-vga-wonder-16-w-mac-serial-port)

A fejlesztett ATI Wonder/Wonder 16-sorozat 1989-ben került piacra immáron csökkentett áru VGA Edge 16-ossal (Wonder 1024 néven). Új fejlesztésként bekerült a busz-egér csatlakozó és a VESA-támogatás. Ezzel a megoldással megkerülték a fejlesztők az akkoriban elég zsúfolt adatbuszt. A Wonder-sorozatnak az 1991-es fejlesztése a következő nagy ugrás: a Wonder XL kártya immáron VESA 32K-s színhűséget adott és Sierra RAMDAC-ot, amely megnövelte a maximális felbontást 640x480-ra 72 Hz-en, illetve 800x600-as felbontást 60 Hz-en. Az elérhető árak: 249 $ (256 KB), 349 $ (512 KB), illetve 399 $ (1 MB RAM). Az ATI fejlesztésül kiadott egy újabb Wonder XL-variánst, amelyben egy Creative Sound Blaster 1-5 chip is volt. Így ez a változat VGA Stereo-F/X néven került forgalomba és képes volt a sztereó hangzás szimulációjára a a Sound Blaster mono fájljaiból, ami kb. rádióminőséget jelentett.

A Mach-sorozat azon év májusában indult a Mach8-cal, melyben volt egy programozható chip is, amely képes volt egyes korlátozott 2D-s műveletek végrehajtására, mint pl. vonalhúzás, színkitöltés, illetve bittérképes kombináció.

Mach8+

(Képen: ATI Graphics Ultra ISA (Mach8 + VGA); Kép eredetije: http://www.techspot.com/article/650-history-of-the-gpu/ )

Az ATI olyan speciális lapkái, mint az ATI VGAWonder GT 2D és 3D-s lehetőségek kombinációját is kínálták opcióként, mivel a Mach8 grafikus magját (28800-2) egyesítették a VGAWonder+ 3D-s lehetőségeivel. Ezekkel sikerült a cégnek elérnie a mérföldkőnek számító 100 millió $-os éves forgalmat nagyrészt a 3.0-s Windows sikeres fogadtatása miatt, valamint a megnövekedett 2D-s alkalmazásoknak köszönhetően.

Az egyik ellenfél az S3 cég 1989-ben alakult és az első 2D-s gyorsító chipjüket és grafikus kártyájukat 18 hónappal később dobták piacra S3 911 (vagy 86C911) néven. A sikerük kulcsa a beépített 1 MB-os VRAM és a 16-bites színmélység támogatása volt.

S3 911

(Képen: S3 911 kártya; Kép eredetije: http://www.pcmag.com/slideshow/story/297052/11-chips-that-paved-the-way-for-intel-s-ivy-bridge/4)

A kártya fejlesztései az S3 924-es (még ugyanazon évben), amely alapvetően egy 24 bites színmélységűre fejlesztett 911-es volt; illetve a következő évben piacra dobott 928-as, amely immáron 32-bites színmélységet támogatott, valamint tartalmazott egy 801-es és 805-ös gyorsítókat. A 801-es ISA interfészt alkalmazott, míg a 805-ös VLB-t (VESA Local Bus). A 911-es piacra dobása után sorra kijöttek az S3-hoz hasonló konkurens termékek a következő gyártóktól: Tseng Lab, Cirrus Logic, Trident, IIT, Mach32 (ATI), Magic RGB (Matrox).

1992. januárjában a Silicon Graphics Inc. (SGI) megjelentette az OpenGL 1.0-t, a 2D-s és 3D-s fejlesztésekre egyaránt alkalmazható multiplatformos programozható felületet. A rendszer egyik előnye, hogy a programozók egy kész rendszert vettek át az SGI-től, amire saját fejlesztéseket is illeszthettek. Bár a rendszert eleinte főleg a UNIX-alapú mérnöki rendszerekre alkalmazták, de a fejlesztőbarát kezelőfelület miatt gyorsan elfogadták a 3D-s játékok fejlesztésére is. Közben a Microsoft kifejlesztette a saját rivális rendszerét Direct3D néven és bár nem futott olyan jól, mint az OpenGL, de mégis beillesztette az új Windows operációs rendszerekbe. Ekkoriban került piacra a John Carmack vezette id Software-től a PC-s játékpiacot forradalmasító Doom, valamint az OpenGL-t használó Quake, amely nyíltan bírálta a Direct3D-t.

Quake

(Képen Quake: bal oldalt kis felbontással és 256 színnel, jobb oldalon nagy felbontással és 2562 színnel; kép eredetije: http://www.techspot.com/article/650-history-of-the-gpu/)

A Microsoft hajthatatlansága miatt nem illesztették bele a Windows '95 forráskódjába az OpenGL mini-kliensét. Válaszul az SGI kifejlesztett egy telepíthető kliens-drivert, amely nem csak teljes körű funkcionalitást tett lehetővé, hanem a háttérvilágítást is biztosított a képekhez. Az OpenGL fejlődése ellenére a Microsoft ragaszkodott a saját fejlesztéséhez, ehhez pedig megvették 1995. februárjában a RenderMorphics céget, melynek Reality Lab API fejlesztését hozzáfűzték saját Direct3D-magjukhoz. A Microsoft platformjának széles körű elfogadását biztosították a következők is, bár állítólag a redmondi óriás nyomására fejlesztettek Direct3D-re:

- S3d (S3)

- Matrox Simple Interface

- Creative Graphics Library

- C Interface (ATI)

- SGL (PowerVR)

- NVLIB (Nvidia)

- RRedline (Rendition)

- Glide.

A Microsoft terméke mellett szólt a nagyobb képernyő-felbontás, a jobb színmélység, a képi megjelenítési fejlesztések (mint pl. az anti-aliasing). Mindezek mellett szólt a megnövelt sávszélesség, a grafikai hatékonyság, valamint a gyorsabb termékváltási ciklus.

1993. januárjában feltűnt az új vetélytárs, az NVidia, melyet Jen-Hsun Huang, Curtis Priem és Chris Malachowsky alapítottak. Huang korábban az LSI egyik fejlesztési igazgatója volt, míg Priem és Malachowsky mindketten a Sun Microsystems-től jöttek, ahol előzőleg a SunSPARC-alapú GX grafikai architektúráját fejlesztették. A piac hatására számos cég visszavonult a grafikai fejlesztésektől, pl.: Tamerack, Gemini Technology, Genoa Systems, Hualon, Acer és Motorola.

Csak egyetlen cég lett erősebb, az ATI. A siker előfutára volt az All-In-Wonder sorozat, amely késő novemberben jött és tartalmazta az ATI 68890-as PC-TV dekóder-chipjét, amely a Video-It! kártyában debütált. A chip képes volt rippelni 320x240-es videót 15 fps-sel (frame-per-second = kép másodpercenként), vagy 160x120-as videót 30 fps-sel; valamint tömöríteni/kicsomagolni valós időben köszönhetően az integrált Intel i750PD VCP-nek (Video Compressor Chip = videó tömörítő chipnek). Képes volt kommunikálni a videókártyával az adatbuszon keresztül hatálytalanítva az összes akadályt és jelszót. A Video-It! bevezető ára 399 $ volt.

Öt hónappal később, márciusban az ATI bejelentette a 64 bites gyorsító kártyát, a Mach64-et. A pénzügyi év nem volt kegyes az ATI-hoz, mivel 2,7 millió $-os veszteséget hoztak össze főleg az erős piaci verseny miatt. A legfőbb akkori rivális az S3 Vision 968-as és Trio64-es kártyái voltak, amellyel számos fejlesztő szerződött: Dell (Dimension XPS), Compaq (Presario 7170/7180), AT&T (Globalyst), HP (Vectra VE 4), valamint DEC (Venturis/Celebris).

S3 968

(Kép eredetije: http://www.vgamuseum.info/index.php/component/content/article/187-s3-vision-968)

1995-ben a Mach64 megjelenése számos jelentős újdonságot hozott. Ez volt a legelső grafikus kártya, amely PC-ra és Mac-re egyaránt hozzáférhető volt a beépített memóriától függően 450 és 650 $ közötti áron; továbbá az S3 Trio kártyája, amely teljes képernyős videó-lejátszást biztosított. A Mach64-et követte az ATI további kártya-sorozata, a 3D Pro Turbo és a 3D Pro Turbo+PC2TV, melynek ára meglepően alacsony volt. A 2 MB-os verzió 599 $ volt, míg a 4 MB-os 899 $.

ATI Mach64

(Képen: ATI Mach64 VT kártya; kép eredetije: http://www.vgamuseum.info/index.php/component/content/article/997-ati-mach64-vt )

A következő hónapban emelkedett fel egy technológiai start-up, a 3DLabs, amely eredetileg a DuPont Pixels grafikus részlege volt és felvásárolta az anyavállalatát. A magas bevezetési ár miatt csak a professzionális felhasználók vették a termékeiket, pl.: Fujitsu Sapphire2SX 4MB-tal 1600-2000 $ volt, az ELSA Gloria 8 (8 MB-tal) 2600-2850 $ volt. A 300SX azonban a játékpiacot célozta meg.

Az S3 mindenhol nyerőnek látszott. A csúcsminőségű (high-end) piacot a Trio64 lapkakészlet uralta, amely tartalmazott egy DAC-ot, grafikus ellenőrzőt és egy órajel-generátort. Itt is támogatták az egységes frame-buffert és a hardveres videó-átlapozást. Az S3Trio64+ kártya bevezetési ára 569 $ volt, de ez már 4 MB VRAM-ot is tartalmazott.

1995. májusában az NVidia piacra dobta az első grafikus kártyáját, az NV1-et, ami a legelső kereskedelmi grafikus processzor lett, ami képes 3D-s renderelésre, videógyorsításra, és integrált GUI gyorsításra. Az egyetlen kártyán tartalmazott 2D és 3D gyorsítót, hangkártyát, valamint játékportot és speciális, SEGA Saturn játékvezérlőhöz való csatlakozást. A maga idejében meglehetősen korszerűnek és sokoldalúnak mondható kártya mégsem lett sikeres, ennek fő oka pedig (meglehetősen borsos ára mellett) a 3D gyorsítás kivitelezésében keresendő. A sikertelenség másik oka az akkoriban a Microsoft által kiadott Direct X 1.0-s verzió. Ekkoriban a PC-s 3D-grafika még igencsak gyerekcipőben járt, egyáltalán nem volt eldöntött és elfogadott dolog az a manapság teljesen alapvetésnek számító tézis, miszerint egy 3D-gyorsítónak háromszögekkel kell dolgoznia. GPU órajel: 12 MHz, memória mérete: 2 MB, interfész: 64 bit, típus: VRAM; memória órajele: 75 MHz. Bevezetési ára: 450 $ volt 1995. szeptemberében.

NVidia NV1

(Képen: NVidia NV1; Kép eredetije: http://forum.beyond3d.com/showthread.php?t=37950)

A Microsoft későn reagált a változásokra, így a DirectX fejlesztői pl. nem tudtak közvetlenül hozzáférni a hardveres digitális videó lejátszáshoz. Ez a gyakorlatban azt jelentette, hogy az összes MS-kártya problémákat jelzett Windows 95 alatt, míg a különféle cégek driverei Windows 3.1 alatt kiválóan működtek.

1995. novemberében jelentette be az ATI az első 3D-s gyorsító kártyáját, a 3D Rage-et (más néven: Mach 64 GT). Ez a kártya összevonta a 2D-s mag képességeit a Mach 64 3D-s tulajdonságaival. Későbbi vizsgálatok során kiderült, hogy a 3D Rage-nek számos problémája volt, többek között a hiányzó mélységi pufferelés miatt. A 3D-s megjelenés 640x480-as felbontásra korlátozódott 16 bites színmélységgel, vagy 400x300-as grafikára 32 bites színekkel. A 32 bites megjelenítés a 640x480-as képernyőn többnyire hamis színeket okozott, bár a 2D-s felbontás elérte akár az 1280x1024-et is. A teljes képernyős MPEG-lejátszás közepes teljesítményű játékoknál volt igazán megfelelő. A GPU órajele: 45 MHz, memória: 2 MB, interfész: 64 bit, memória típusa: EDO, memória órajele: 60 MHz.

Az ATI átdolgozta a chipet és szeptemberben piacra dobta a Rage II-t. Itt már orvosolták a kezdeti DirectX 3D-s problémákat, valamint hozzátették az MPEG2lejátszás támogatását. A kezdeti kártyákat azonban csak 2 MB-tal szállították, ami hátráltatta a perspektivikus teljesítményt. A sorozat folytatásában, a Rage II+DVD, valamint a Rage II 3D Xpression+ kártyákban a memória 8 MB-ra nőtt. Bár az ATI volt az első komoly versenyző a 3D-s megjelenítési piacon, de a vetélytársak sem tétlenkedtek, mivel sorra megérkeztek a 3dfx, a Rendition és a VideoLogic kártyái. Az alábbi videóban egy korai 3dfx Voodoo 1 kártyás gépen, Windows 95 operációs rendszer alatt futó autóverseny egy pályája látható.

 

Órajel: 50 MHz, sávszélesség: 350 nm, memória: 4-6 MB EDO RAM, csatlakozás: PCI, támogatott API-k: Glide, OpenGL, Direct3D. A 3dfx Voodoo megjelenése felborította a piacot és válságba taszította a többi gyártót.

3dfx Voodoo 1

(Képen: 3dfx Voodoo 1 kártya; kép eredetije: http://www.3dfx.ch/gallery/v/3dfx_collectors/collectors_falconfly/falconfly_voodoographics/3dfx_voodoo1_techworks_power3d_front.jpg.html)

Folytatása következik!

 

© TFeri.hu, 2013. december

 

Felhasznált irodalom:

- http://www.techspot.com/article/650-history-of-the-gpu/

- http://oldcomputers.net/atari400.html

- http://www.recycledgoods.com/

- http://www.pcmag.com/

- http://www.vgamuseum.info/

- http://hu.wikipedia.org/wiki/3dfx_Interactive#3Dfx_Voodoo_1