12. 12. 2019

SONY Graphics Synthesizer versus NVIDIA GeForce 256


"Rozpracovali sme herný koncept, pracovný názov Mariňáci, a povedali sme si, že skočíme za SONY. Proste vkladáme svoju dôveru do PlayStation platformy. V tých časoch až tak veľa first person strieľačok na konzolách nebolo a akurát bola ohlásené PS2ka. Nakódovali sme herné tech demo a to demo bolo doslova nadžgané grafickými finesami až cez okraj, takže to na prvých vzorkách Nvidia Geforce 256 bežalo ledva na 5 fps /!/. Viete - SONY sľubovalo pri PS2ke nevídané veci a malo ísť o najrýchlejší herný stroj na svete, jej skutočný výkon sme však ešte vtedy nepoznali."
 - Michiel van der Leeuw /Guerrilla Games/.

Nvidia Geforce 256 s rýchlejšou mem variantom typu DDR /v predaji od februára 2000, teda podobne ako PS2 v japonsku/ za cca 300 dolárov bola svojho času špičkové a veľmi drahé GPU. Po prvýkrát sa aj v segmente spotrebiteľských PC grafík použila HW T@L akcelerácia /transformácia, nasvietenie, triangle setup a rasterizácia bežiace pekne na GPU s minimálnou asistenciou CPU/. Arcade kabinety od SEGA alebo aj staršia Playstation 1 to už používali vo veľkom a dlhé roky. Ak vás zaujíma ten HW T@L výkon na GPU v praxi, tak Pentium III na 450Mhz bolo v týchto operáciach trošku pomalšia, 550ka tak o prsiach pozadu a 600-700ka už to vedela urobiť rýchlejšie a GeForce 256 by teda bola v režime "decelerátora".

V Quake 3 alebo v Unreal Tournament v 640x480 /toto rozlíšenie má skrytý zmysel, lebo na PS2ke na CRT telke sa vyššie aj tak nedostanete/ na ďalšej drahote a to CPU Pentium III na 700Mhz je výkon 256 SDR /pomalšia RAM/ identický so "zastaralou" Voodoo 3500 - iba akcelerácia rasterizácie ale výborne vyladené GLIDE ovládače. Ak použijeme slabšie CPU ako je Celeron 366 tak už 256 SDR od Voodoo trochu odskočí o nejakých 20%. Naozaj veľa záviselo od kvality ovládačov a kvality podpory HW T@L v hre. UT to malo implementované na bačkoru, odignorované. Jednoduché veci ako UT vedela pekne hrateľne utiahnúť 256ka aj v 1600x1200 rozlíšení. V Call of Duty s viac stromčekami a podobne však bolo problémom aj 30fps v 800x600. Predbehnem udalosti - ešte tam proste nebolo dosť gruntu, teda priepustnosť, fillrate pre skutočnú vizuálnu hostinu.


demo špeciálne ušité pre HW T@L GeForce 256, 640x480/16bit na 55-60fps, 
až 100 000 polygónov na frame, 6 megapoly/s, herne by išli čisla určite na polovicu.

NVIDIA GeForce 256 s 32 mega DDR teda ponúka priepustnostť 4.8giga/sec na 128 bit buse do VRAM /dual data rate 2x150Mhz/, GPU beží na 120Mhz a má 4 pixel pipeline /ROP rasterizácia/ a 4xTMU /textúrovanie/ s teoretickým fillrate 480 Mpixel/s /4 ROP x 120Mhz/, teoretický polyrate cca 15 megapoly/s. Na pomalšiu 256 SDR sa už ďalej vykašleme, jej priepustnosť do VRAM je cca 2.7giga/sec, čo je veľká slabina, aj keď najskôr išlo práve o tu grafiku, ktorú GG použili.

Porovnať inak túto PC architektúru s PS2 je absolútne nezmyselné, ide o tak dramaticky rozdielne paradigmy, prístup k riešeniu problému, že aj kapusta a ananásom toho majú viac spoločného. Vskutku ale môžte ľahko ušiť scénu na PS2ke, kde sa GeForce 256 bude plaziť na 5fps. PS2 bola stavaná na extrémny fillrate a polyrate /+ plne programovateľná vertex časť grafickej pipelajny, čo 256ka nemala/ v nízkom rozlišení, jej práca s alfa efektami, s overdraw /mnohonásobné prekrývanie sa transparentných polygónov/ na scéne ďaleko predbiehala všetko čo vtedy malo PC na trhu. Aj preto neskôr pri MGS2, ktorá beží na PS2ke na 60fps mal Xbox s GPU na úrovni GeForce 3.5 /o omnoho generácií modernejšia grafika ako 256ka/ tak obrovské problémy práve vtedy, keď do obrazovky búšili desaťnásobne sa prekrývajúce alfa efekty a framerate im tam voľne padal ku 20 fps.


PAL rozlíšenie na 60fps, cez 300 000 polys na frame, cez 18 megapoly/s, aplikačne herne.

PS2 GPU bežiace na 150Mhz voliteľne adresuje celých 32 mega systémovej RDRAM, ide o 32 bit dvojkanál na 400Mhz s 3.2 giga/sec s 4 megou "videocache" EDRAM s 48giga/sec na 2560 bit buse /3xbus, 2x1024bit + 1x512 bit/, nemá pixel/vertex shader ani TMU jednotky. Má 16 x pixel ROP jednotiek s teoretickým fillrate 2400 megapixel bez textúr alebo 1200 megapix/s pri použití textúrovania, nasvietenia a Z buffer. HW T@L v podobe oboch VU 0+1 + EE FPU má teoretický transformačný výkon aj nad 80 megapoly/sec a vykresľovací okolo 15 a až 75 megapoly/s v závislosti od veľkosti polygónu a pridružených atribútov - alpha, fog, textúra, Z-buffer. Overený, reálny, herný je bežne 20 megapoly/sec - cez 330K polys na frame pri 60 fps hre alebo 650K pri 30fps.

GeForce 256 SDR/DDR však objektívne boli veľmi dobré grafiky s vysokým fillrate, nemuseli ste z nich ten potenciál krvopotne dolovať, akcelerácia spracovania geometrie bola skrytá v ovládačoch, pri PS2 ste si to museli naprogramovať urobiť vo vlastnej réžií. Všetko bolo veľmi priamočiare, jednoduché, ľahko prístupné. A stačilo to na hry ako Quake, MDK2, Descent, GTA, NFS. Obe GPU však ani omylom nestačili na PS2ku a zlomiť im krk bolo jednoduché - stačí veľa alfy na ploche /stromy, trava, výbuchy, partikle/ alebo príliš veľa malých polygónov. Preto beží na 256ke Quake slušne ale komplexnejšia Call of Duty už nie /a to sa písal iba rok 2003 a išlo stále o "qvák" ID tech 3 engine/. Dostať však ten výkon z PS2 bolo ale veľmi až nesmierne náročné, prácne a drahé, preto sa skutočného potenciálu dotklo iba niekoľko hier a väčšina vývojárov išla na pol plynu. Nikdy, absolútne nikdy však na 256ke neuvidíte tak hustú džungľu nabitú efektami ako Transformeroch alebo toľko vody a geometrie ako v F1ke na 60fps od Melbourne House /"We really set out to push the PS2 hardware"/. Pravdepodobne by kľakla práve na tých 5fps.