9. 8. 2009

Koniec jednej epochy

Wheel of reincarnation. Aj tento budhistický pojem prekvapujúco našiel svoje uplatnenie pri popise javov týkajúcich sa najmodernejších grafických systémov. Koleso znovuzrodenia. Spomenuté po prvýkrát v spráchnivelej knihe - On the Design of Display Processors, June 1968 /Myer@Sutherland/. A pretože ide práve dnes o superaktuálnu tému, a nachádzame sa na konci jedného takéto cyklu. Malé info. Ukázalo sa, že istá funkcia, ktorú bežne spracovalo centrálna jednotka - rendering, rasterizácia, geometrick0 transformácie je lepšie presunúť na oveľa jednoduchší, ale ďaleko špecializovanejší a teda výkonnejší hárdver. Akcelerátor. O veľa rokov neskôr si však niekto iný všimol, že je zúfalo neefektívne živiť dva asymetrické, a príliš komplikované procesory. A presunul tu "istú funkciu" naspäť na CPU.



DOOM - 1993, veľký návrat soft.rasterizácie - 2013 ??

V historických časoch sa vám mohlo ľahko stať, že váš vypiplaný sofvérový rasterizér napísaný v asembleri, vyšumel na konci vývoja hry do prázdna. Bol v hodine dvanástej nahradený volaním služieb Glide API. A Voodoo to zvládlo desaťkrát lepšie, ako CPU s vaším softvérom. To však neznamená, že na tomto poli nepokračuje vývoj plnou parou vpred. Pixomatic Michaela Abrasha a Mike Sartaina je jedným z takých titánov. Pravdepodobne aj tým najlepším. Jeho tretia revízia zvládne "emulovať" DX9 API, shader model 3.0 GPU hárdvér so všetkými jeho nuansami. Vrátane anizotropického filteringu, per pixel mipmapingu, MSAA antialiasingu. Je cca 200 rýchlejší než referenčný soft rasterizér od Microsoftu. Port hry na Pixomatic 3 je ukážkovo bezbolestný. Ak ho teda používate ste v obrovskej výhode jediného jadrového hárdveru, jediného inštrukčného setu, jednotného dátového formátu. Žiadne problémy s manažmentom textúr, color/Z buffer buffermi atď atď. V praktických číslach : Quake II v 640x480, 32-bpp, filtrovanie textúr na priemerných 20 fps s XCRAP CPU /Celer na 733Mhz, Pixomatic 2, DX7 trieda/. UT 2004 a stovka frejmov v 1080p na modernom štvôrjadre. Zaujímavosť - pri porovnaní ich ručne odladeného kódu s C-šmejd kompilátom od Vertigo Software bol rozdiel cca 80-100% v ich prospech /Q2 demo/, to aby ste tušili, kde sa asi ztráca výkon vášho CPU a GPU v pateticky neoptimalizovanej hre Crysis. Samozrejme je Pixomatic 3 absolutne nepoužitelný v moderných hrách, ak do ringu dáte ako protivníka už aj bežne GPU za 150 dolárov. A práve preto Intel celú túto technológiu zakúpil, a pripravuje hárdvér, na ktorom sa jeho sila naozaj ukáže.

Projekt Larrabee. Abrash aj tu zanechal svoju stopu, a je vlastne otcom schopností tohto čipu pracovať ako plnohodnotná náhrada za GPU. Po jeho fundovaných pripomienkach sa rozhodli do celého systému implementovať značne vylepšenú sadu SIMD inštrukcií o šírke 512 bitov, namiesto štandardných 128-256 bitov - AVX sada. Ich cieľom je maximalizovať výkon na strane rasterizácie. Plus a to je ďalšia zapeklitá úloha - automatizovaná vektorizácia bežného CPU kódu. Larabee je vo svojej podstate extremne paralelizovaným procesorom zložený z desiatok subjednotiek. V tomto príprade hromada lacných P55C jadier . Staré dobré, masívne upravené Pentium z roku, keď tu vládol Quake. Tohoročný Larabee prototyp je po grafickej stránke výkonov na úrovni najnovšej NV 285 GTX. Aby ste to do oka dostali ešte lepšie. Stará verzia na 1Ghz potrebovala cca 25 jadier pre Gears of Joke, alebo 10 jadier pre HL2 s 4xAA obe na 60 fps v rozlíšení 1600x1200. Na dvojnásobnom pracovnom kmitočte si teda vystačíte s polovicou tej hromádky švábov, lebo nárast výkonu je takmer na 100% prísne lineárny. Video ukážka využivajúca Offset engine, ktorý už Intel vlastní tiež.

