Resistance 3 /release - 6.9.2011/. Oproti jedničke gigantický technologický progres. Tam kde HALO prešlapuje na mieste, Insomniac games každým dielom dvíha vizuálnu kvalitu o 100%. Nasvietenie je super, partikle efekty a zobrazenie krvi neurazia. Kooperatívna kampaň je potvrdená, splitscreen tiež, zbrane su upgrejdovateľné. Feeling - pocit z boja bude jasne niekde inde ako v suchej a nudnej HL2ke. V roku 2011 bude zoči voči rimejku otrasnej HALO 1 stáť maniákálne vyladená dvojka - Resistance 3 a Killzone 3.
Uncharted 3 /release 1.11.2011/. Trailer z rodu holy shit fuck cum all over my face. Dev tím už stihol povedať, že všetko čo sme videli v tom videu beží v reálnom čase. Osobne si myslím, že len tá posledná tretina, a aj ta vyzerá ako CG animačky ku xcrap hrám. Naughty Dog sú bez výnimky všetkými akceptovaný ako kóderski bohovia /v klube sa tlačí aj ICO tím, Insomniac, PD, Santa Monica a GG/. Dnes sa už poctivé "Indiana Jones" hry na škodu veci nerobia, a Uncharted 3 je naozaj hra vo filmovej grafike. V treťom diely aj masívne posilnená online zložka /kompetitívna aj kooperatívna/.
Mass effect 3. Táto pôvodne xcrap exkluzívna séria sa po zákulisných rošádach vďaka nenažratej a pragmatickej EA dostáva aj na PS3. Obdobná situácia ako s Final Fantasy. Z môjho pohľadu ide o typické veľmi preceňované smrduté blato. Hral som iba jednotku, ale nočné mory mám z toho aj dnes. Hra to bolo veľmi krátka, šokujúco lineárna a tunelová, herne s prestrelenými oboma kolenami /slabučká TPS akcia/. Nedorobené dvojča rovnako nepodarenej hry KOTOR. Trailer ME3ky je čisté CG, čo je drzým napľutím do mojich očí. Niežeby ma niečím starý Unreal engine mohol prekvapiť. Čakám viac toho istého, rýchlo urobený datadisk, čo budú všetky renomované sajty ignorovať a desiatky budú lietať vzduchom.
The Elder Scrolls V: Skyrim /release 11.11.2011/ Posledné niečo s názvom Poblivion som hral asi hodinu a pol. Technicky hlúpe. Mám nulovú toleranciu voči otrasnému doskakovaniu grafiky na PC systéme s 2 giga ram a siedmou generáciou NV sračky. Streaming systém je hnusný ftip. Herne hlúpe. Vygumovaný bojový systém. Neživé mestá, nuda, generické RPG západného typu. The Elder Scroll 4 bola nedohrateľný bugfest. Typická to vlastnosť pre všetky Bethesda produkty. Opäť iba CG trailer. Technické info. Nedávno som vám tu s poľutovaním oznámil, že Emergent zbankrotoval. Stál za Gamebryo enginom použitým práve v ich predchádzajúcej hre Poblivion, rovnako aj napríklad v Flopoute 3. Otázka teda zneje na čom bude bežať Elder 4ka. Veľa hráčov si želá, aby to bola ID tech 5 od ID softu. Musím vás však varovať - ten engine má skutočne zásadné nedostatky /vyplývajú zo zvoleného megatexture designu/ a šialené nároky na miesto na optickom médiu. Bethesda už navyše potvrdila, že použijú niečo "vlastné".
Forza 4. To bude mať ťažké. Každý ju bude porovnávať s GT5, a GT5 do je príchodu pridá do svojho "operačného systému" kopu ďalších funkcií. Turn10 bude musiet pridať denný cyklus. Mal by pridať aj dynamickú zmenu počasia. Nová terény ako blato a sneh. Budú musieť niečo urobiť s neexistujucím damage modelom, je to iba insitný script swap textúr. GT5 má výrazne lepšiu simuláciu jazdnej fyziku, Flopza 3 na stranej druhej "nevypnutiteľných" asistentov. A budú sa musieť vojsť aspoň do dvoch DVD. Inštalácia bude iste povinná. Kde si ju nainštaluje to more blbečkov, čo si kúpilo tie bill šmejdy bez hadru - riešiť nebudem. Trailer už nie je ani CG, len nejaký TOP GEAR acid trip s pokazenou videokamerou.
Portal 2. Prešiel som prvý diel, a nedal by som mu ani pol boda. Ako hráč veterán si stojím za tým, že išlo o totálne fiasko. Dĺžka hra, hrateľnosť, technické spracovanie. V roku 2007 ma nikto nebude urážať tak povrchným a plytkým dielkom. Poznám 3D puzlátka zo spektra, staré 20 rokov, čo si s tým portalom vytrú riť. Herné videá Portal 2 - napravujú asi všetko, čo jednotke vyhadzujem na oči. Opakujem Portal 1 považujem za nemiestny ftip od Valve, malo to ako koncept tech demo ostať v zásuvke a čakať na dopracovanie. Portal 2 je vlastne Portal 1.
SSX Deadly Descents. Opäť iba CG videjko. Mám zásadné obavy čo nám z toho nakoniec vznikne. Vidíte to aj sami - tie akčné vsuvky s plachtenim ala zfetovaný batman a zákopová sekyrka. SSX séria na PS2ke je povestným zlatým grálom excelentnej hrateľnosti. Požitok z jazdy po snehu. Nemusím vám hovoriť, že môže desať ľudí robiť tú istá vec a nemusí sa to podariť ani jednému. Podprahové nuansy, uchopiť ten pocit kĺzania po snehu pevne za gule. SSX na PS2ke to dokázal /strhujúce/. Na PS3ke to môže dopadnuť, ako keď mačička a psík varili "perník".
12/12/10
11/12/10
HALO : Bitch
Úzko špecializovaný hárdvér vs ten funkčne flexibilný s veľkou prevahou "voľného" výkonu. Kratkodobá výhoda versus dlhodobý zisk. Architektúra PS3 a DVD xcrapu. Halo Reach je po HALO 3 a HALO ODST tretím a posledným pokusom Bungie vydolovať z bill šmejdu jeho technologické maximum. Vieme, že dobytok bude hrať hry, aj keby bežali v PS2 grafike ďalších 20 rokov, a technická stránka im je srdečne ukradnutá. Tento môj článok poukazuje iba na to, ako sa pôvodné, vychvaľované xcrap finesy /eDRAM, tiling, MSAA HW atď./ obrátili vo svetle nových a efektívnejších renderovacích postupov proti samotným programátorom. Sviňa Richard Leadbetter a Bungie kóderi sa týmto článku v štýle damage control snažia z hovna urobiť bič a manipulátorsky sa v ňom drísta o ich úchvatnom programátorskom počine. Žvásty debilov na výplatnej páske microsoftu.



Halo Reach opäť nebeží v pravom 720p režime ale v špekulantskom rozlíšení 1152 x 720 = 829 440 pixlov /1280 x 720= 921 600/, aby sa vošiel do 10 megovej eDRAM. Rozdiel oproti takej vlajkovej Killzone 3 je cca 2.77 milióna menej spracovaných pixelov za sekundu !!! Halo 3 a ODST sú 1152×640 hry. Sony hater a sviňa Richard Leadbetter v minulosti nezabudol poznamenať, že nárast rozlíšenia medzi HALO 3 a HALO Reach je SIGNIFIKANTNE vysoký. V hlave toho hoväda je 80 pixlov navyše - definitívnym dôkazom výnimočnosti xcrap GPU. Jadro problému grafiky xcrap hier je v prvom rade v organizácii jeho pamäte /druhým je nedostatok APUs pre vytvárenie postefektov - od AA, cez AO, po motion blur, ktoré pri PS3 suplujú SPE/.
Popísalo sa more tupých článkov o výhodách unifikovanej UMA pamäte xcrapu. PS3 ju má v dvoch 256 megových bankách. Už menej alebo nič sa nepíše o tom, že obsah všetkých grafických operácii, ktoré bežia v nedostatočne malej eDRAM sa MUSIA pred zobrazením presunúť do hlavnej 512 megovej pamäte. Malá eDRAM stojí za takmer všetkými grafickými problémami, ktoré HALO engine má. Je to eDRAM, ktorá im diktuje aj finálne rozlíšenie hry. Ani ich tretia hra nezvláda 720p režim. PS3 GPU - RSX adresuje celých 512 mega konzoly a pre vlastné účely /kde ma CELL obmedzený prístup/ má svoju lokálnu GDR3 256 megovú pamäť. Čím viac "efektov" sa Bungie snažila natrepať do HALO Reach, tým viac sa "rozriedila" ich kvalita, a niektoré sa nedali použiť vôbec.
Roky sa nás totiž Bill snažil klamať možnosťou obísť tieto zjavné limity malej eDRAM postupmi delenia framebuffera na menšie časti s ich postupým spracovaním. Kvázi možnosť virtuálne väčšej EDRAM /tiling/. Opakovane sa pritom priamo v hrách potvrdilo, že to funguje iba niekedy, a už vobec nie pri špičkovom zaťažení systému, ak je cieľom dobehnúť vizuálne superiórnu PS3 a jej natívne hry. Tiling pôsobí jasne "deštruktívne" a zaťažuje viac všetky výkonné zložky konzoly - CPU, GPU aj latenciu ovládača.
Pretože si Bungie zvolilo cestu nepoužia tilling postupu, daňou za to bola nemožnosť použitia špecializovaného MSAA hárdvéru. HALO Reach preto nemá žiaden antialiasing /roky propagovaný ako "free"/. Ako super núdzové riešenie sa použila banálna technika temporálneho blendingu, keď sa pseudo AA vzorky získavajú z predchádzajúceho frejmu a miešaju s aktuálnym s použitím - quincunx matrice. Áno, presne tej, ktorá je tak tým istým idiotom masívne kritizovaná pre malé zníženie ostrosti textúr. Celý tento postup je vo finále prísne selektívny, pri neustálom použití má veľké problémy s kompenzáciou pri pohybe, alebo s viac násobnými prekrývajúcimi sa transparentnými plochami. More artefaktov. Killzone 3 podľa predbežných informácii použije SPE antialiasing s ďaleko lepšou kvalitou a použiteľnosťou.
Vďaka malej EDRAM sa v HALO Reach rapídne znížila kvalita efektov ako AO /ambientná oklúzia/, motion blur /už viac nie je gamma korigovaná/, HDR /ďaleko - o jeden rád nižšia presnosť ako v HALO3/, alfa mapy /veľmi nízke rozlíšenie, pri PS3 opäť kritizované do bezvedomia - viď GT5/, hra už nie 100% v-sync a tearing je len softvérovo maskovaný do časti, kde ho nevidieť - tj v prvých pár riadkov v hornej časti obrazovky/bežný trik/. Otrasne dlhú kapitolu o ospevovaní "geniálnej" AI preskočím týmto videom, ktoré som náhodne vylosoval z toho množstva podobných na youtube. V skratke AI v HALO Reach je buď kapitálne tupá /a identické problémy mala už v minulých dielov, Bungie to má na háku/, alebo štandardne blbá, ako v každej druhej FPS hre.
Záver - HALO: Reach by pri použití 720p módu, a aspoň 4xAA /holý základ aspoň trochu podobný KZ3/ prišlo o podstatnú časť grafických features svojho enginu, ten zvyšok by nestál za reč a celé by to bolo vizuálne na úrovni lepšieho Half Life 2. Na strane druhej ponúka Killzone 3 nekompromisne - vyššie rozlíšenie a pravý 720p, je tam AA, lepšie AO, lepší motion blur, lepšie HDR, lepší deferred rendering, lepší partikle engine /explózie, dym, vločky snehu, sneh unášaný vetrom .. /, lepšia voda /plávajúci ľad a pena/, viac svetiel a polygónov na frame, určite NIE horšia AI ako tá v HALO Reach , ktoré napriek tomu, že beží na "najnižších detailoch" v porovaní s KZ3 a má vkusne plávajúci framerate 24-26-28-30fps, ako dokazuje každé druhé video aj v tom ich vlastnom eurogamer článku. Mýtus o modernom xcrap GPU, o výkonnejšom CPU a mem systéme je iba lož buzeranta Billa a mylné presvedčenie blbečkov, čo mu uverili.



