19. 9. 2012

Psone versus NDs


PSone /1994/ - jedna z prvých, veľkých, čiste "3D konzol". Stručné špecifikácie : singel core 32 bit CPU na 33.8Mhz, GTE - akcelerátor 3D grafiky, výkonné GPU. Pamäť - 2 plus 1 megabajt rýchlej, systémovej a grafickej RAM. CD mechanika s 128 kilovým bufferom. Zvukovka s 24 kanálmi a s vlastnou pol megovou ramkou. Dokopy to máme herne 3.5 mega použiteľnej RAM /2+1+0.5/.

NDS /2004/ - prvý "3D handheld" od nintenda. Dual display a dual core 32 bit CPU na 33 a 67Mhz /iba jedno CPU a jeden display pre 3D grafiku/, na funkcie bohatšie GPU s 3D akceleráciou podobnou ako malo PSone. RAM - 4 mega systémovej a cirka 0.7 mega megabajta hlavnej grafickej RAM rozdelenej dosť komplikovane do 9 baniek /2D a 3D operácie, textúrovacia keška, buffery atď./ Pre zaujímavosť to vyzerá asi takto - 4 x 128 kilo plus 1 x 64, 1 x 32, 3 x16. Potom tu máme virtuálnu vram pre 2D engine o veľkosti 1 mega /512 + 256 + 128 + 128 kilo/ mapovanú do hlavnej RAM. Je to komplikované presne tak ako to vyzerá. Ignorujme rôzne malé systémové scratch, cache, iwram, oam ramky rozosiate po celom systéme. Daň za stupídne 2 obrazovky a synchronizáciu oboch CPU. Hry uložené na kátridžoch /64-128+ mega/. Zvukovka - 16 kanálov PSone triedy. Gimmick freak show.

NDs - renderuje v 18 bit farbách, PSone ma teoretické maximum na úrovni 24 bitov. Množstvo hier však beží v "paletizovanej" CLUT grafike a v 256 farebných textúrach. Podobne finty sa neskôr používali aj na PS2. Ide o istý spôsob "farebnej kompresie". GPU v NDS disponuje HW podporou pre perspektívnu korekciu textúr, ktorú PSone nemá /textúry sa zig zag lámu v uhloch ak sú blízko pri vás/ a vďaka transformáciám polygónov s vyššou presnosťou /32 versus 16 bit/ je polygon snapping/shaking - doskočenie textúry na "prvé celé čislo", "zarovnanie sa do matrice" - oveľa hladšie než na PSone. NDs má na prvý pohľad výkonnejšie CPU /66Mhz/ bohužiaľ pre zlý návrh časovania prístupu do pamäte a konfliktoch s druhým CPU nie je jeho výkon až o toľko lepší. Predsa len však umožňuje teoreticky napríklad lepšiu skeletálnu animáciu. GPU NDS má výkonnejšie polygon clipping, culling /odstránenie polygonov z render procsecu, ktoré ako hráč nevidítea z-buffer - ktore na PSone takmer úplne absentujú a riešia sa čiste softvérovo. NDs to však životne potrebuje ako si ukážeme neskôr.

Mario Kart /NDs/ versus CTR /Psone/

Psone. Veľkou výhodou je 600-700 mega na CD placke. Luxusné FMV videjká, modely, textúry, streaming množstva dát a CD audio - žiaden problém. NDs sa musí vopchať do 256 megového flash uložiska /častejšie okolo 64 mega/. Mierne šokujúce ale pravdivé - NDs má dosť divoký 3D engine s pevným limitom /!!/ 2048 polygónov na frame. Reálne zo seba PSone dostane 180K polygónov za sekundu, NDs presne 120K /a hry na ňom vždy bežia na 60fps/. Na Psone vám napríklad hra môže ponúknuť viac polygónov /draw distance/ a variabilný framerate, alebo stabilný framerate a plávajúci počet polygónov. NDs pustí na obrazovku stále iba tých 2000 polys aj keby ste si urobili 30 frejmovú hru. Je to dosť pevne hárdverovo ošetrené. Obchádzka je možné, ale chce to kus programátorského kumštu a šachovanie s "divým" mem subsystémom a čipmi. Redukcia farebnej palety na 16 bitov a 30fps sa potom rovná aj 4K polygónov na frame. Vlastne na úrovni špičkových PSone hier. FF9 na Psone však vytlačí na scenu až 9K polygónov na frame pri 20fps. Psone tiež disponuje vyšším rozlíšením - aj 512x256 plus widescreen oproti fixným 256x192 v 4:3 pomere na 3Ds. Psone má tiež kódersky ďaleko flexibilnejšie programovanie grafiky a výkonnejšiu prácu s transparenciami. Psone hry disponovali aj bohatším budgetom a preto sa im máloktorá NDs hra mohla rovnať. Off-topic. Mimochodom asi ste to už medzi riadkami pochopili - N64 je jasne výkonnejšia než NDs.

 
Crash 3 /Psone/ versus The Wizard of Oz /NDs/

Záver. O desať rokov mladšia NDs len horko ťažko technicky dorovná staručkú Psone. Nintendo to strašne prekomplikovalo, gimmick trick s dvoma obrazovkami a nezmyselným dual 2D enginom a multi geometry pass 3D enginom a šialene dizajnovanou ramkou - bráni bežnému programátorovi vydolovať z mašiny slušnú 3D grafiku. V podstate SONY stačilo dať ako konkurenciu ku NDs v roku 2004 /PSP !!/ obyčajnú PSone+. To znamenalo - dvihnúť výkon toho veterána o 100% /CPU, GPU, mem, zbernice, display/ a s veľkou rezervou a za 149 USD by to na ten nintendo šmejd hravo stačilo. Oni však dali na trh PSP - malé monštrum výkonnejšie od PSone cca 10-40 násobne podľa typu CPU/GPU operácie. Ako vieme, to je úplne iná história.