24. 12. 2010

Talisman

V časoch štartu predaja konzolky SNES /1990-93 podľa teritória/ s niekoľko desiatkami kíl pamäte a s čipmi na jednociferných MHz kmitočtoch bol mojim obľúbencom a dodnes ním stále je systém SGI Onyx RealityEngine 2. Len námatkovo jedna z jeho variant - 12 procesorov pre geometriu, 4 raster jednotky, pamäťový systém s 512 mega ram a priepustnosťou - 320 mega + 3200 + 6400 mega = 10 giga/sec. To všetko v roku 1992, o päť rokov neskôr PC AGP 2x nedokázalo preniesť viac ako 450 mega z grafickej karty do systému, alebo naopak. Reality Engine 2 ponúkal extrémne vysokú kvalitu obrazu /namiesto bežných 32 bit farieb - teda 8 bit na jednu komponentu to bolo 10-12 bitov, super kvalitné AA, transparencie/. Systém dokázal prežuť závratné množstvo dát, je veľmi róbustne stavaný a zvládne aj rozlíšenie 1080p /koperácia s full HD prototypmi videokamier, ranné TV testy/. Malá herná ukážka z nie až tak nadupanej, ale stále pekelne drahej verzie - MAGIC EDGE HORNET SIMULATOR HARDWARE.



ULA - skutočné, univerzálne srdce gumáka, okrem iného makalo aj na grafike

Nasledovníkom bol úspešná Infinite Reality platforma. Avšak tak ako dnes, aj vtedy vo vlasoch cítili vietor zmien. Vysvetlenie na hernom príklade. Štandardná vtedajšia "dobová" gamesa v rozlíšení 640x480 s 24 bit dither farbami, bežné 3D, trilineárny filtering a žiaden antialiasing potrebuje lokálnu vram s priepustnosťou okolo 2 gig/sec. Nazvime tu hru napríklad menom Quake /1996/. Ak to celé spustíte v rozlíšení 1014x768 s 4xAA - zožerie vám to aj 14 giga/sec, keď ich niekde nájde. Dnes spája PS3 RSX s jej GDR3 zbernica s efektívnou rychlosťou asi 20 gig/sec, a ako asi tušíte zúfalo to nepostačuje /reálna potreba je minimálne o 100% väčšia/. Spoločenská objednávka ako to tie bláznivé čisla zraziť na kolená je dnes rovnako urgentná ako bola aj vtedy.



brute force - a s talismanom bolo amen

V 1996 na známej výstave Siggraph predstavil Microsoft návrh na diametrálne odlišné riešenie spracovanie renderingu 3D grafiky s komerčným názvom Talisman /
rozpracovaná technológia PixelFlow od Hewlett-Packardu/. Jej riešenie sa spoliehalo na dva základné operácie - tiled based rendering a deferred spracovanie geometrie. Vo finále s 2-8 nižšou náročnosťou na veľkosť, rýchlosť pamätí, zberníc a sekundárne aj CPU čipov. Proste skutočne lacné a výkonné grafické systémy, narozdiel od 100K+ USD SGI mašín.

Tiled based rendering
- TBR mechanizmus rozdelil "obraz" na menšie tiles-dlaždice po 32x32 pixloch a tie s nižšími nárokmi na systém, sa premávali tam a späť ako Bilbo Pytlík v Hobitovi. Deferred spracovanie geometrie sa snažilo znovu použiť časti scény recykláciou po sebe idúcich frejmoch. Podľa "situácie" stačí ak CPU iba každý 2-4 frame opäť geometriu refrešne. Svinsky jednoducho povedané, nuáns je tam celá kopa. Talisman však umrel hneď pri narodení. Bol totiž surovo prevalcovaný poklesom cien pamätí, zberníc, novými korejskými fabrikami na silikón. Krátkodobo teda zvíťazila hrubá sila. Viac menej iba okrajovo prežili tile based postupy.

PowerVR architektúra - Dreamcast v 1998 /hires grafika, prechod deň-noc, 24 áut na ceste/ a dnes celá rada SGX grafík v mobiloch, tabletoch. Tiež používa 32×32 pixelové "dlaždice" s unikátnymi HW úpravami pre clipping, cullling, hidden surface removal postupmi, ktoré dramaticky znižujú množstvo polygónov, ktoré je nutné rasterizovať, teda omaľovať, spracovať, zafarbiť. Xcrap a jeho eDRAM je TBR zariadenie. Z núdze cnosť. Len jedna pamäť by pre jeho CPU-GPU-IO nestačila, eDRAM zas nemá dostatočnú veľkosť, preto ma xcrap veľmi nemotorne implementovaný tile based systém s MSAA hárdvérom. Dnes na oštaru, takmer nepoužiteľný /prechod z forward na deferred-inferred rendering/. Reyes rendering používa TBR a to mimoriadne sofistikovane a o jeho variantoch sa tiež uvažuje v budúcich next gen grafikách, jeden z favoritov. Ak k tomu dôjde, niečo o ňom napíšem, inak zabudnite. Intel Larrabee bol plne TBR kompatibilný a optimalizovaný. Dnes v stave hibernácie, zrejme dočasne pozastavený.

Z tohto pohľadu je PS3 zastaralý a konvenčný bastard. Naštastie našu česť zachraňuje CELL procesor. Celý systém spracovanie dát /najmä grafických/ v ňom je vlastne tile based a deferred /trasa SPE-LS-DMA-EIB-XDR-GDR3-RSX a opačným smerom/. Tie slávne EDGE PS3 knižnice sú viacmenej tým istým čo robí PowerVR vo svojich TBR grafikách už viac ako desať rokov. Verte mi - nikdy by vizuálne bomby ako Motostorm3, Killzone3, Uncharted 3, God of War 3 a ďalší - nikdy by nemohli vzniknúť. Ich vizuálna bohatosť asi 2-3 prekračuje tú ľahko dostupnú, ale "neoptimalizovanú" silu systému /centrálne PPE+RSX, kašlať na SPE/ zomlieť také množstvo dát. Preto môže multiplat hra klopýtať v hnusnej grafike bez AA na 24fps-priemerne a Uncharted 3 na tomto istom systéme šprintuje v olympijskej forme. Niečo také ako útok hrubou silou - brute force na PS3ke nefunguje. Teda to čo pochovalo Talisman.

Vlastne o ňom píšem preto, lebo zázračné deus ex machina riešenia sa nám už minuli. Ďalšia generácia konzol sa nebude môcť spoliehať na to, že ASUS alebo iný vietnamec vyrobí lacnú a veľkú pamäť, alebo zbernicu, alebo iného švába. Tvrdo narážeme na fyzikálne limity, nielen na cenu a vynútenú watt spotrebu celej celej zostavy /PS4 do 499 USD a do 200w/. Ak sa už dnes z PS4ky na rysovacej doske niečo črtá, čaká nás hop alebo trop.

CELL bol zazračným HW riešením, a z nejakých 230M tranďákov dostal o rád lepší herný aplikačný výkon ako Intel zo svojho CORE Duo, ktorý mal v prvých verziach podobné množštvo tranzistorov. Čakám teda na nejaké kúzlo a mágiu - talizman. Inak to skončí iba na nudných, neinšpirativných, regálových PC a IBM súčiastkách natlačených do malej krabice. Ps4 môže byť poslednou konzolou pred neodvratným príchodom terminálového hrania. Stream videjko, "vaša konzola" ako neosobný klimatizovaný server 200 kilákov ďaleko.