Killzone 3 - poézia v pohybe, Monet na obrázku, grafické porno
Halo Reach opäť nebeží v pravom 720p režime ale v špekulantskom rozlíšení 1152 x 720 = 829 440 pixlov /1280 x 720= 921 600/, aby sa vošiel do 10 megovej eDRAM. Rozdiel oproti takej vlajkovej Killzone 3 je cca 2.77 milióna menej spracovaných pixelov za sekundu !!! Halo 3 a ODST sú 1152×640 hry. Sony hater a sviňa Richard Leadbetter v minulosti nezabudol poznamenať, že nárast rozlíšenia medzi HALO 3 a HALO Reach je SIGNIFIKANTNE vysoký. V hlave toho hoväda je 80 pixlov navyše - definitívnym dôkazom výnimočnosti xcrap GPU. Jadro problému grafiky xcrap hier je v prvom rade v organizácii jeho pamäte /druhým je nedostatok APUs pre vytvárenie postefektov - od AA, cez AO, po motion blur, ktoré pri PS3 suplujú SPE/.
Popísalo sa more tupých článkov o výhodách unifikovanej UMA pamäte xcrapu. PS3 ju má v dvoch 256 megových bankách. Už menej alebo nič sa nepíše o tom, že obsah všetkých grafických operácii, ktoré bežia v nedostatočne malej eDRAM sa MUSIA pred zobrazením presunúť do hlavnej 512 megovej pamäte. Malá eDRAM stojí za takmer všetkými grafickými problémami, ktoré HALO engine má. Je to eDRAM, ktorá im diktuje aj finálne rozlíšenie hry. Ani ich tretia hra nezvláda 720p režim. PS3 GPU - RSX adresuje celých 512 mega konzoly a pre vlastné účely /kde ma CELL obmedzený prístup/ má svoju lokálnu GDR3 256 megovú pamäť. Čím viac "efektov" sa Bungie snažila natrepať do HALO Reach, tým viac sa "rozriedila" ich kvalita, a niektoré sa nedali použiť vôbec.
Roky sa nás totiž Bill snažil klamať možnosťou obísť tieto zjavné limity malej eDRAM postupmi delenia framebuffera na menšie časti s ich postupým spracovaním. Kvázi možnosť virtuálne väčšej EDRAM /tiling/. Opakovane sa pritom priamo v hrách potvrdilo, že to funguje iba niekedy, a už vobec nie pri špičkovom zaťažení systému, ak je cieľom dobehnúť vizuálne superiórnu PS3 a jej natívne hry. Tiling pôsobí jasne "deštruktívne" a zaťažuje viac všetky výkonné zložky konzoly - CPU, GPU aj latenciu ovládača.
Pretože si Bungie zvolilo cestu nepoužia tilling postupu, daňou za to bola nemožnosť použitia špecializovaného MSAA hárdvéru. HALO Reach preto nemá žiaden antialiasing /roky propagovaný ako "free"/. Ako super núdzové riešenie sa použila banálna technika temporálneho blendingu, keď sa pseudo AA vzorky získavajú z predchádzajúceho frejmu a miešaju s aktuálnym s použitím - quincunx matrice. Áno, presne tej, ktorá je tak tým istým idiotom masívne kritizovaná pre malé zníženie ostrosti textúr. Celý tento postup je vo finále prísne selektívny, pri neustálom použití má veľké problémy s kompenzáciou pri pohybe, alebo s viac násobnými prekrývajúcimi sa transparentnými plochami. More artefaktov. Killzone 3 podľa predbežných informácii použije SPE antialiasing s ďaleko lepšou kvalitou a použiteľnosťou.
Vďaka malej EDRAM sa v HALO Reach rapídne znížila kvalita efektov ako AO /ambientná oklúzia/, motion blur /už viac nie je gamma korigovaná/, HDR /ďaleko - o jeden rád nižšia presnosť ako v HALO3/, alfa mapy /veľmi nízke rozlíšenie, pri PS3 opäť kritizované do bezvedomia - viď GT5/, hra už nie 100% v-sync a tearing je len softvérovo maskovaný do časti, kde ho nevidieť - tj v prvých pár riadkov v hornej časti obrazovky/bežný trik/. Otrasne dlhú kapitolu o ospevovaní "geniálnej" AI preskočím týmto videom, ktoré som náhodne vylosoval z toho množstva podobných na youtube. V skratke AI v HALO Reach je buď kapitálne tupá /a identické problémy mala už v minulých dielov, Bungie to má na háku/, alebo štandardne blbá, ako v každej druhej FPS hre.
Záver - HALO: Reach by pri použití 720p módu, a aspoň 4xAA /holý základ aspoň trochu podobný KZ3/ prišlo o podstatnú časť grafických features svojho enginu, ten zvyšok by nestál za reč a celé by to bolo vizuálne na úrovni lepšieho Half Life 2. Na strane druhej ponúka Killzone 3 nekompromisne - vyššie rozlíšenie a pravý 720p, je tam AA, lepšie AO, lepší motion blur, lepšie HDR, lepší deferred rendering, lepší partikle engine /explózie, dym, vločky snehu, sneh unášaný vetrom .. /, lepšia voda /plávajúci ľad a pena/, viac svetiel a polygónov na frame, určite NIE horšia AI ako tá v HALO Reach , ktoré napriek tomu, že beží na "najnižších detailoch" v porovaní s KZ3 a má vkusne plávajúci framerate 24-26-28-30fps, ako dokazuje každé druhé video aj v tom ich vlastnom eurogamer článku. Mýtus o modernom xcrap GPU, o výkonnejšom CPU a mem systéme je iba lož buzeranta Billa a mylné presvedčenie blbečkov, čo mu uverili.
04/12/10
Mikrokód - uCode
Je dobre známy môj odpor ku súčasnej úrovni technológie renderingu, ktorá sa dostala definitívne do slepej uličky. Vidím 50 násobný nárast hrubého výkonu, čo sa premieta ledva do 2-5 krát lepšieho vizuálu, ak teda vôbec nejaký pozorujem. Preto to hanlivé označenie celej súčasnej generácie ako PS2 HD hry, a celé je to zabalené do obrovských problémov so stabilitou framerejtu. Samozrejme riešenie tohto problému je známe, aj niekoľko možných ciest ku skokovému nárastu efektivity hárdvéru. Aby ste však pochopili, kde smerujeme, je nutné mať aspoň hmlisté povedomie o praveku vytvárania grafiky, ku ktorému sa teraz paradoxne vraciame /vyznamné zníženie počtu krokov v procese generovania finálneho obrazu/. Nakoniec, totiž každý zistí, že na zabitie klinca do dreva je kladivo stále ten najlepší nástroj, a to aj o sto rokov odo dneška.
V bode nula bol "grafická karta" iba kus pamäte prilepenej ku CPU logike. A tá bez akýchkoľvek medzistupňov zapisovala pixely priamo do frame buffera. Časom sa všetky tie medzistupne /rasterizácia, textúrovanie, tranformácie, nasvietenie, pixel-vertex operácie, desiatky ďalších/ presunuli do špecializovaných akceleračných čipov, ktoré nakoniec skončili v jednom švábe - GPU. Šialená komplexnosť dnešných grafických operácii však prekonáva možnosti dnešného GPU hárdvéru, zviazaného filozofiou samotného renderingu pixel-polygon-tranformácia-textúra-svetlo atď. Malý príklad - máte PSone a hárdverovú podporu pre Gouraud shading, je to ďaleko rýchlejšie ako keby sme to realizovali za pomoci CPU. Zvládne však aj per-pixel Phong tieňovanie - nie !!
Identický model môžte aplikovať pri PS2 a PS3. Vieme, že ohromné množstvo grafických operácii pri PS3 je realizované "starým" spôsobom. CPU .. vlastne SPE priamo generuje grafiku do framebuffera, alebo to aspoň "predžuje" pre GPU. To jest z "niečoho" urobí niečo "iné" kompatibilnejšie pre zastaralé GPU schopné iba niektorých fixne daných prostocvikov. Samozrejme každého napadne rozšíriť flexibilitu inštrukčného setu GPU, čim ho však meníme na CPU, čím dochádza ku redundancii, lebo tu už jedno CPU máme, čím opäť končíme na najstaršej klasike CPU-pamäť a vymyslíme si postupne meter ďalších "akcelerátorov" - ktorých mená sa postupne dozviete aj tu postupom času v ďalších článkoch. Ak to ešte niekomu nie je jasné, hárdvér a dôverne známe pojmy tak ako ho ich poznáte dnes, budú behom 7-10 rokov konečne mŕtve a prestaneme sa čudovať, prečo tieň auta v hre z roku 1999 zrazu v hre z roku 2010 v tej istej sérií nepekne bliká, rozpadá sa, napriek tak brutálnemu nárastu výkonu.
S nadmerným nárastom komplexnosti a paradoxne aj so stratou efektivity špecializovaného hárdveru sa pritom bojuje od samého začiatku vytvárania grafiky. V snahe vytlačiť z GPU čo najviac, je niekedy povolené používať skutočne špinavé techniky - napriklad mikrokód. Veľmi náročné, ručne programovanie registrov čipu, intímne spojenie so železom. Asi najviac z nej v blízkej minulosti benefitovala N64 /ale dostaneme sa aj ku PS2/.
N64 mala objektívne veľmi výkonné CPU, fatálne zkriplený prístup-priepustnosť do pamäte, RDRAM s nevkusne vysokou latenciou /64 cyklov pri čítani, 640ns .. hnus/, a veľmi výkonné GPU /RSP+RDP/ fatálne zkriplené inštrukčným setom. Naštastie ostali tu jedny dvere pootvorené a RSP /Reality Signal Processor/ bolo možné programovať skrze tzv. mikrokód. RDP je Reality Drawing Processor - blbý rasterizér. Takže mámu tu RSP, ktoré predpisovo pochodovým krokom zvláda svoj denný chleba. Hárdverová podpora pre transformáciu polygónov, nasvietenie, clipping .. nebudem sa opakovať.
Čo by sa však stala, ak by sme vyhodili všetok ten SGI balast /rozumej "DirectX"/ a boli schopný tam dať ten svoj ? Lepší. Áno - GPU zrazu zvládne to, čo bolo predtým mimo jeho špecifikácii a dokonca oveľa rýchlejšie /viac polygónov, viac efektov, nové efekty, vyššie rozlíšenie, vyššia rýchlosť/. Oficiálny SGI kód mal dva módy: Fast3D /v hrubom cca 100K polys za sekundu plus efekty/ a Turbo3D /500-600K polys-sec, trochu grafických artefaktov/. Bláznivo veľký rozdiel. Mód čislo dva navyše pre oficiálne hry NEBOL povolený, aby neutrpela vizuálna kvalita hry. Tu sa trochu smejem pri pohľade na častý Z-fighting, alebo chýbajúcu perspektívnu korekciu textúr a subpixel presnosť PSOne hier. Šupanie do mikrokódu navyše Nintendo povolilo až na konci N64 cyklu. Škoda. Štandardná N64 hra bola dlhú dobu známa skôr strohou grafikou, milosrdnou hmlou zopár krokov od hráča, alebo masívnym doskakovaním grafiky. Fast3D mód bol neskôr modifikovaný /znížená presnosť, trochu zvýšená rýchlosť/ na oficiálnu Fast3D2ku.
Zopár ukážiek, čo špičkoví kóderi pomocou vlastného-custom mikrokódu z N64 vytiahli. Factor 5 a konverzia Indiana Jones and the Infernal Machine. Dosiahli vyššiu úroveň grafiky než PC /polycount, nasvietenie, partikle/ dokonca porovnateľnú kvality textúr bez ohľadu na prťavo malú pamäť nintenda. Iba v N64 verzii, keď zafúka vietor z fakieľ odskakujú iskry, alebo počas lezenia po skalách sa odlamujú kúsky vápenca. Inšpiratívne čitanie o vývoji máte celé v tomto odkaze. Boss Games Studios a nič iné ako ich Grand Turismo pre N64. To je slogan z dobovej reklamy. World driver championship. Zoznam grafických fines máte v prvom odseku. Objektívne je to graficky veľmi zdatná gamesa. Pekná komplexnosť, vysoká dohľadnosť, 480p mód, 8 áut na ceste, skids na asfalte, kvázi procedurálne hmlové efekty. Hárdverové Z-buffer kalkulácie neboli použité /N64 nemala dostatočný fillrate, takže sa na to išli hrubou silou - polycount, mikrokód/. V rovnakom roku ako WDC pre N64 kontrovala Psone so svojim Ridge Racer 4. Skutočne nádherná grafika, gourardovo tieňove takmer všade, svetlá, textúry, monštruózna dohľadnosť.
Posledným borcom z "rodu veľkých" je RARE a patologicky známa hra Conker Bad Fury Day. Obrovské scény, ani stopa po hmle, a násilnom doskakovaní grafike, početné perfektné farebné, svetelné zdroje, spracovanie tieňov. Polygónami sa míňalo aj na také finesy ako detailná animácia ksichtov, vrátane synchronizácie pier a hovoreného slova. Jedna z hier, ktorá je psou povinnosťou pre každého hráča /v hre nájdete všetko možné filmové narážky od Votrelca, Matrix, Drakulu, Zachráňte vojaka Ryana po Mechanický pomaranč/. Okrem iného sa dozviete aj "pravú" definíciu pojmu - plošinková hra. Koniec videa, ale pozrite si to celé.
V bode nula bol "grafická karta" iba kus pamäte prilepenej ku CPU logike. A tá bez akýchkoľvek medzistupňov zapisovala pixely priamo do frame buffera. Časom sa všetky tie medzistupne /rasterizácia, textúrovanie, tranformácie, nasvietenie, pixel-vertex operácie, desiatky ďalších/ presunuli do špecializovaných akceleračných čipov, ktoré nakoniec skončili v jednom švábe - GPU. Šialená komplexnosť dnešných grafických operácii však prekonáva možnosti dnešného GPU hárdvéru, zviazaného filozofiou samotného renderingu pixel-polygon-tranformácia-textúra-svetlo atď. Malý príklad - máte PSone a hárdverovú podporu pre Gouraud shading, je to ďaleko rýchlejšie ako keby sme to realizovali za pomoci CPU. Zvládne však aj per-pixel Phong tieňovanie - nie !!
Identický model môžte aplikovať pri PS2 a PS3. Vieme, že ohromné množstvo grafických operácii pri PS3 je realizované "starým" spôsobom. CPU .. vlastne SPE priamo generuje grafiku do framebuffera, alebo to aspoň "predžuje" pre GPU. To jest z "niečoho" urobí niečo "iné" kompatibilnejšie pre zastaralé GPU schopné iba niektorých fixne daných prostocvikov. Samozrejme každého napadne rozšíriť flexibilitu inštrukčného setu GPU, čim ho však meníme na CPU, čím dochádza ku redundancii, lebo tu už jedno CPU máme, čím opäť končíme na najstaršej klasike CPU-pamäť a vymyslíme si postupne meter ďalších "akcelerátorov" - ktorých mená sa postupne dozviete aj tu postupom času v ďalších článkoch. Ak to ešte niekomu nie je jasné, hárdvér a dôverne známe pojmy tak ako ho ich poznáte dnes, budú behom 7-10 rokov konečne mŕtve a prestaneme sa čudovať, prečo tieň auta v hre z roku 1999 zrazu v hre z roku 2010 v tej istej sérií nepekne bliká, rozpadá sa, napriek tak brutálnemu nárastu výkonu.
S nadmerným nárastom komplexnosti a paradoxne aj so stratou efektivity špecializovaného hárdveru sa pritom bojuje od samého začiatku vytvárania grafiky. V snahe vytlačiť z GPU čo najviac, je niekedy povolené používať skutočne špinavé techniky - napriklad mikrokód. Veľmi náročné, ručne programovanie registrov čipu, intímne spojenie so železom. Asi najviac z nej v blízkej minulosti benefitovala N64 /ale dostaneme sa aj ku PS2/.
N64 mala objektívne veľmi výkonné CPU, fatálne zkriplený prístup-priepustnosť do pamäte, RDRAM s nevkusne vysokou latenciou /64 cyklov pri čítani, 640ns .. hnus/, a veľmi výkonné GPU /RSP+RDP/ fatálne zkriplené inštrukčným setom. Naštastie ostali tu jedny dvere pootvorené a RSP /Reality Signal Processor/ bolo možné programovať skrze tzv. mikrokód. RDP je Reality Drawing Processor - blbý rasterizér. Takže mámu tu RSP, ktoré predpisovo pochodovým krokom zvláda svoj denný chleba. Hárdverová podpora pre transformáciu polygónov, nasvietenie, clipping .. nebudem sa opakovať.
Čo by sa však stala, ak by sme vyhodili všetok ten SGI balast /rozumej "DirectX"/ a boli schopný tam dať ten svoj ? Lepší. Áno - GPU zrazu zvládne to, čo bolo predtým mimo jeho špecifikácii a dokonca oveľa rýchlejšie /viac polygónov, viac efektov, nové efekty, vyššie rozlíšenie, vyššia rýchlosť/. Oficiálny SGI kód mal dva módy: Fast3D /v hrubom cca 100K polys za sekundu plus efekty/ a Turbo3D /500-600K polys-sec, trochu grafických artefaktov/. Bláznivo veľký rozdiel. Mód čislo dva navyše pre oficiálne hry NEBOL povolený, aby neutrpela vizuálna kvalita hry. Tu sa trochu smejem pri pohľade na častý Z-fighting, alebo chýbajúcu perspektívnu korekciu textúr a subpixel presnosť PSOne hier. Šupanie do mikrokódu navyše Nintendo povolilo až na konci N64 cyklu. Škoda. Štandardná N64 hra bola dlhú dobu známa skôr strohou grafikou, milosrdnou hmlou zopár krokov od hráča, alebo masívnym doskakovaním grafiky. Fast3D mód bol neskôr modifikovaný /znížená presnosť, trochu zvýšená rýchlosť/ na oficiálnu Fast3D2ku.
Zopár ukážiek, čo špičkoví kóderi pomocou vlastného-custom mikrokódu z N64 vytiahli. Factor 5 a konverzia Indiana Jones and the Infernal Machine. Dosiahli vyššiu úroveň grafiky než PC /polycount, nasvietenie, partikle/ dokonca porovnateľnú kvality textúr bez ohľadu na prťavo malú pamäť nintenda. Iba v N64 verzii, keď zafúka vietor z fakieľ odskakujú iskry, alebo počas lezenia po skalách sa odlamujú kúsky vápenca. Inšpiratívne čitanie o vývoji máte celé v tomto odkaze. Boss Games Studios a nič iné ako ich Grand Turismo pre N64. To je slogan z dobovej reklamy. World driver championship. Zoznam grafických fines máte v prvom odseku. Objektívne je to graficky veľmi zdatná gamesa. Pekná komplexnosť, vysoká dohľadnosť, 480p mód, 8 áut na ceste, skids na asfalte, kvázi procedurálne hmlové efekty. Hárdverové Z-buffer kalkulácie neboli použité /N64 nemala dostatočný fillrate, takže sa na to išli hrubou silou - polycount, mikrokód/. V rovnakom roku ako WDC pre N64 kontrovala Psone so svojim Ridge Racer 4. Skutočne nádherná grafika, gourardovo tieňove takmer všade, svetlá, textúry, monštruózna dohľadnosť.
Posledným borcom z "rodu veľkých" je RARE a patologicky známa hra Conker Bad Fury Day. Obrovské scény, ani stopa po hmle, a násilnom doskakovaní grafike, početné perfektné farebné, svetelné zdroje, spracovanie tieňov. Polygónami sa míňalo aj na také finesy ako detailná animácia ksichtov, vrátane synchronizácie pier a hovoreného slova. Jedna z hier, ktorá je psou povinnosťou pre každého hráča /v hre nájdete všetko možné filmové narážky od Votrelca, Matrix, Drakulu, Zachráňte vojaka Ryana po Mechanický pomaranč/. Okrem iného sa dozviete aj "pravú" definíciu pojmu - plošinková hra. Koniec videa, ale pozrite si to celé.
void AddFraction(int &Num, int &Denom, int &Num2, int &Denom2)
/* This function is called after Reduce. This function adds the two
fractions Reduce() reduced
Pre: Two Fractions
Post: One reduced fraction */
{
if (Denom != Denom2)
{
Num = Num * Denom2;
Num2 = Num2 * Denom;
Denom = Denom * Denom2;
Denom2 = Denom2 * Denom;
Num = Num + Num2;
.
.
LD a,3 (put the value 3 in register a)
Increment PC ;skip past LD opcode
Fetch value from PC ;grab the '3'
Store value in register A
Increment PC ;skip past the '3' and leave the PC looking at the next instruction
Využitie mikrokódu na PS2 bolo ohromné, a zaplnilo by veľa knih. Ak vynechám chronicky známe prípady ako Shadow of the colossus, Black, GT4, Silent Hill 3 /baterka - tiene/. Stále mám v zálohe SplashDown 2: Rides Gone Wild /HDR nasvietenie, vodná pena, partikle, refrakcia, BDRF tieňovanie skútrov - to je na PS2ke ojedinelá vizualizácia interakcie svetla/odrazu a lesklého laminátu lode - Bi-directional Reflectance Distribution Function/, ATV Offroad Fury 2 a jeho ďalšie diely /soft shadows - tiene s mäkkými okrajmi sú antialiasované, 8-10K partiklov na frame, specular lighting - odlesky, geometria terénu, desiatky mikrokód pixel shaders/, Star Wars: Pod Racer Revenge /generovanie textúr terénu v reálnom čase, kompresia geometrie, projekcia tieňov, partikle, svetlo/. Teoreticky mohlo na jednej VU - vektor jednotke bežať 9 rôznych mikrokódov /9 x FMAC - Floating point Multiply-Accumulate/ a stále by ostala istá rezerva FMAC+FPU pre hlavné CPU. Pri návrhu PS2ky sa myslelo doslova na "všetko", flexibilita a možnosti hárdvéru boli niekoľko násobne vyššie než bola spoločenská objednávka.
Rovnaký princíp je použitý aj pri PS3. Vzhľadom na to, že každý herný systém ma niekde schovaného kostlivca v skrini, je dobré, ak systém má možnosť razantného zvýšenia výkonu, aj za cenu náročnejšieho programovania. PS3 tu šancu dostalo, xcrap nie. Uvedomte si, že aj to RSP v N64 je vlastne DSP procesor, čo vychádza z MIPS R4000 CPU jadra. PSP používa jeho modernú variantu ako svoje hlavné CPU !! Dnes je naozaj ťažké uhádnuť, kedy dôjde ku zmene paradigmy, a ktorý nový renderovací princíp vyhraje. Dnes sa značná časť GPU kremíka /stovky miliónov tranďákov/ snaží aspoň približne zúfalo aproximovať vizuálny efekt, ktorý by pritom vyzeral lepšie a bol by vytvorený rýchlejšie na diametrálne odlišnom "novom" hárdvéry s tretinovou komplexnosťou. Rozhodne preto chčijem na dnešné roztrasené dvojslotové PC GPU, čo žerú 400w a utrú hubu aj v starej hre Crysis, keď to prepnem do full HD na 60fps s 8xAA.
/* This function is called after Reduce. This function adds the two
fractions Reduce() reduced
Pre: Two Fractions
Post: One reduced fraction */
{
if (Denom != Denom2)
{
Num = Num * Denom2;
Num2 = Num2 * Denom;
Denom = Denom * Denom2;
Denom2 = Denom2 * Denom;
Num = Num + Num2;
.
.
versus
LD a,3 (put the value 3 in register a)
versus
Increment PC ;skip past LD opcode
Fetch value from PC ;grab the '3'
Store value in register A
Increment PC ;skip past the '3' and leave the PC looking at the next instruction
C++, assembler a mikród /super low level programovanie registrov/
Využitie mikrokódu na PS2 bolo ohromné, a zaplnilo by veľa knih. Ak vynechám chronicky známe prípady ako Shadow of the colossus, Black, GT4, Silent Hill 3 /baterka - tiene/. Stále mám v zálohe SplashDown 2: Rides Gone Wild /HDR nasvietenie, vodná pena, partikle, refrakcia, BDRF tieňovanie skútrov - to je na PS2ke ojedinelá vizualizácia interakcie svetla/odrazu a lesklého laminátu lode - Bi-directional Reflectance Distribution Function/, ATV Offroad Fury 2 a jeho ďalšie diely /soft shadows - tiene s mäkkými okrajmi sú antialiasované, 8-10K partiklov na frame, specular lighting - odlesky, geometria terénu, desiatky mikrokód pixel shaders/, Star Wars: Pod Racer Revenge /generovanie textúr terénu v reálnom čase, kompresia geometrie, projekcia tieňov, partikle, svetlo/. Teoreticky mohlo na jednej VU - vektor jednotke bežať 9 rôznych mikrokódov /9 x FMAC - Floating point Multiply-Accumulate/ a stále by ostala istá rezerva FMAC+FPU pre hlavné CPU. Pri návrhu PS2ky sa myslelo doslova na "všetko", flexibilita a možnosti hárdvéru boli niekoľko násobne vyššie než bola spoločenská objednávka.
Rovnaký princíp je použitý aj pri PS3. Vzhľadom na to, že každý herný systém ma niekde schovaného kostlivca v skrini, je dobré, ak systém má možnosť razantného zvýšenia výkonu, aj za cenu náročnejšieho programovania. PS3 tu šancu dostalo, xcrap nie. Uvedomte si, že aj to RSP v N64 je vlastne DSP procesor, čo vychádza z MIPS R4000 CPU jadra. PSP používa jeho modernú variantu ako svoje hlavné CPU !! Dnes je naozaj ťažké uhádnuť, kedy dôjde ku zmene paradigmy, a ktorý nový renderovací princíp vyhraje. Dnes sa značná časť GPU kremíka /stovky miliónov tranďákov/ snaží aspoň približne zúfalo aproximovať vizuálny efekt, ktorý by pritom vyzeral lepšie a bol by vytvorený rýchlejšie na diametrálne odlišnom "novom" hárdvéry s tretinovou komplexnosťou. Rozhodne preto chčijem na dnešné roztrasené dvojslotové PC GPU, čo žerú 400w a utrú hubu aj v starej hre Crysis, keď to prepnem do full HD na 60fps s 8xAA.
23/11/10
GT5/RSX - trochu teórie
V predstihu pred "katastrofovou" píšem tento článok napísaný relatívne zrozumiteľne, pre blbcov. Videl som už more príspevkov, ktoré laicky s počudovaním rozoberali rôzne grafické "neduhy" hry GT5. Otázky typu - ako je možné, že po šiestich rokoch vývoja a pri CELL výkone je tam tento alebo henten hnus, hrana, blikanie, zub, blok, error pixel. Odpoveď je vskutku triviálna a dĺžka vývoja s tým nemá nič. Ako povedal ujo Majský, najväčší tunelár slovenska: "sa nestaraj, tvoje už není NIČ." Táto generácie je naozaj nielen z hľadiska technického spracovania - generáciou prechodovou, next gen bude až ta - ďalšia. Hovorim vám to ako politický sľub pred voľbami. Písmenok nás čaká veľa, ideme na to.
Rozlíšenie. Iba senilní starci nad hrobom si dnes pamätajú PC hry bežiaci v pixelóznom 320x200 rozlíšeni, 320x240, alebo 320x400, 360x480 v obľúbenom X-móde. Univesa-Univbe lineárny akcelátor, soft driver od Scitechu. Vy deti neviete nič o tom, čo to bolo ho napchať do vyššej pamäte, a obísť 640KB limit základnej pamäte. PSone operovala v podobnom priestore: 320x240 /RR1/, 368x480 /Tekken 3/, 512x480 /Tobal 2/, 640x480i v móde 7 bolo najvyšším podporovaným rozlíšením. Stalo sa štandardným pre PS2, niečo tam bežalo aj v progresívnom 480p móde, výnimky ako GT4 aj v 1080i. Pri PSone aj PS2 sa vyššie rozlíšenia začali použivať až ku konci cyklu, v ruke v ruke s tým, ako rástla schopnosť progišov napísať efektívnejší herný kód.
Nárast rozlíšenia /rastie so štvorcom zmeny, rátame os X a Y/ medzi Psone a PS2 je pri porovnaní počtu pixlov 128K versus 307K. Trojnásobný nárast, v absolútných číslach je rozdiel do 200K pixloch. Teraz príde problém tejto generácie. Štandardné rozlíšenie PS3 hry je 1280x720p - tj. 921K pixelov, čo je opäť trojnásobný nárast oproti PS2, ale v absolútných číslach je rozdiel nie 200K ale 600K+ pixelov. Prepočet pre 1980x1080p je ďaleko dramatickejší - 7 násobný nárast a absolútny rozdiel - 1.800.000 pixelov !! Číslovka milión, bratia. Záver je jasný - nárast hrubého výkonu tejto generácie proporčne nestačí ani štandardnému rozlíšeniu 720p, ak už niekto použije plné 1080p rozlíženie, alebo rôzne sub1080p finty - 1280x1080, 960x1080 /stále viac pixelov ako 720p/ ide o vskutku výnimočné kóderske zázraky.
Táto generácie je navyše "zmrvená" pokročilými renderovacími postupmi, mnou stále opakované MRT /Multiple Render Targets/ schopnosť v jednom draw call prdúskať pixely do rôzných častí pamäti pre rôzne časti grafického soft subsystému. Depth, stencil, view-space normály, specularity, motion vector, albedo, postefekty DOF, MB, bloom, IBL .. ďalšie a ďalšie. Tie virtuálne násobia použité rozlíšenie faktorom 4-10 /plus spotreba pamäte/. Vrcholom je použitie deferred renderingu, ktorý vyžaduje vytvorenie G-Bufferu na pomery konzoly kolosálnych rozmerov : 30-36+ mega.
Nasledujúcim výpočtom vám ukážem čo sa asi vojde do 10 megovej pamäte xcrapu - získate dobrú predstavu o tom, že kompromisy sú neustále - témou dňa: rozlíšenie 1120x585, 2xMSAA, FP10 HDR, 32-bit Z-buffer = 1120x585x2x (32/8 + 32/8) = 10483200/1048576 bajtov = 9.99 mega. Akákoľvek zmena smerom nahor /lepšie AA, lepšie HDR, lepšie rozlíšenie/ sa rovná prekročenie kapacity eDRAM /potrebujete deliť - tiling frejmbufera/ a následne schytáte penalizácie pri spracovaní geometrie. Aj preto tak veľké množstvo aj natívných xcrap hier /HALO, Alan Late/ uteká smerom ku subHD rozlíšenie, alebo úplne vypúšťa antiliasing/HDR. Veľkosť eDRAM je fatálna aj z pohľadu vytvorenia G-bufferu /deferred rendering - de fakto všetky moderné hry/. Je verejným tajomstvom, že tu má PS3 jasne navrch. Naposledy potvrdené v hre BLUR od Bizarre. Ak by podľa dev tímu išli na doraz možnosti ich enginu, xcrap verzia by skončila s papuľou plnou piesku. Spotreba pamäte je kritická aj pre ďalšie kapitoly /AA, zobrazenie tieňov - počet a kvalita/, a to na úkor ich kvality.
Fillrate. Máme teda oproti PS2 svinsky vyššie rozlíšenie /absolútny rozdiel je 600-1800K pixlov/ a množstvo bufferov, ktoré treba naplniť. A fillrate - ten je v tejto generácii smiešne maličký. RSX v PS3ke zodpovedá výkonovo niečomu medzi NV 7600 a 7800. Pričom objektívne minimum bolo už vtedy v 2006 niečo na úrvni NV 8800. CELL v PS3ke by však utiahol hravo aj GTX 480 SLI.
V okamihu, ako som sa dozvedel, že RSX kľakne z 256 bit busu do GDR3 vram na 128 bit /dôvod - možnosť rýchleho znižovania nákladov na výrobu čipu pri prechode na 40nm technológiu/ - tak v tej chvíli som vedel, že dôsledky to bude mať strašné. Došlo totiž aj ku zníženiu ROPs /rasterizačné jednotky/ na 8 z 16 /NV 7800/. Opäť matematika - 8 ROPs krát 500 MHz /RSX/ = fillrate 4000 Mpixels/s, 128-bit bus pri 650 MHz GDDR3 = 22.4 GB/sec bandwidth. Vynechám FLEXIO a 64 bit RSX bus do XDR pamäte /RSX adresu celých 512 mega celej RAM/, nechcem to tu príliš komplikovať. Mimochodom GS GPU v PS2 má konfiguráciu 16 pixel jednotiek krát 150Mhz /GS beží na polovičnej rýchlosti EE/ = 2400 Mpx/sec, všetko na 48gig/sec eDRAM. Ide však o naozaj dve neoporovnateľné architektúry. GPU časť PS2ky však bola proporčne na svoje hry viac róbustnejšia /GT4 nemá ani len náznak framedrops, tearingu bez ohľadu na to, čo sa na scéne deje/.
Tiene a antiliasing. Mimoriadne komplikované téma. V GT5 si o to bude otierať hubu kde kto. Faktom je, že tu výkon PS3 naráža na objektívne príčiny. Tiene ako také sú 30 rokov starou záležitosťou a dodnes sa pracuje na ich rozumnou zvládnutí. To "nerozumné" natvrdo vyžaduje 2 giga vram a fillrate v desiatkach giga-pixloch. Viem, že sa nadáva nízke rozlíšenie shadow máp v GT5ke, ich rozpad vo väčšej vzdialenosti od pozorovateľa, nekvalitné filtrovanie okrajov, nerešpektovanie tvaru geometrie, ktorý ich vrhá. Shimmering artefakty, colour bleeding, spatial aliasing. Tých pojmom s ktorými sa zápasí je veľa.
Podľa mojich rešerší používa GT5 techniku - variance shadow maps s hárdverovým PCF 2x2 filteringom okrajom shadow máp, ktoré určite nie sú väčšie ako 1024x1024 pixlov, skôr 512x512 a menej. Je to dané veľkosťou voľnej pamäte, fillrejtom, priepustnosťou, a hárdverovými limitmi NV GPU architektúry. Pre antiliasing platí to isté v ružovom. MSAA - má opäť v skratke skryté multi-sample .. veľa vzoriek. A opäť sa opakuje lamentovanie, kto to "veľa" vypočíta, vyrenderuje. Viď aj môj starý článok.
MSAA naozaj nerieši všetky problémy, unikátne SPE-MLAA síce šetrí GPU, ale pre zmenu nerieši subpixel aliasing /el. kábel, od ktorého sa vzdiaľujete, alebo tenké tyčky v plote, pletivo/, ktorý rieši práve MSAA. MLAA má pred sebou ešte dlhú cestu. Hybridy typu nízke MSAA 4xAA plus MLAA /aj 16x/ sa už na PC veľmi úspešné skúšajú /nadejný postup pre Playstation 4/. GT5 ešte prejde analýzou, ale zdá sa že v istej fáze používali/používajú hybridné riešenie : MSAA + temporal antiliasing, blending pixlov dvoch/viacerých frejmoch /niekedy však potrebujete ďalší bufer, pamäť ahoj .. bla bla/. Viď aj stará Voodoo 5 a jeho "akumulačné" finty, je to to isté. Áno - GT pre PSP používa temporal antiliasing.
Textúry a alfa mapy. Venovať sa im nebudeme, už ste asi zistili, že ich niet kde vopchať. Teda vo vami vysnívanej úžasnej kvalite. Alfa na PS3ke beži úplne štandardne v 1/4-1/16 rozlišení /preto tie artefakty v GT5, keď sa dym prekrýva s karosériou auta, niet dosť priepustnosti a fillrejtu/. Známa achilovka RSX GPU. Streaming budget pre textúry je pri 60 fps veľmi malý, nezabúdajte, že máte iba 18ms na jeden frejme. To chce aj kvalitný buffer pre textúry, a opäť sme pri "nenafukovacej" pamäti. Tých 512 mega ktoré PS3 má, 8 ROPs, stará RSX - jedno vám poviem. Nekonečne ma serie, že pre xcrap 1 - Nvidia dodala custom verziu Geforce 3 - výkonovo a inštrukčným setom na úrovni Geforce 4 /o 100% zdvihli výkon vertex časti/, pri RSX však nepohli prstom.
RSX je veľmi pomalý rasterizér, ma pomalé aj spracovanie vertexov /geometria/ a malú priepustnosť vertex stage renderingu. Jedna SPE dokáže vychrliť desiatky miliónov polys, ale viac ako 250M ich za sekundu cez RSX neprejde /HW limit/. Preto dnes SPE pracujú skôr na odstraňovaní polýgonov zo scény /slávne EDGE knižnie/ - poznáte to ako culling, HSR /hidden surface removal/ a podobne. Natívna a dobre naprogramovaná PS3 hra paradoxne môže mať na scéne /a aj má/ ďaleko viac polygónov ako to čo zvládne Xenos v xcrape. Je to však práca navyše, a čas sú peniaze a drahší vývoj. Aby som nemárnil vašim časom.
máme okruh s dynamickom zmenou dennej doby a počasia, novú fyziku - tešme sa
GT5 je objektívne - technologický zázrak pri zohľadnení výkonu-možností GPU/mem časti PS3 a pri dosiahnutí cieľa - 60fps v 720p, dokonca s antaliasingom. Osobne som presvedčený, že ak ešte pre PS3 vznikne jedno pokračovanie GT série, mnohé jeho grafické neduhy budú pokročilejšími algoritmami ešte celkom pekne riešiteľné. Pracuje sa na nich, vznikajú doslova denne, a nielen vo veľkých soft gigantoch. A už dnes vidím otázniky v očiach niektorých kóderov, prečo vlastne pri GT5 použili iba - VSM tiene, pri známych problémoch, ktoré táto technika má pri vykresľovaní vo väčšej vzdialenosti od .. auta.
Rozlíšenie. Iba senilní starci nad hrobom si dnes pamätajú PC hry bežiaci v pixelóznom 320x200 rozlíšeni, 320x240, alebo 320x400, 360x480 v obľúbenom X-móde. Univesa-Univbe lineárny akcelátor, soft driver od Scitechu. Vy deti neviete nič o tom, čo to bolo ho napchať do vyššej pamäte, a obísť 640KB limit základnej pamäte. PSone operovala v podobnom priestore: 320x240 /RR1/, 368x480 /Tekken 3/, 512x480 /Tobal 2/, 640x480i v móde 7 bolo najvyšším podporovaným rozlíšením. Stalo sa štandardným pre PS2, niečo tam bežalo aj v progresívnom 480p móde, výnimky ako GT4 aj v 1080i. Pri PSone aj PS2 sa vyššie rozlíšenia začali použivať až ku konci cyklu, v ruke v ruke s tým, ako rástla schopnosť progišov napísať efektívnejší herný kód.
Nárast rozlíšenia /rastie so štvorcom zmeny, rátame os X a Y/ medzi Psone a PS2 je pri porovnaní počtu pixlov 128K versus 307K. Trojnásobný nárast, v absolútných číslach je rozdiel do 200K pixloch. Teraz príde problém tejto generácie. Štandardné rozlíšenie PS3 hry je 1280x720p - tj. 921K pixelov, čo je opäť trojnásobný nárast oproti PS2, ale v absolútných číslach je rozdiel nie 200K ale 600K+ pixelov. Prepočet pre 1980x1080p je ďaleko dramatickejší - 7 násobný nárast a absolútny rozdiel - 1.800.000 pixelov !! Číslovka milión, bratia. Záver je jasný - nárast hrubého výkonu tejto generácie proporčne nestačí ani štandardnému rozlíšeniu 720p, ak už niekto použije plné 1080p rozlíženie, alebo rôzne sub1080p finty - 1280x1080, 960x1080 /stále viac pixelov ako 720p/ ide o vskutku výnimočné kóderske zázraky.
Táto generácie je navyše "zmrvená" pokročilými renderovacími postupmi, mnou stále opakované MRT /Multiple Render Targets/ schopnosť v jednom draw call prdúskať pixely do rôzných častí pamäti pre rôzne časti grafického soft subsystému. Depth, stencil, view-space normály, specularity, motion vector, albedo, postefekty DOF, MB, bloom, IBL .. ďalšie a ďalšie. Tie virtuálne násobia použité rozlíšenie faktorom 4-10 /plus spotreba pamäte/. Vrcholom je použitie deferred renderingu, ktorý vyžaduje vytvorenie G-Bufferu na pomery konzoly kolosálnych rozmerov : 30-36+ mega.
Nasledujúcim výpočtom vám ukážem čo sa asi vojde do 10 megovej pamäte xcrapu - získate dobrú predstavu o tom, že kompromisy sú neustále - témou dňa: rozlíšenie 1120x585, 2xMSAA, FP10 HDR, 32-bit Z-buffer = 1120x585x2x (32/8 + 32/8) = 10483200/1048576 bajtov = 9.99 mega. Akákoľvek zmena smerom nahor /lepšie AA, lepšie HDR, lepšie rozlíšenie/ sa rovná prekročenie kapacity eDRAM /potrebujete deliť - tiling frejmbufera/ a následne schytáte penalizácie pri spracovaní geometrie. Aj preto tak veľké množstvo aj natívných xcrap hier /HALO, Alan Late/ uteká smerom ku subHD rozlíšenie, alebo úplne vypúšťa antiliasing/HDR. Veľkosť eDRAM je fatálna aj z pohľadu vytvorenia G-bufferu /deferred rendering - de fakto všetky moderné hry/. Je verejným tajomstvom, že tu má PS3 jasne navrch. Naposledy potvrdené v hre BLUR od Bizarre. Ak by podľa dev tímu išli na doraz možnosti ich enginu, xcrap verzia by skončila s papuľou plnou piesku. Spotreba pamäte je kritická aj pre ďalšie kapitoly /AA, zobrazenie tieňov - počet a kvalita/, a to na úkor ich kvality.
nielen od 50 sekundy je to žrádlo bohov
Fillrate. Máme teda oproti PS2 svinsky vyššie rozlíšenie /absolútny rozdiel je 600-1800K pixlov/ a množstvo bufferov, ktoré treba naplniť. A fillrate - ten je v tejto generácii smiešne maličký. RSX v PS3ke zodpovedá výkonovo niečomu medzi NV 7600 a 7800. Pričom objektívne minimum bolo už vtedy v 2006 niečo na úrvni NV 8800. CELL v PS3ke by však utiahol hravo aj GTX 480 SLI.
V okamihu, ako som sa dozvedel, že RSX kľakne z 256 bit busu do GDR3 vram na 128 bit /dôvod - možnosť rýchleho znižovania nákladov na výrobu čipu pri prechode na 40nm technológiu/ - tak v tej chvíli som vedel, že dôsledky to bude mať strašné. Došlo totiž aj ku zníženiu ROPs /rasterizačné jednotky/ na 8 z 16 /NV 7800/. Opäť matematika - 8 ROPs krát 500 MHz /RSX/ = fillrate 4000 Mpixels/s, 128-bit bus pri 650 MHz GDDR3 = 22.4 GB/sec bandwidth. Vynechám FLEXIO a 64 bit RSX bus do XDR pamäte /RSX adresu celých 512 mega celej RAM/, nechcem to tu príliš komplikovať. Mimochodom GS GPU v PS2 má konfiguráciu 16 pixel jednotiek krát 150Mhz /GS beží na polovičnej rýchlosti EE/ = 2400 Mpx/sec, všetko na 48gig/sec eDRAM. Ide však o naozaj dve neoporovnateľné architektúry. GPU časť PS2ky však bola proporčne na svoje hry viac róbustnejšia /GT4 nemá ani len náznak framedrops, tearingu bez ohľadu na to, čo sa na scéne deje/.
Tiene a antiliasing. Mimoriadne komplikované téma. V GT5 si o to bude otierať hubu kde kto. Faktom je, že tu výkon PS3 naráža na objektívne príčiny. Tiene ako také sú 30 rokov starou záležitosťou a dodnes sa pracuje na ich rozumnou zvládnutí. To "nerozumné" natvrdo vyžaduje 2 giga vram a fillrate v desiatkach giga-pixloch. Viem, že sa nadáva nízke rozlíšenie shadow máp v GT5ke, ich rozpad vo väčšej vzdialenosti od pozorovateľa, nekvalitné filtrovanie okrajov, nerešpektovanie tvaru geometrie, ktorý ich vrhá. Shimmering artefakty, colour bleeding, spatial aliasing. Tých pojmom s ktorými sa zápasí je veľa.
Podľa mojich rešerší používa GT5 techniku - variance shadow maps s hárdverovým PCF 2x2 filteringom okrajom shadow máp, ktoré určite nie sú väčšie ako 1024x1024 pixlov, skôr 512x512 a menej. Je to dané veľkosťou voľnej pamäte, fillrejtom, priepustnosťou, a hárdverovými limitmi NV GPU architektúry. Pre antiliasing platí to isté v ružovom. MSAA - má opäť v skratke skryté multi-sample .. veľa vzoriek. A opäť sa opakuje lamentovanie, kto to "veľa" vypočíta, vyrenderuje. Viď aj môj starý článok.
MSAA naozaj nerieši všetky problémy, unikátne SPE-MLAA síce šetrí GPU, ale pre zmenu nerieši subpixel aliasing /el. kábel, od ktorého sa vzdiaľujete, alebo tenké tyčky v plote, pletivo/, ktorý rieši práve MSAA. MLAA má pred sebou ešte dlhú cestu. Hybridy typu nízke MSAA 4xAA plus MLAA /aj 16x/ sa už na PC veľmi úspešné skúšajú /nadejný postup pre Playstation 4/. GT5 ešte prejde analýzou, ale zdá sa že v istej fáze používali/používajú hybridné riešenie : MSAA + temporal antiliasing, blending pixlov dvoch/viacerých frejmoch /niekedy však potrebujete ďalší bufer, pamäť ahoj .. bla bla/. Viď aj stará Voodoo 5 a jeho "akumulačné" finty, je to to isté. Áno - GT pre PSP používa temporal antiliasing.
Textúry a alfa mapy. Venovať sa im nebudeme, už ste asi zistili, že ich niet kde vopchať. Teda vo vami vysnívanej úžasnej kvalite. Alfa na PS3ke beži úplne štandardne v 1/4-1/16 rozlišení /preto tie artefakty v GT5, keď sa dym prekrýva s karosériou auta, niet dosť priepustnosti a fillrejtu/. Známa achilovka RSX GPU. Streaming budget pre textúry je pri 60 fps veľmi malý, nezabúdajte, že máte iba 18ms na jeden frejme. To chce aj kvalitný buffer pre textúry, a opäť sme pri "nenafukovacej" pamäti. Tých 512 mega ktoré PS3 má, 8 ROPs, stará RSX - jedno vám poviem. Nekonečne ma serie, že pre xcrap 1 - Nvidia dodala custom verziu Geforce 3 - výkonovo a inštrukčným setom na úrovni Geforce 4 /o 100% zdvihli výkon vertex časti/, pri RSX však nepohli prstom.
RSX je veľmi pomalý rasterizér, ma pomalé aj spracovanie vertexov /geometria/ a malú priepustnosť vertex stage renderingu. Jedna SPE dokáže vychrliť desiatky miliónov polys, ale viac ako 250M ich za sekundu cez RSX neprejde /HW limit/. Preto dnes SPE pracujú skôr na odstraňovaní polýgonov zo scény /slávne EDGE knižnie/ - poznáte to ako culling, HSR /hidden surface removal/ a podobne. Natívna a dobre naprogramovaná PS3 hra paradoxne môže mať na scéne /a aj má/ ďaleko viac polygónov ako to čo zvládne Xenos v xcrape. Je to však práca navyše, a čas sú peniaze a drahší vývoj. Aby som nemárnil vašim časom.
máme okruh s dynamickom zmenou dennej doby a počasia, novú fyziku - tešme sa
GT5 je objektívne - technologický zázrak pri zohľadnení výkonu-možností GPU/mem časti PS3 a pri dosiahnutí cieľa - 60fps v 720p, dokonca s antaliasingom. Osobne som presvedčený, že ak ešte pre PS3 vznikne jedno pokračovanie GT série, mnohé jeho grafické neduhy budú pokročilejšími algoritmami ešte celkom pekne riešiteľné. Pracuje sa na nich, vznikajú doslova denne, a nielen vo veľkých soft gigantoch. A už dnes vidím otázniky v očiach niektorých kóderov, prečo vlastne pri GT5 použili iba - VSM tiene, pri známych problémoch, ktoré táto technika má pri vykresľovaní vo väčšej vzdialenosti od .. auta.
15/11/10
Star fox 2 - project terminated
Obrovské sklamanie, more slaných sĺz a roztrhaných tričiek s logom nintenda. Hru Star Fox 2 obklopovalo masívne hype /časáky EDGE, EGM/, a veľké očakávania. Vývoj sa začal niekedy v roku 1993 a hra bola po prvýkrát ukázaná na zimnej Consumer Electronics Show v Las Vegas - 1995. Následne po mnohých taktických plkoch a sľuboch definitívne zrušená. Trochu predbehnem udalosti, hra je to objektívne veľmi dobrá a s ľahkostou by sa dnes umiestňovala v TOP 20 best of SNES games. Čo k tomu zásadnému kroku nintendo vlastne viedlo ? Odpoveď to je jednoduchá a ľahko pochopiteľná. Na trhu tu už pár mesiacov bola čerstvá a veľmi výkonná konkurencia v podobe Sega Saturn a Playstation 1. Nintendo teda zareagovalo následovne - na konci roku 1995 predstavilo prototyp N64 /začiatok predaja bol však až v priebehu roku 1996/, a zaroveň, aby jej trhový podiel na trhu nepadal ku dnu ako ponorka plná vody - obštastnili nás bazmek Virtual Gameboyom. Jedno s druhým. Starfox 2 bolo pasé a nintendo ho po kanibalizácii jeho herných mechanizmov a nápadov využilo ako jednu z vlajkových hier pre N64 - Starfox 64, ale až v roku 1997 !! Šachy porovnateľné s mánevrom, ako keby Polyphony Digotal stoplo GT5 a vypustilo ju až v roku 2013 pre PS4.
Zhruba v týchto týždňoch teda oslavujeme nedožité 15 výročie nevypustenia hry Star Fox 2 pre SNES s využitím supevýkonného SFX-2 čipu /ARC - argonaut risc core/. Potvrdené - hra totiž skutočne existovala v plne funkčnej, dokonca čiastočne lokalizovanej podobe, len začať lisovať kartridže. Našiel sa však jeden japonský dobrák, ktorý z nintendo maštale v roku 1999 vyniesol japonský alfa build /hnusný bugfest/. Ďalšie pátranie prinieslo ovocie v podobe finálnej beta verzie a to v roku 2002. Inak "iba" ďalší leak, dokonca umyselný od dev tímu. Doslova chceli, aby sa hra rozbehala aspoň pod emuláciou. Známa "firma" AEON GENESIS TRANSLATION PROCLAMATION mákla na preklade do angličtiny, vyčistil sa kód, opravovali chyby. Dnes je možné si ju zahrať v plnej paráde /dokonca aj na originálnej SNES/. Ide o jeden z najväčších hrdinských činov homebrew scény !!
Star Fox 2 po každej stránke masívne vylepšuje prvý diel /baječné "nahovorenie" ostalo, viď prepis dabingu vyššie/. A dokonca aj trochu mení žáner v ktorom jednotka poletovala. Framerate je ďaleko stabilnejší, pribudol zameriavaci kríž, a už viac nejde len o lineárnu strieľačku, ale o viacmenej akčnú RTS s vami ako s hlavným pešiakom. To sú tri hlavné zmeny vyžobrané hráčmi. Hra teda beží v kvázi reálnom čase, keď opičiak Andross /hlavný záporák známy už z prvého dielu/ posiela skrze galaxiu svoju armádu, ktorej cieľom je deštrukcia vašej rodnej plánety Corneria a vlastne celého solárneho systému Lylat s ňou. Stupeň "poškodenia" Cornerie, postup nepriateľských jednotiek, poloha ich krížnikov, okupované plánety /obsadená planéta je prameň z ktorého tryskajú nepriateľské super rakety/ - všetko máte prehľadne usporiadané na hlavnej word mape, kde zároveň posúvaním vlastnej raketky Arwing, určujete smer ďalšieho svojho útoku. Ten už potom z pohľadu prvej alebo tretej osoby vyriešite ku všeobecnej spokojnosti občanov zo Zoo - vy ako hráč.
Hra ma tri stupne obtiažnosti. Nejde však len o banálne zvýšenie počtu enemákov na meter štvorcový. Zásadne sa mení komplexnosť celej hry. Počet planét, ktoré musíte ochrániť, a získať späť. Množstvo krížnikov, ktoré musíte zničiť. Oveľa zapeklitejší design sub-levelov /dovnútra nepriateľských lodí sá da vletieť, dtto pozemné základne, niekedy však musíte splniť istú úlohu, čo závisí aj od zvolenej obtiažnosti/. Plus príbudnú aj zákerní bossovia. Zásadným novým herným vylepšením je schopnosť vašej stíhačky sa premeniť sa za letu na váš pokyn v blízkosti temných tunelov a matičky zeme na pochodujúceho mecha. Design levelov umožnuje a niekedy aj vyžaduje zmenu konfigurácie Arwingu. Svoj herný štýl si môžte zmeniť aj voľbou avatara. Žabák Slippy a smutný pes Peppy sú odolné korytnačky, sú však aj rovnako rýchle, a majú pomalšie nabíjanie megapráskového hlavného kanónu stíhačky. Herné prostredia sú pestrejšie ako v jednotke, pozadia krajšie, počet objektov vyšší, niekde pribudli aj textúry, zaplávate si dokonca pod vodou a zasexujete s chápadlami gigantického oktopusa. Hra dokonca v istej fáze hry podporovala MP versus režim aj so splitsreenom.
Replayabilita je vysoká, čo je dané nelineárnym priebehom akcie. Celá vaša herná činnosť sa boduje, hodnotí, merá. Použite BSNES emulátor stiahnite si túto romku, stačí hodiť celý zip na bsnes.exe súbor emulátora. Hra sa automaticky spustí. Podotýkam - je žiadúce mať aspoň single core PC CPU na 2Ghz. Aj teraz som v hre zkysol na celú hodinu, a to som len chcel oživiť herné spomienky /dogfighty v kozme majú frenetický rytmus, a masívne výbuchy, heh/. Hra má aj početné pekné animačky v engine hry a ja som fetišista na flat shaded polygóny.
Zohnal som vám aj toto photo. Unikátny pohľad na SFX2 Development System. Dev kit pre vývoj hry Star fox 2. Mimochodom tá krpatá dcérska doska na ľavom konci je vlastne matičná doska celého SNESu natlačená na priestor o rozmeroch 7.5 x 7.5 cm. Priemer bežného CD je 12cm. Kde je hádvér je aj bastlér a marshallh z benheck.com dokázal pretaktovať SFX2 čip pôvodne bežiaci na famóznych 21 Mhz po výmene oscilátora a ďalších úpravách na závratných 24Mhz. Klasické SNES CPU beží 3.58Mhz. A som povinný tu dať ešte video klona Star Fox 1 pre Amigu /hra Guardian/, lebo viem, že skôr či neskôr by sa nejaký zaprdený amigista s výčitkou ozval.
v roku 1995 boli podobné obrázky - niečo ako náblýskané ferrari v GT5
Zhruba v týchto týždňoch teda oslavujeme nedožité 15 výročie nevypustenia hry Star Fox 2 pre SNES s využitím supevýkonného SFX-2 čipu /ARC - argonaut risc core/. Potvrdené - hra totiž skutočne existovala v plne funkčnej, dokonca čiastočne lokalizovanej podobe, len začať lisovať kartridže. Našiel sa však jeden japonský dobrák, ktorý z nintendo maštale v roku 1999 vyniesol japonský alfa build /hnusný bugfest/. Ďalšie pátranie prinieslo ovocie v podobe finálnej beta verzie a to v roku 2002. Inak "iba" ďalší leak, dokonca umyselný od dev tímu. Doslova chceli, aby sa hra rozbehala aspoň pod emuláciou. Známa "firma" AEON GENESIS TRANSLATION PROCLAMATION mákla na preklade do angličtiny, vyčistil sa kód, opravovali chyby. Dnes je možné si ju zahrať v plnej paráde /dokonca aj na originálnej SNES/. Ide o jeden z najväčších hrdinských činov homebrew scény !!
Slippy: "Gibbi-gibbit, Gibbi-Gibbid!"
Peppy: "Wing-eng-ingg, Eng-wing-eng!"
Falco: "Dubba-Bub Behbin!"
Fox: "Deh-dedda-deh, Deh-Deb!"
General Pepper: "Good Luck!"
Peppy: "Wing-eng-ingg, Eng-wing-eng!"
Falco: "Dubba-Bub Behbin!"
Fox: "Deh-dedda-deh, Deh-Deb!"
General Pepper: "Good Luck!"
Star Fox 2 po každej stránke masívne vylepšuje prvý diel /baječné "nahovorenie" ostalo, viď prepis dabingu vyššie/. A dokonca aj trochu mení žáner v ktorom jednotka poletovala. Framerate je ďaleko stabilnejší, pribudol zameriavaci kríž, a už viac nejde len o lineárnu strieľačku, ale o viacmenej akčnú RTS s vami ako s hlavným pešiakom. To sú tri hlavné zmeny vyžobrané hráčmi. Hra teda beží v kvázi reálnom čase, keď opičiak Andross /hlavný záporák známy už z prvého dielu/ posiela skrze galaxiu svoju armádu, ktorej cieľom je deštrukcia vašej rodnej plánety Corneria a vlastne celého solárneho systému Lylat s ňou. Stupeň "poškodenia" Cornerie, postup nepriateľských jednotiek, poloha ich krížnikov, okupované plánety /obsadená planéta je prameň z ktorého tryskajú nepriateľské super rakety/ - všetko máte prehľadne usporiadané na hlavnej word mape, kde zároveň posúvaním vlastnej raketky Arwing, určujete smer ďalšieho svojho útoku. Ten už potom z pohľadu prvej alebo tretej osoby vyriešite ku všeobecnej spokojnosti občanov zo Zoo - vy ako hráč.
Hra ma tri stupne obtiažnosti. Nejde však len o banálne zvýšenie počtu enemákov na meter štvorcový. Zásadne sa mení komplexnosť celej hry. Počet planét, ktoré musíte ochrániť, a získať späť. Množstvo krížnikov, ktoré musíte zničiť. Oveľa zapeklitejší design sub-levelov /dovnútra nepriateľských lodí sá da vletieť, dtto pozemné základne, niekedy však musíte splniť istú úlohu, čo závisí aj od zvolenej obtiažnosti/. Plus príbudnú aj zákerní bossovia. Zásadným novým herným vylepšením je schopnosť vašej stíhačky sa premeniť sa za letu na váš pokyn v blízkosti temných tunelov a matičky zeme na pochodujúceho mecha. Design levelov umožnuje a niekedy aj vyžaduje zmenu konfigurácie Arwingu. Svoj herný štýl si môžte zmeniť aj voľbou avatara. Žabák Slippy a smutný pes Peppy sú odolné korytnačky, sú však aj rovnako rýchle, a majú pomalšie nabíjanie megapráskového hlavného kanónu stíhačky. Herné prostredia sú pestrejšie ako v jednotke, pozadia krajšie, počet objektov vyšší, niekde pribudli aj textúry, zaplávate si dokonca pod vodou a zasexujete s chápadlami gigantického oktopusa. Hra dokonca v istej fáze hry podporovala MP versus režim aj so splitsreenom.
Replayabilita je vysoká, čo je dané nelineárnym priebehom akcie. Celá vaša herná činnosť sa boduje, hodnotí, merá. Použite BSNES emulátor stiahnite si túto romku, stačí hodiť celý zip na bsnes.exe súbor emulátora. Hra sa automaticky spustí. Podotýkam - je žiadúce mať aspoň single core PC CPU na 2Ghz. Aj teraz som v hre zkysol na celú hodinu, a to som len chcel oživiť herné spomienky /dogfighty v kozme majú frenetický rytmus, a masívne výbuchy, heh/. Hra má aj početné pekné animačky v engine hry a ja som fetišista na flat shaded polygóny.
Zohnal som vám aj toto photo. Unikátny pohľad na SFX2 Development System. Dev kit pre vývoj hry Star fox 2. Mimochodom tá krpatá dcérska doska na ľavom konci je vlastne matičná doska celého SNESu natlačená na priestor o rozmeroch 7.5 x 7.5 cm. Priemer bežného CD je 12cm. Kde je hádvér je aj bastlér a marshallh z benheck.com dokázal pretaktovať SFX2 čip pôvodne bežiaci na famóznych 21 Mhz po výmene oscilátora a ďalších úpravách na závratných 24Mhz. Klasické SNES CPU beží 3.58Mhz. A som povinný tu dať ešte video klona Star Fox 1 pre Amigu /hra Guardian/, lebo viem, že skôr či neskôr by sa nejaký zaprdený amigista s výčitkou ozval.
06/11/10
Unavená stará piksľa
"Presne toho som sa obával. Prekliate plechovky prežraté hrdzou v GT5ke. Prečo do pekla by som chcel v hre šoférovať niečo podobné. Osobne nevidím žiaden dôvod mať v GT5 tak staré a zbytočné autá ? Prečo tam je tá VW dodávka, keď tam mohli dať kopu iných áut, s ktorými jazdiť je oveľa zábavnejšie ? Pre lásku božiu, aký to má vlastne dôvod." - výkrik do tmy z gtplanet.net
nepotrebné GT káry ??
Poukážem na jeden zásadný problem, ktorý mám s dnešnými hrami. Predstavte si hypotetický arkáde racing s MP podporou, vhodný na rýchle sa odreagovanie po práci. Po technickej stránke umelecké dielo, absolútna špička svojej triedy. Nádherná grafika, husté-komplexné scény, bujaré efekty, ohne-svetlá-výbuchy, funkčné svetlomety, obrovský priestor, dokonca 3D podpora a monštruózne skript deštrukcie celých úsekov trate /zemetrasenie, padajúce mrakodrapy, zosuv pôdy/. Masívny výber z až 12 rôznych typov vehiklov - od harleya cez mustang V8 po miešačku na betón. Všetky detailne kustomizovateľné. Kopa tratí, dynamická zmena designu trate počas preteku, editor herných módov, filmová výprava. Prítomná je aj veľmi žiadaná splitscreen funkcia až pre štyroch hráčov naraz, pričom tí sa môžu zapojiť to MP s ďalšími dvanástimi. Unikátne. Neuveriteľné. Už chýba len bandaska s benzínom pribaľovaná ku každej kópii hry. Už tu proste niet, čo viac vymyslieť. Samozrejme po celý čas hovorím o PS3 only projekte - MotorStorm®: Apocalypse.
Dev tím sa pred časom kolektívne a súdružsky posťažoval, že popularita arkáde racing žánru dnes nie je ani zďaleka tam, kde bola v časoch hier Outrun, Daytona, Ridge Racera, alebo Lotus Esprit. Rozumej - je ťažké na autíčkach dobre zarobiť. A to napriek dnešnému načinčanému vizuálu. Dokonca aj pri pohľade na objektívne možnosťami ABSURDNE natrieskaný Motorstorm: Apocalypse, nevie skryť v hlase trasľavý podtón neistoty. Mimochodom ja tiež, len bez tej huspeniny. Odpoveď prečo je tomu tak, je pritom banálne jednoduchá. Ako deti na sídlisku sme si stavali testosteronové stroje v štýle - doska, klinec, doska a kolesá z kočíka. Predná náprava bola riaditeľná, otáčala sa o okolo centrálneho slip diferenciálu, kecám. Len ďalší klinec - "stovka". A v telke na druhom kanály z dvoch socialistických sme čumeli na báječné pretekárske buginy v prachu. Tuším sa to išlo furt v nedeľu, aby chlapi sedeli doma a nebehali po kostoloch.
"Lacnejší" príklad. Cítite tu váhu, zotrvačnosť, hybnosť, prenos hmotnosti, pretáčanie kolies. Sú to hnusné, prašive, hrdzavé - 20 rokov a viac staré plechovky so 40 koňmi, bez kompresie s dodrbanou geometriou. A predsa už pri prvom pohľade na video ide o rád väčšiu srandu, ako celý bombastický Motostorm. A to je ten základný problem dnešných hier, dôkladne serú na základné fundamenty zábavy a hrateľnosti. Zdravý základ, dnes povinne podložený kvalitnou jazdnou fyzikou. Interakciou medzi autom-podvozkom a terénom. Autom a autom. Skúste sa v Motorstorme pri veĺmi nízkej rýchlosti takto zabávať, ako ti cigoši na žiguli v tomto videu. Prd sa budete baviť. A hovno sa vyleštiť ako vieme nedá. Takže ku tej WV dodávke zo začiatku článku.
Na skutočnom okruhu, so skutočnými 16 VW autami na trati, by som vás nevedel dostať z asfaltu, taká by to bola ukrutná zábava a sranda. Dusili by ste z tých šmejdov každého koňa, na rovinka opretý plech na plech, v zátačkach by ste sa snažili toho druhého dostať do hodín. Ak to hra nevie nasimulovať, a nefunguje tu fyzika "nízkych rýchlosti", tie správne prenosy energie. Baviť vás to nebude. Autá v poslednom NFS mi pripomínaju skôr nejaké nepodarené drevené hračky s ktorými uslintané decko šmýka po koberci. Dokáže si niekto z vás predstaviť - nudnú jazdu hoc aj po meste na "50ke" v Porsche GT3 ?! Posledné NFS to "simuluje" úplne bez problémov. Každý z vás, koho by som povozil natvrdo v shelbine by sa od strachu a stresu posral, testom zatiaľ neprešiel nikto. Ta istá akcia nás v dnešnej hre, bez ohľadu na gigantický výkon v porovnaní s ZX spectrum - nekonečne nás to nudí, dobre predaje potom nemáme, riskovať radšej nikto nebude, narecykluje sa ďalší bazmek s vysokým poradovým čislom - NFS 18, DIRT 99. Vytlačime z toho nejaký ten milión, bude na lacnú kurvu a no-name šampus.
Identický myšlienkový postup sa da aplikovať na ľubovoľný herný žáner. RPG - idiot čo vygumovane syslí EXP, leveluje a mrdá sa 20 minút z každej hodiny s inventárom. Nemenovaný FPS mulťák - kde som nôž, alebo 9mm magnum použil 5 krát za posledné štyri rok, lebo prístup autorov k "Wow simulácii" a zdravej efektivite-pôžitku z ich použitia /aj na statické a neživé okolie/ pri týchto "zbytočnostiach do počtu" je tak strašne laxný a povrchný. Asi by ma oblial studený pot, keby som sa v Motorstorme hrabal so spálenou spojkou zo záveja, čo už dnes vieme hravo technicky "urobiť", ale neurobíme to. Kriste pane hry nám majú umožniť zábavne prežiť to, čo v reálnom svete nie je z milión príčin uskutočniteľné. V roku 2010 tu však stále prežívajú herné mechanizmy /dnes už nudné/ bez kvalitatívneho posunu ešte z čas 16 bit strojčekov. Motorstorm: Apocalypse mi nepripadá herne o svetelný rok zaujímavejší ako Crash Team Racing pre PSone. Nepredajú z neho tri milióny kópii za prvý týždeň. A opäť si môžu lámať hlavu nad tým čo robia zle. Odporúčam ubrať jednu stovku výbuchov a naopak pridať radosť zo šoférovania off-road auta v drsnom terene.
31/10/10
Super NES - super emulátor
SNES - Super Nintendo Entertainment System /o pár dní oslávi 20 výročie, v japonsku štart november-listopad 1990/ je poslednou hárdverovo kvalitnou konzolou od nintenda. Na trhu bolo v tých zlatých časoch, keď ešte boli ochotný a schopný vyrobiť, alebo zabezpečiť pre ňu aj dostatok kvalitného softu. V našich zemepisných šírkach jej bezproblémovo herne sekundovala warez Amiga 500-1200, takže drahé kártridže SNESu nikomu nechýbali a herne na tom bola Amiga aj tak rovnako, alebo lepšie /adventúry, stratégie, simulácie/. Dôvod prečo som teda vlastne hľadal spôsob, ako sa ku možnosti na SNESe niečo zahrať bola práve slávna FF7 pre PSone /1997/ a konkrétne hlad po prejdení jej predchádzajúcich dielov. Bohužial exkluzívne iba pre 16 bit SNES. Mraky nad mojou hlavou sa však roztrhli v okamihu, ako mi doma pristálo Pentium 100 /pretaktované na 133Mhz/ a dnes kultoví kodéri zsKnight a _Demo_ vypustili svoj úžasný emulátor SNES mašiny - ZSNES.
ZSNES. Prvá funkčná verzia napísaná pre všetky svoje výkonnostne kritické časti v čistom ručne ladenom x86 asembleri /neskôr sa ukázalo, že porty na RISC stroje sú týmto krokom značne problematické/. Štart 14.10.1997 a to pre starý MS-DOS. ZSNES sa na mojom "133" Pentiu bežal, pri istých kompromisoch pri spracovaní zvuku, pre JRPG hry na akceptovateľných 15-30fps. Upgrejdom na AMD K6-2 300Mhz sa situácia vyriešila úplne a bolo možné sa pustiť aj do hier, ktoré použivali dodatočne čipy pre akceleráciu 3D grafiky alebo dekompresiu dát v reálnom čase, aby sa toho na kartridž napchalo čo najviac. ZSNES je po odchode jeho dvoch hlavných kóderov vylepšovaný už len sporadicky, a posledná známa verzia 1.51 je viac ako tri roky stará /z januára-leden 2007/. Čas pozrieť sa na konkurenciu.
SNES9x. Paralelne a v rovnakom čase bežiaci vývoj prevažne C++ emulátora /až na ASM emuláciu CPU jadra/. Raz mal niečo lepšie ZSNES /ako prvý emuloval DSP, SA-1, S-DD1 čipy/, potom SNES9x a konkurenčný boj takto trval celé roky. Posledná verzia SNES9x 1.52 pochádza zo začiatku tohto roku. Prináša radikálne prepracovaný audio engine /konečne zneje FF6 korektne !!/, nový interfejs, nový quick save file systém a masívne vylepšenú podporu pre dodatočné akceleračné a pomocné koprocesory. Kvôli presnosti emulácie sa dvihli sa aj nároky na systém. SNES9x je dnes jasnou voľbou pre hranie SNES hier pod WinOS. ZSNES ostáva ako záloha pre staré vykopávky triedy Pentium, MMX, PIIka. Ak si však myslíte, že tu už niet veľa čo vymyslieť a emulácie SNESu je vlastne ukončená, ste na omyle.
BSNES. Ultimatívne riešenie hlavne pre budúce platformy vzdialene hoc aj 10 rokov /výkonné mobily, handheldy, konzoly, PC/. Najnovší projekt bežiaci od roku 2004, neustále updejtovaný projekt. Ide o vrcholné dielko, kde je softvérová low-level emulácia hárdvéru SNESu /dokonca aj Super Gameboya/ na prvom mieste, bez ohľadu na hárdverové nároky /sú v porovnaní so ZSNES - značné/. Reverzné inžinierstvo. Skutočné pochopenie práce CPU - SPC7110, audio CPU SPC700, 3D akcelerátora SuperFX na pixel a cyklus presne. Nekompromisne. Žiadne hacky, speedUPs, pre hru špecifické odrbávky, ktorými sú všetky emulátory priam zamorené. V súčasnosti je možné používať tri režimy presnosti emulácie: Accuracy, Compatibility, Performance. Aj ten najmenej presný je podľa autora stále lepší ako hore uvedená konkurencia. Mód Accuracy navyše používa revolučnú technológiu Dot-based rendering. Narozdiel od klasickej scanline metódy, sa fyzicky vykresľuje naraz nie celý raster riadok/čiara, ale každý pixel framebufferu samostatne. Má to zaujímavé herné výsledky. Napríklad v hre Air Strike Patrol, perfektne funkčnej v každom emulátore sa zrazu pod lietadlom objavil jeho tieň, značne uľahčujúci určenie polohy lietadlo voči zemi a nasledne aj načasovanie zhodenia bomby. Dot-based rendering je schopný aj počas vykresľovania riadku v jeho strede /mid-scanline raster effects/ zapísať novú informáciu, ktorú tam počas IRQ prerušenia zapísalo SNES GPU. Klasický emulátor do celého scanline riadku zapísal uniformnú informácie o jase a "nevšimol" si jeho zmenu /de fakto transparency efekt/ a tieň proste zmizol !!
Iný príklad - hra Battle Blaze intro efekt s "ohňom". Statické obrázky vyzerajú vcelku zhodne. ZNES však obrazom "nevlní", SNES9x tam má meter grafických scanline glitchov a jedine BSNES prechádza testom vďaka Dot-based renderingu bez ztraty cti. A aby toho nebolo dosť. Je schopný manipuláciou pamäťového adresovania /čip MSU-1/ a vlastným debugerom vytvorenie SNES hry s 4GB kártridžom /bežné SNES hry boli 2-4-6 megové vecičky/. Je teda možné spojiť špičkové SNES JRPG - Chronotrigger s kreslenými FMV animačkami z jeho PSone verzie, čo sa už aj vo virtuálnej podobe naozaj stalo. A poslednou záležitosť na ktorej autor pracuje je SNES Preservation Project. Nič iné ako na bit presná záchrana každej vydanej SNES hry vrátane skenu obalu, manuálu, alebo obrázku PCB matičnej dosky hry. Raz až o 15 rokov na svojom mobile s pol-terabajtovou flashkou nebude mať čo robiť, si môžte stiahnuť jeden veľký SNES archív, kde okrem poslednej verzie BSNES bude aj celý herný "život" tejto kultovej hernej platformy.
Teraz teda /lepšie večer - lepšia atmosféra/ urobíte nasledovné. Stiahnete si emulátor SNES9x v1.52 /napríklad win32.fix4/. Spustite ho. Ak nehavaruje, opäť program ukončite. Sám si zatiaľ vytvorí folder ROMS, SAVES atakďalej. Do ROMS si uložte FF3 /FF6 bola v amerike vydaná ako FF3/. Opäť spustite emuláciu, v display-settings potvrďte FULL SCREEN možnosť, nahrajte FF3 romku, ESCAPE zapína/vypína hornú pomocnú lištu. Podobný postup s BSNES v070 /pomocná lišta - stlač TAB/. A hrajte JRPG ďaleko lepšie ako FF10-12-13 dokopy. Budete ohromený hĺbkou, hudbou, emóciami, postavami, dĺžkou, a interaktívnou scénkou s kompletným operným predstavením v divadle.
ZSNES. Prvá funkčná verzia napísaná pre všetky svoje výkonnostne kritické časti v čistom ručne ladenom x86 asembleri /neskôr sa ukázalo, že porty na RISC stroje sú týmto krokom značne problematické/. Štart 14.10.1997 a to pre starý MS-DOS. ZSNES sa na mojom "133" Pentiu bežal, pri istých kompromisoch pri spracovaní zvuku, pre JRPG hry na akceptovateľných 15-30fps. Upgrejdom na AMD K6-2 300Mhz sa situácia vyriešila úplne a bolo možné sa pustiť aj do hier, ktoré použivali dodatočne čipy pre akceleráciu 3D grafiky alebo dekompresiu dát v reálnom čase, aby sa toho na kartridž napchalo čo najviac. ZSNES je po odchode jeho dvoch hlavných kóderov vylepšovaný už len sporadicky, a posledná známa verzia 1.51 je viac ako tri roky stará /z januára-leden 2007/. Čas pozrieť sa na konkurenciu.
SNES9x. Paralelne a v rovnakom čase bežiaci vývoj prevažne C++ emulátora /až na ASM emuláciu CPU jadra/. Raz mal niečo lepšie ZSNES /ako prvý emuloval DSP, SA-1, S-DD1 čipy/, potom SNES9x a konkurenčný boj takto trval celé roky. Posledná verzia SNES9x 1.52 pochádza zo začiatku tohto roku. Prináša radikálne prepracovaný audio engine /konečne zneje FF6 korektne !!/, nový interfejs, nový quick save file systém a masívne vylepšenú podporu pre dodatočné akceleračné a pomocné koprocesory. Kvôli presnosti emulácie sa dvihli sa aj nároky na systém. SNES9x je dnes jasnou voľbou pre hranie SNES hier pod WinOS. ZSNES ostáva ako záloha pre staré vykopávky triedy Pentium, MMX, PIIka. Ak si však myslíte, že tu už niet veľa čo vymyslieť a emulácie SNESu je vlastne ukončená, ste na omyle.
BSNES. Ultimatívne riešenie hlavne pre budúce platformy vzdialene hoc aj 10 rokov /výkonné mobily, handheldy, konzoly, PC/. Najnovší projekt bežiaci od roku 2004, neustále updejtovaný projekt. Ide o vrcholné dielko, kde je softvérová low-level emulácia hárdvéru SNESu /dokonca aj Super Gameboya/ na prvom mieste, bez ohľadu na hárdverové nároky /sú v porovnaní so ZSNES - značné/. Reverzné inžinierstvo. Skutočné pochopenie práce CPU - SPC7110, audio CPU SPC700, 3D akcelerátora SuperFX na pixel a cyklus presne. Nekompromisne. Žiadne hacky, speedUPs, pre hru špecifické odrbávky, ktorými sú všetky emulátory priam zamorené. V súčasnosti je možné používať tri režimy presnosti emulácie: Accuracy, Compatibility, Performance. Aj ten najmenej presný je podľa autora stále lepší ako hore uvedená konkurencia. Mód Accuracy navyše používa revolučnú technológiu Dot-based rendering. Narozdiel od klasickej scanline metódy, sa fyzicky vykresľuje naraz nie celý raster riadok/čiara, ale každý pixel framebufferu samostatne. Má to zaujímavé herné výsledky. Napríklad v hre Air Strike Patrol, perfektne funkčnej v každom emulátore sa zrazu pod lietadlom objavil jeho tieň, značne uľahčujúci určenie polohy lietadlo voči zemi a nasledne aj načasovanie zhodenia bomby. Dot-based rendering je schopný aj počas vykresľovania riadku v jeho strede /mid-scanline raster effects/ zapísať novú informáciu, ktorú tam počas IRQ prerušenia zapísalo SNES GPU. Klasický emulátor do celého scanline riadku zapísal uniformnú informácie o jase a "nevšimol" si jeho zmenu /de fakto transparency efekt/ a tieň proste zmizol !!
Battle Blaze - ZSNES, SNES9x, BSNES
Iný príklad - hra Battle Blaze intro efekt s "ohňom". Statické obrázky vyzerajú vcelku zhodne. ZNES však obrazom "nevlní", SNES9x tam má meter grafických scanline glitchov a jedine BSNES prechádza testom vďaka Dot-based renderingu bez ztraty cti. A aby toho nebolo dosť. Je schopný manipuláciou pamäťového adresovania /čip MSU-1/ a vlastným debugerom vytvorenie SNES hry s 4GB kártridžom /bežné SNES hry boli 2-4-6 megové vecičky/. Je teda možné spojiť špičkové SNES JRPG - Chronotrigger s kreslenými FMV animačkami z jeho PSone verzie, čo sa už aj vo virtuálnej podobe naozaj stalo. A poslednou záležitosť na ktorej autor pracuje je SNES Preservation Project. Nič iné ako na bit presná záchrana každej vydanej SNES hry vrátane skenu obalu, manuálu, alebo obrázku PCB matičnej dosky hry. Raz až o 15 rokov na svojom mobile s pol-terabajtovou flashkou nebude mať čo robiť, si môžte stiahnuť jeden veľký SNES archív, kde okrem poslednej verzie BSNES bude aj celý herný "život" tejto kultovej hernej platformy.
Teraz teda /lepšie večer - lepšia atmosféra/ urobíte nasledovné. Stiahnete si emulátor SNES9x v1.52 /napríklad win32.fix4/. Spustite ho. Ak nehavaruje, opäť program ukončite. Sám si zatiaľ vytvorí folder ROMS, SAVES atakďalej. Do ROMS si uložte FF3 /FF6 bola v amerike vydaná ako FF3/. Opäť spustite emuláciu, v display-settings potvrďte FULL SCREEN možnosť, nahrajte FF3 romku, ESCAPE zapína/vypína hornú pomocnú lištu. Podobný postup s BSNES v070 /pomocná lišta - stlač TAB/. A hrajte JRPG ďaleko lepšie ako FF10-12-13 dokopy. Budete ohromený hĺbkou, hudbou, emóciami, postavami, dĺžkou, a interaktívnou scénkou s kompletným operným predstavením v divadle.
13/10/10
Smrtka zubatá
"Hry na PS4 budú konečne v plnom 1080p rozlíšení na 60 fps a s 4xAA". Tož túto vetu na každom hernom fóre čítam aspoň raz za týždeň. To rozlíšenie je vcelku OK /PS4 však bude mať o rád vykonnejší HW pre zvýšenie rozlišenia z toho nižšieho/, ten framerate je KO /každého bude lákať obrovských a luxusných 33ms na výstavbu jedneho frejmu pri 30 fps hre, tie tu teda ostanú asi navždy/, a na koniec to .. o tom antialiasingu je úplne mimo. Verte mi, že niet komplikovanejšej témy, a keď si laický hráč odfúkne, šak to máme v "hárdverovej" podpore. Ani nevie, ako veľmi je mimo mísu. A mimochodom to 4xAA môže byť v "každej" PS3 hre už dnes.
Dve "základné" typu odstránenie zubatosti v obraze sú vcelku dobre známe. Supersampling a multisample antialiasing - MSAA. Prvý je výrazne kvalitnejši, a s enormne vyššou spotrebou systémových prostriedkov /pamäť, priepustnosť/. Vďaka prepočítaniu frejmu do X-násobne väčšieho rozlíšenia a následne jeho zmenšením na požadovanú veľkosť. Vzorky-sample-prebytočne pixle takto získané, boli použité diabolskym mixovaním matrice /grid, rotated grid, jitter .. atď/ práve ku vyhladeniu hrán v celom obraze - full-scene antialiasing . MSAA bez toho, aby som vás trápil detailami, to robí omnoho-omnoho menej náročnejšie a rovnako aj oveľa horšie, a často iba v niektorých častiach obrazu /kolízia na úrovni alfa máp-transparencie, kolízie na úrovni specular máp, "vnútro" polygónov pri istých okolnostiach/. V preklade na drobné - 4xMSAA antialiasované auto v GT5 vám zahalí dym po gumovačke, na rozhraní karosérie a dymu uvidíte zuby, to isté pri odleskoch na niektorých častiach-lesklých hranách auta, a to bez ohľadu na stupeň MSAA. Je možné si s tým úplne poradiť, ale za cenu ďalšej ztraty výkonu na strane dýchavičného GPU. Meter ďalších vylepšení ako Coverage Sample Anti-Aliasing, Transparency Anti-Aliasing preskočíme, vyžadujú buď o 2-3 roky novšie-výkonnejšie GPU /shader model, fillrate/, ako je RSX v PS3ke. Alebo dokonca ide len o istý druh hacku pre DX9 /DX10 si vie "poriešiť" AA efektívnejšie/. Aj keď je paradoxne PS3 svojimi možnosťami často za možnosťami DX10.x features, RSX bude vždy jasnou brzdou, preto tu máme to "druhé" GPU - výpočetné SPE pole /celkom šesť jadier k dispozícií pre vývojárov/.
Hárdverové MSAA navyše tvrdo narazilo pri používaní najmodernejších deferred /tzv. "odložený-oneskorený" rendering/ postupov, s ktorými je iba veľmi limitovane kompatibilné. MSAA je primárne a vlastne iba určené pre zastaralý-klasický forward "priamy-okamžitý" rendering. Práve preto sa na xcrape "AA je zadarmo" používa antialiasing čim ďalej tým menej /Castlevania, aj keď ide o zúfalú koridorovku ho nemá ani za malý prd/, to však súvisí hlavne s jeho malou eDRAM a dev tím chcel plné 720p rozlíšenie, čo pri efektovo-graficky extenzívnych-HDR hrách na xcrape končí takmer vždy absenciou antialiasingu /sub HD Halo Reach/. Pri návrhu PS3ke však Kutaragi nežral mokrú slamu a nehulil zhnitú ganju.
Aj zlé AA je lepšie ako žiadne. MSAA je, bolo a bude pozliepanou vykopávkou /daň za dávno prekonanú filozofiu renderingu ešte z čias dávno pred prvou verziou DirectX/. Má problém s multiple render-targetmi /alfa, particle, depth, stencil, shadows, HDR, skinning polys/, a s deferred postupmi. Plus veľká spotreba vram a RSX to tak či tak v drvivej väčšine slušne neutiahne /nehovoriac o tom, že na G70ke je simultánny beh AA a HDR a priori nemožný/.
Heavenly Sword nám však ukázal ako spojiť AA+HDR /custom HDR-nAo32 formát/. Phyre engine ako spojiť AA + deferred rendering - 2 x MSAA. Nastal teda čas oprašiť staré algoritmi hľadanie hrán, vážených priemerov, centroidy, softvérový antialiasing. Niečo čo je možné použiť aj na xcrape /moderných GPU/. Niekedy dokonca nutné. Ale vždy si to ukradne čas pracovných cyklov od GPU /ziskom je úspora pamäte a aspoň nejaké AA/. Vieme, že na jeseň tohto roka sa stal SPE-AA algoritmus súčasťou CELL SDK a je k dispozícii všetkým vývojárom. Pretože ide o POSTEFEKT, nemal by kolidovať z ničím hore uvedeným, a ani z ich vlastnými render enginami. God of War 3, Saboteur, LBP2, Under Siege už SPE-AA používajú. Podotýkam, ani tento typ antialiasingu nie je technicky dokonalý /subpixel aliasing, problematická vzdialená geometria, problematické objekty hrúbky jedného pixlu a menej/, ale je možné ho ďalej výkonnostne a vizuálne optimalizovať /dnes vieme dosiahnuť porovnateľnú vizuálnu kvalitu s 8xMSAA, pri niektorých hranách aj 16-32xMSAA !!/. Dokonca sa testuje intenzívne aj pre použitie vo Frostbite 2 engine /Battlefield hry/.
Je možné ho teda použiť na xcrape /ako na každom CPU-GPU/, a prvé pokusy sa už objavili. Má to iba jeden "malý" háčik. Ak si vyhradíte čas - 5ms na celú tú operáciu v 30 fps hre a teda celkový budget je 33ms /30 ak chcete mať rock solid hru/. Potom 1/6 času sa GPU hrajká iba s AA postefektom, to jest 5 frejmov z 30. O toľko ta hra vlastne nebeží pomalšie, ale ide to na úkor napríklad iného efektu. Menej presný, alebo žiaden motion blur, alebo depth of field, alebo SSAO. Pri PS3 sa presne tých istých 5ms hodí na SPE jednotky /CPU v xcrape je výrazne pomalšie, tento luxus si nemôže dovoliť/. Bodka. RSX dostalo AA skutočne zadarmo. Vychádzam z toho, že žiadna súčasná multiplatformová hra /a iba málo nativných/ využíva CELL na 100%, vždy sú tu nejaké voľné pracovné cykly. Kraviny ako Generic Warfare 2, Biokunda 2, Need for Crack, Dead Game, Flopout 3 a more ďalších sú niekde na 30-50%. Z tohto dôvodu počnúc rokom 2011 - neakceptujem to, aby sa v PS3 verzii nejakého multiplat zvratku /napríklad Castlevania/, neobjavilo SPE-AA /hybridy MSAA-MLAA-temporal AA/, ktorý citujem : "sme to mali rozbehané za jedno poobedie."
Dve "základné" typu odstránenie zubatosti v obraze sú vcelku dobre známe. Supersampling a multisample antialiasing - MSAA. Prvý je výrazne kvalitnejši, a s enormne vyššou spotrebou systémových prostriedkov /pamäť, priepustnosť/. Vďaka prepočítaniu frejmu do X-násobne väčšieho rozlíšenia a následne jeho zmenšením na požadovanú veľkosť. Vzorky-sample-prebytočne pixle takto získané, boli použité diabolskym mixovaním matrice /grid, rotated grid, jitter .. atď/ práve ku vyhladeniu hrán v celom obraze - full-scene antialiasing . MSAA bez toho, aby som vás trápil detailami, to robí omnoho-omnoho menej náročnejšie a rovnako aj oveľa horšie, a často iba v niektorých častiach obrazu /kolízia na úrovni alfa máp-transparencie, kolízie na úrovni specular máp, "vnútro" polygónov pri istých okolnostiach/. V preklade na drobné - 4xMSAA antialiasované auto v GT5 vám zahalí dym po gumovačke, na rozhraní karosérie a dymu uvidíte zuby, to isté pri odleskoch na niektorých častiach-lesklých hranách auta, a to bez ohľadu na stupeň MSAA. Je možné si s tým úplne poradiť, ale za cenu ďalšej ztraty výkonu na strane dýchavičného GPU. Meter ďalších vylepšení ako Coverage Sample Anti-Aliasing, Transparency Anti-Aliasing preskočíme, vyžadujú buď o 2-3 roky novšie-výkonnejšie GPU /shader model, fillrate/, ako je RSX v PS3ke. Alebo dokonca ide len o istý druh hacku pre DX9 /DX10 si vie "poriešiť" AA efektívnejšie/. Aj keď je paradoxne PS3 svojimi možnosťami často za možnosťami DX10.x features, RSX bude vždy jasnou brzdou, preto tu máme to "druhé" GPU - výpočetné SPE pole /celkom šesť jadier k dispozícií pre vývojárov/.
Hárdverové MSAA navyše tvrdo narazilo pri používaní najmodernejších deferred /tzv. "odložený-oneskorený" rendering/ postupov, s ktorými je iba veľmi limitovane kompatibilné. MSAA je primárne a vlastne iba určené pre zastaralý-klasický forward "priamy-okamžitý" rendering. Práve preto sa na xcrape "AA je zadarmo" používa antialiasing čim ďalej tým menej /Castlevania, aj keď ide o zúfalú koridorovku ho nemá ani za malý prd/, to však súvisí hlavne s jeho malou eDRAM a dev tím chcel plné 720p rozlíšenie, čo pri efektovo-graficky extenzívnych-HDR hrách na xcrape končí takmer vždy absenciou antialiasingu /sub HD Halo Reach/. Pri návrhu PS3ke však Kutaragi nežral mokrú slamu a nehulil zhnitú ganju.
Aj zlé AA je lepšie ako žiadne. MSAA je, bolo a bude pozliepanou vykopávkou /daň za dávno prekonanú filozofiu renderingu ešte z čias dávno pred prvou verziou DirectX/. Má problém s multiple render-targetmi /alfa, particle, depth, stencil, shadows, HDR, skinning polys/, a s deferred postupmi. Plus veľká spotreba vram a RSX to tak či tak v drvivej väčšine slušne neutiahne /nehovoriac o tom, že na G70ke je simultánny beh AA a HDR a priori nemožný/.
Heavenly Sword nám však ukázal ako spojiť AA+HDR /custom HDR-nAo32 formát/. Phyre engine ako spojiť AA + deferred rendering - 2 x MSAA. Nastal teda čas oprašiť staré algoritmi hľadanie hrán, vážených priemerov, centroidy, softvérový antialiasing. Niečo čo je možné použiť aj na xcrape /moderných GPU/. Niekedy dokonca nutné. Ale vždy si to ukradne čas pracovných cyklov od GPU /ziskom je úspora pamäte a aspoň nejaké AA/. Vieme, že na jeseň tohto roka sa stal SPE-AA algoritmus súčasťou CELL SDK a je k dispozícii všetkým vývojárom. Pretože ide o POSTEFEKT, nemal by kolidovať z ničím hore uvedeným, a ani z ich vlastnými render enginami. God of War 3, Saboteur, LBP2, Under Siege už SPE-AA používajú. Podotýkam, ani tento typ antialiasingu nie je technicky dokonalý /subpixel aliasing, problematická vzdialená geometria, problematické objekty hrúbky jedného pixlu a menej/, ale je možné ho ďalej výkonnostne a vizuálne optimalizovať /dnes vieme dosiahnuť porovnateľnú vizuálnu kvalitu s 8xMSAA, pri niektorých hranách aj 16-32xMSAA !!/. Dokonca sa testuje intenzívne aj pre použitie vo Frostbite 2 engine /Battlefield hry/.
Je možné ho teda použiť na xcrape /ako na každom CPU-GPU/, a prvé pokusy sa už objavili. Má to iba jeden "malý" háčik. Ak si vyhradíte čas - 5ms na celú tú operáciu v 30 fps hre a teda celkový budget je 33ms /30 ak chcete mať rock solid hru/. Potom 1/6 času sa GPU hrajká iba s AA postefektom, to jest 5 frejmov z 30. O toľko ta hra vlastne nebeží pomalšie, ale ide to na úkor napríklad iného efektu. Menej presný, alebo žiaden motion blur, alebo depth of field, alebo SSAO. Pri PS3 sa presne tých istých 5ms hodí na SPE jednotky /CPU v xcrape je výrazne pomalšie, tento luxus si nemôže dovoliť/. Bodka. RSX dostalo AA skutočne zadarmo. Vychádzam z toho, že žiadna súčasná multiplatformová hra /a iba málo nativných/ využíva CELL na 100%, vždy sú tu nejaké voľné pracovné cykly. Kraviny ako Generic Warfare 2, Biokunda 2, Need for Crack, Dead Game, Flopout 3 a more ďalších sú niekde na 30-50%. Z tohto dôvodu počnúc rokom 2011 - neakceptujem to, aby sa v PS3 verzii nejakého multiplat zvratku /napríklad Castlevania/, neobjavilo SPE-AA /hybridy MSAA-MLAA-temporal AA/, ktorý citujem : "sme to mali rozbehané za jedno poobedie."
Subscribe to:
Posts (Atom)















