Jadrom problému je teda vyvinúť nové programovacie techniky. Vytvárané za pochodu. Je srdečne jedno KOĽKO SPE jednotiek máte k dispozícii, ak nemáte algoritmus pre ich využitie. Metodiku. Insomniac už druhý rok krvopotne školí svojich progišov, ako to zvládnuť /prechod z klasiky to jest - jedno CPU, jedno GPU .. na modernú budúcnosť/. Plus efektívne low level kódovanie SPE v assembleri. Programovanie viacjadrových/multithreadových systémov je satanova práca, už si to uvedomte. Nie nadarmo to tlsté prasa Gabe neustále pindá o zlých viacjadrových systémoch, a v roku 2008 stále používa už vo svojom čase zastaralý SOURCE engine. Carmack to isté. Ten blbec ešte minulé vianoce nezmyselne žvatlal, že by omnoho radšej pracoval s jedným výkonným CPU ďalších desať rokov. Bejvavalo.
Určite vám stále nedá spať "jednoduché" programovanie pre Xcrap s troma CPU. Niečo si musíme upresniť. Xšmejd má homogénnu architektúru. Máme tu jednotný HW design jadier a jednu inštrukčnú sadu /VMX teraz ignorujme/. Jedno celé jadro je vyhradené pre beh OS v pozadí, kódovanie audia a iné - napríklad IOP operácie. V skutočnosti je teda Billov výblitok štandardným dvojjadrovým systémom. Na druhej strane stojí sedemjadrová PS3 /už som odpočítal jednu SPE pre OS a druhú "nefunkčnú"/ s heterogénnou achitektúrou. SPE inštrukčná sada je iná ako tá, ktorú používa PPE. Laicky povedané. Centrálne PS3 CPU sa správa ako Motorola v Amige, SPE ako Intel v Pentiu. A na tieto "komplikácie" drvivá väčšina dnešných third party multiplatformových progišov z výšky kaká.
"If, you find yourself digging deep into multiple sub-systems, stop yourself before you loose your mind." Insomniac - ani s SPE voodoo mágiou sa to nemá preháňať.
Ani na Xcrape však napriek "jednoduchosti" CPU nie je situácia ružová. Opäť použijem hru Bioshock. Je zjavne, že tá hra JE ladená pre Xcrap. Máme tu teda jeho dve pre herné účely použiteľné jadrá na 3.2Ghz, a štyri HW vlákna. Jeden by teda predpokladal, že pri konverzii na PC, tu bude snaha natvrdo vyžadovať DUAL CORE CPU. S prekvapením však zistíte, že vám hravo stači aj tri roky staré jedno jadrové CPU na smiešnych 1.8Ghz. Neprepokladám, že patetická PS3 verzia využíva viac ako to centrálne CPU a jeho dve HW vlákna. Mimochodom CELL CORE PPE je takmer dvojčaťom toho z Xšmejdu. Asi vidíte kde tým smerujem. Napríklad taký EA Madden. Minuloročný diel bežal na Xšmejde na 60 fps /2 jadrá a 4 vlákna/, na PS3ke iba na tridsiatich /nepochybne 1 centrálne jadro a 2 vlákna/. O rok neskôr už OBE verzie bežia na 60 fps /pri PS3ke do práce po protestoch hráčov nabehli aj SPE jednotky/.
Mám teraz v pozadí otvorené dve pdf prednášky od Insomniac tímu. Sú venované práve problematike, ako prejsť od toho nízkeho 10-20-30% využitia CELL výkonu do vyšších sfér. Pamätajte, že o 5 rokov bude tých jadier v PS4 aspoň 20-30 !! Kopa vysokotechnických kecov o autonómnom asynchrónnom SPE subsystéme pre fyziku, AI, a kope ďalšieho pôvodne PPE kódu. Jeden slide by vás iste prekvapil. Ide o postmortem-rozborku hry Ratchet a Clank TOD, kde graf "hovorí" - hra beží na centrálnom PPE a troch SPE. PS3 má však k dispozícii šesť SPE jednotiek. Napriek tomu beži v 720p/60 režime a v Pixar CG kvalite. Píšem si preto do zápisníčka. Insomniac tvrdí, ze využívajú 50% bla bla. Viď začiatok článku. Mimochodom, Killzone 2 zneužíva podľa vývojárov "4 a pol jadier CELL CPU" a požičali si pár fint ako od Insomniacu, tak aj od borcov zo Santa Moniky /God of War/. Aké ponaučenie z toho pre nás vyplýva ? Zoberte do ruky čistý uterák, požičajte trpezlivosť budhu, a neprepadajte panike. Rátajte však s tým, že multiplatformy sa budú naďalej ladiť s ohľadom na ďaleko menej výkonný Xšmejd.
No comments:
Post a Comment
**** pre vloženie hypertextového odkazu do komentára použi CSS kód: hyperlink ****