Historie grafik v noteboocích: trnitá cesta ke 3D | Kapitola 4
Seznam kapitol
Po hardwarové akceleraci obrazu ve 2D a videa se i na noteboocích začali výrobci věnovat trojrozměrné grafice. A v oblasti 3D akcelerace se svedla bitva snad největší a ne každý ji ustál. Podíváme se do doby, kdy notebooky začaly pronikat do domácností a výrobci začali nabízet řady, u kterých už byla zábava a multimedia na prvním místě.
S3 ViRGE MX (1997)
Do 3D akcelerátorů pro stolní počítače se společnost S3 pustila již v roce 1995. Její snažení vyústilo v produkt nazvaný S3 ViRGE, kde název tvořila zkratka Virtual Reality Graphics Engine. Tento 64bitový čip s frekvencí 50 MHz ve své době nabízel nadstandardní funkce jako trilineární vyhlazení textur a pokročilé režimy průhlednosti (alpha blending), ale něco mu chybělo. Chyběla mu rychlost, a tak mohl oproti procesoru nabídnout maximálně lepší kvalitu zobrazení.
Jedna z her akcelerovaných první generací Virge (Havoc) pomocí rozhraní S3D. Velmi primitivní grafika a textury bez vyhlazení příliš výhod 3D akcelerace neprezentovaly.
V druhé generaci (S3 ViRGE DX/GX) se výrobce zaměřil na vyšší výkon a optimalizace. Zlepšila se také podpora pro Direct3D. Akcelerátor tak začal být použitelný pro hraní 3D her pod Windows a mnoho akcelerovaných dobových her bylo pro něj optimalizováno (vyjma těch psaných pro 3dfx Glide). Do třetí generace této produktové řady spadá ViRGE GX2 (léto 1997), které S3 nadělilo o 30 % vyšší výkon, podporu moderní sběrnice AGP a několik funkcí z mobilního čipu S3 Aurora 64V+ (integrovaná podpora TV výstupu a podpora dvou nezávislých zobrazení), který jsem popisoval v minulém díle.
A právě z modelu GX2 vychází druhý pokus S3 o vstup do mobilního trhu – ViRGE MX. 64bitový čip, který se stal možná prvním 3D akcelerátorem pro notebooky, spatřil světlo světa koncem roku 1997 a slavil velký úspěch. Dostal se do výkonných multimediálních notebooků světových výrobců, kde byl obvykle párován s procesory Pentium II (začínajícími na 233 MHz) a pro připojení využíval 66MHz sběrnice AGP (1×).
- Volba S3 byla pro výrobce notebooků logická. ViRGE MX totiž měla hned několik velkých trumfů:
- Měla 2D jádro kompatibilní se staršími (a hojně rozšířenými) produkty S3, čímž byla zajištěna špičková kompatibilita v programech (a hrách) pod DOSem.
- Její multimediální schopnosti (např. akcelerace videa) byly v rámci mainstreamu na výborné úrovni.
- V neposlední řadě pak vynikala podporou všech hlavních operačních systémů a 3D rozhraní. V době uvedení byly dostupné ovladače pro Windows 95, 3.11 i NT (3.x, 4.0) a z alternativních systémů také pro OS/2 Warp. Jak plynul čas, S3 vytvořilo plnohodnotné ovladače ještě pro Windows 98 a 2000/XP. Z grafických rozhraní pro 3D byla podporována následující:
- Direct3D (DirectX 3)
- BRender
- RenderWare
- OpenGL
Pojďme se ale podívat blíže na technické specifikace čipu. Po stránce akcelerace 2D a videa je jádro téměř shodné s dříve popisovaným S3 Aurora 64V+. Má tedy podporu dvou nezávislých výstupů, pokročilou 2D akceleraci DirectDraw, akceleraci videa včetně několika algoritmů pro rychlejší práci s MPEG a hardwarové roztažení videa s vyhlazením. Celý čip běží na frekvenci 85 MHz a synchronně jsou k němu připojeny 2 MB paměti.
3D jádro je použito z ViRGE GX2, což zajistilo 100% programovou kompatibilitu. Shodné jsou tedy i 3D funkce:
- Ploché a Gouraudovo stínování (výpočet barvy bodu podle natočení od zdroje světla)
- Korekce perspektivy
- Vyhlazení textur (bilineární a rychlé trilineární filtrování)
- MIP-mapping (automatické generování a umisťování textur nižší kvality v místech, kde plná není potřeba)
- Simulace mlhy (přechod do definované barvy podle vzdálenosti bodu od pozorovatele)
- UV-mapování textur (pokrytí polygonu výřezem obrázku)
- Alfa-blending a klíčovaná průhlednost (určení průhlednosti každého bodu speciální texturou)
- Celková průhlednost (zprůhlednění celého objektu na úrovni polygonů – 0-100%)
- 16bit Z-buffer (paměť pro určení vzdálenosti každého pixelu na obrazovce používaná pro určení, který objekt se má v daném místě vykreslit)
Obrazové buffery
V jednom se postupně vykresluje scéna, a když je kompletní, přesune se do druhého, ze kterého je obraz vykreslován na obrazovku. Jedině tak je možné během vykreslování obrazu skládat obraz pro další snímek.Vypínání Z-bufferu
Při vypnutém Z-bufferu hra grafické elementy (polygony) řadila sama pomocí procesoru. V této době, kdy herní scéna měla desítky až stovky polygonů, šlo o efektivní řešení.
Na svou dobu nebylo ViRGE MX po technologické stránce co vytknout, vše potřebné pro dobové hry podporovala. Horší to bylo s velikostí paměti. 2 MB nebyly dost ani pro 2D, natožpak pro 3D, kde jsou nároky mnohem vyšší. Pro akcelerátory této třídy bylo maximem rozlišení 640 × 480 bodů. Pokud bereme v úvahu, že pro dynamický obraz je potřeba v paměti vyhradit dva paměťové prostory pro výsledný obraz (front-buffer a back-buffer) a jeden pro určení vzdálenosti bodů (Z-buffer) a vše musí být ve stejném rozlišení, pro 16bitovou barevnou hloubku (čip podporoval i 32bit barvy, ale vzhledem k paměti to nebylo prakticky využitelné) dostaneme výpočet:
(šířka) × (výška) × (počet bajtů na pixel) × (počet bufferů) = 640 × 480 × 2 × 3 [B] = 1,75 [MB]
Z toho vyplývá, že pro textury zbývá pouhých 248 kB, což bylo málo již v roce 1997. Vývojáři si s problémem poradili po svém. Nabízeli ve hrách nižší rozlišení (320×240, 400×300, 512×384) a umožňovali za cenu nižší kvality zobrazení vypnout Z-buffer. Běžně tak hra měla pro textury necelý megabajt paměti – nebylo to moc, ale mnohdy to stačilo.
Hry z roku 1997 fungovaly s touto kartou většinou bez větších obtíží (kromě těch nejnáročnějších jako GLQuake) a u dobových notebooků se pro hraní většinou používalo rozlišení poloviční v obou směrech (400×300 pro LCD s 800×600 a 512×384 pro LCD s 1024×768), Jiné než nativní rozlišení vypadalo často kvůli špatné interpolaci hůř než tyto poloviční.
S výkonovou špičkou v podobě 3Dfx Voodoo Graphics a NVIDIA Riva 128 se však ViRGE MX nemohla rovnat. 3D akcelerátory procházely bouřlivou etapou a průměrná životnost produktu byla 6 měsíců, než úplně zastaral. Podobně dopadla i ViRGE MX. V únoru roku 1998 vydalo 3Dfx nejvýkonnější herní grafickou kartu pro stolní počítače – Voodoo2. Tím se značně posunuly možnosti 3D ve světě PC a rozdíl mezi mobilním čipem a standardem stolních počítačů se jen prohluboval. Herní vývojáři zareagovali a postupně vycházející tituly buď nebylo možné vůbec spustit kvůli malé paměti, nebo byly scény příliš komplexní a mobilní jádro je nestíhalo vykreslovat dostatečně rychle.
V první čtvrtině roku 1998 řeší S3 situaci vydáním novější verze S3 ViRGE MX+ s 4 MB RAM, což situaci zlepšilo jen mírně. Výkon grafického jádra zůstal stejný, a ač již nebyl problém spustit libovolnou hru, z těch nových byly všechny náročnější příliš trhané.
Ve hrách se navíc začaly používat kombinace průhledností, se kterými si čipy ViRGE neuměly pod Direct3D poradit (alfa-blending v kombinaci s klíčovanou průhledností nebo mlhou). Místo průhledné barvy se pak u objektů vykreslovalo pozadí černě, a hry, které jinak běžely plynule, byly rázem nehratelné. S3 tuto chybu ve svém ovladači Direct3D nikdy neopravilo, a tak si čipy ViRGE získaly později ohledně 3D velmi negativní pověst, ač ve své době byly poměrně úspěšné.
V rámci notebooků byly ViRGE MX vyšší třída a nepatřily k nejúspornějším řešením pro tenké notebooky. Přesto byla jejich správa napájení pokročilá a obsahovala všechny vymoženosti včetně vypínání určitých částí a přepínání paměťových čipů do úsporného režimu s nižší frekvencí. Tam, kde bylo nutné šetřit místo, měla S3 připravenou úspornější verzi S3 ViRGE MXi, ve které byly integrované 2 MB RAM přímo do pouzdra grafického čipu.
3D akcelerátory od S3 se nejčastěji dostávaly do multimediálních notebooků s procesory Pentium II, 32–64 MB RAM a 5GB pevným diskem. Takové notebooky měly displej s úhlopříčkou 12-14", optickou mechaniku v základní výbavě a s průměrnou 44Wh baterií vydržely 2,5-3,5 hodiny.
ViRGE MX se po snížení ceny přesunuly do levnějších notebooků S3 časem představilo nové čipy S3 Savage, kterými si svou reputaci v mobilním hi-endu napravilo. Mezitím však do mobilního segmentu vstoupil jiný hráč a některým doslova vypálil rybník.