Čím sme sa opäť dostali na začiatok, a koleso sa otáča ďalej. Dobre vieme, že CELL je veľmi potentný aj ako druhé ohromne výkonné "softvérové" GPU /pixel a vertex, geometry operácie/. Špičkoví PS3 programátori opäť získavajú náskok pred celou tou zdechlou tlupou žijúcou ešte stále v jednojadrovej klasike. Stardust HD tím udáva 25 násobné zrýchlenie už pri malom využití SPE, oproti rannej GPU only alfe. Prvotné pokusy so 60 Hz akciou a tisíckami objektov skončilo vtedy na 4 frejmoch za sekundu. Iný borec z fachu ironicky poznamenáva, že príliš "nechápe" tú zaujatosť voči CELLu, keď Larrabee je to isté v ružovom. A ten zas pre zmenu všetci milujú. Nástup Larrabee na trh je síce odkladaný z jedného kvartálu na druhý. Sú tu stále pochopiteľné, ale riešiteľné technologické problémy so zvládnutím bezchybnej výroby a chladenie tak veľkého výpočetného poľa. Samozrejme aj rozumná cena. Je totiž faktom, že toto je ta jediná relevantná budúcnosť. Pri použití 45nm procesu už dnes môžte celkom lacno zaplaviť trh 16-jadrovým CELL procesorom. A internet je plný šumu ohľadom možného nahradenia Nvidie v PS4 - Intelom. Koleso sa však rozbieha nanovo, a zrýchľuje otáčky. Raytrasing/radiosita v reálnom čase, a veľké zbohom klasickej rasterizácii, kde sa výsledný vizuál a tok reálneho svetla iba tak "od oka" odhaduje, a umelecky vylepšuje.

Update 10.8.09, 20:35 - Najnovšia prezentácia Cryengine 3 z každoročnej a priam kultovej konferencie SIGGRAPH. V staršom článku som písal o ich zjednodušenom riešení globálnej iluminácie, značne zlepšujúcej vizuálnu kvalitu scény. Tak tu teda prikladám /viac popisné pdfko toho prvého linku/ dosť technické a pre laika nepriestrelné info /pár viet aj o konzolách, aj benchmarky/, ale snáď vas potešia aspoň sprievodné videá. Massive lighting /97 mega/ a Global Illumination /42 mega/. Youtube formát, obe naraz v jednom videu.

Update 11.8.09, 08:30 -
Tim Sweeney /Unreal engine/ o zániku klasickej a zastaralej štruktúry renderingu. Koniec GPU a prečo Crysis aj na SLI hádvére vyzerá de fakto rovnako, ako Gears of Joke 2 na zastaralom Xcrape 1.5. Návrh možného riešenia. Teda to isté o čom som písal ja v minulom roku. Návrat ku 100% sofvérovému renderingu, smrť stupídnemu DX API.

-
Johan Andersson /DICE/ a skvelý Frostbite engine, ktorého DRUHÉ masívne vylepšené pokračovanie je na ceste /BF BC2 bude bežať ešte na jednotke/. Cieľ : na doraz využiť silu súčasnej generácie konzol. Milujú CELL, mimochodom. Softvérové riešenie niektorých "grafických" problémov opäť na scéne.

Update 12.8.2009, 17:20 - Veľmi pekné, ešte čerstvé PDFko aj s časťami venovanými konzolám :
"Fast dynamic lighting and shadows for opaque and transluscent objects" od Volition inc. / Red faction, Saints Raw, Descent, Freespace /. Nová efektívná technika Inferred rendering vo vývoji, rieši aj problém Deferred renderingu s priehľadnosťou a MSAA. Kompletná deštrukcia klasického a nepoužiteľného forward renderingu, kde s komplexnosťou scény a počtom svetelných zdrojov rastie náročnosť na systémové prostriedky logaritmicky. Video /39 mega/.