Post Mortem PC Hra Titulky CZ: Hlboký ponor do výkonu GPU konzol PS4 a Xbox One

V minulosti bol publikovaný článok, ktorý porovnával výkon GPU konzol PS4 a Xbox One prostredníctvom ALU výkonu. Tento článok tvrdil, že aplikačne bude PS4 výkonnejšia oproti Xbox One len o zhruba 25%, napriek 50% prevahe v hrubom ALU výkone.

Sila GPU však nestojí iba na ALU výkone. Je tu celá kaskáda parametrov a stupňov grafickej pipelajny (ALU, rasterizácia, ROPs, TMU, Z buffer, Stencils, bus, mem, API), ktoré zásadným spôsobom ovplyvnia výsledný framerate alebo kvalitu obrazu.

Ak zohľadníte aj tieto premenné, dosiahnete hravo 50 až 100% rozdiel v prospech PS4. Ale aj na to sere pes, vážení. Roky počúvame ako konzoly brzdia PC a že DirectX 11+ je budúcnosť grafiky a hier. Fajn.

Sila DirectX 11+ však nie je v prachobyčajnom ALU výkone. Toto je archaická minulosť, ktorá začala s prvým billšmejšdom pred viac ako 10 rokmi (DX API, shader model) a skončila dňom, keď SONY podpísalo kontrakt s AMD o vývojí GPU pre PS4.

Ak to neviete, tak táto zmluva striktne vylučuje možnosť použitia vylepšenia GCN AMD architektúry pre PS4 GPU v konkurenčnej MS konzole Xbone. Môže ju však AMD použiť v PC grafikách.

Mark Cerny ako veľmi skúsený programátor a dizajnér hier mal víziu, že DX11+ API (PS4 používa OpenGL 4.x alebo low level libGCM ekvivalent) spolu s moderným GPU by bolo dobre použiť aj na niečo iné ako farbenie pixelov.

Hovorím pochopiteľne o GPGPU operáciách (CPU kód na GPU: hlavne audio, fyzika, AI ale aj tá grafika). Asi viete, že PS4 a Xbone GPU delí cirka 600GFLOPs v hrubých číslach (fpSIMD). To je značný rozdiel. Oveľa viac ako má dokopy Wee + Wee Uu, alebo PS3 a xcrap 360.

Grafika pre PS4 vs. Xbox One

Po dohode s AMD teda SONY urobili tri hlavné zmeny HW dizajnu AMD HD grafik triedy 7xxx GCN 1.x. Konkrétne:

  • Totálnu prestavbu ACE (asynchrónny engine pre GPGPU výpočty)
  • Navýšenie počtu týchto jednotiek z 2 na 8
  • Zvýšenie počtu operácií, ktoré urobí na cyklus z 2 na 8.

PS4 GPU má teda 8xACE a 64 ops. To isté PC GPU ma konfiguráciu 2xACE a 4 ops. SONY maklo aj na úprave GPU kešky (tzv. volatilný L2 tag) a GPU tiež dostalo špeciálnu by-pass zbernicu, ktorá tie GPU kešky obchádza a CPU môže napríklad priamo komunikovať s GPU. Podotýkam, žiadna z týchto úprav dramaticky zvýšujúcich výkon GPUGPU výpočtov sa nesmie podľa zmluvy s AMD dostať do Xbone GPU.

Budúcnosť programovania a hernej grafiky sú práve tzv. compute shaders. Špeciálny režim, keď sa ku GPU správate ako keby išlo o CPU. PS4 GPU je práve takto navrhnuté, tento typu kódu bude na ňom bežať o stovky percent lepšie (nezabúdajte, že tu máme aj tých 600 GLOPs prebytočného výkonu) a MS alebo Leadbetter s tým nič nedokáže urobiť.

SONY pre PS4 GPU používa superset funkcií DX11, teda PS4 GPU zvládne všetko čo DX11 (navyše na skutočnej low level super flexibilnej a optimalizovanej úrovni) plus more ďalších funkcií, ktoré sa objavia až v nejakej DX12. Dokonca SONY pracuje pomaly na hUMA jazyku, čo je agnostické programovacie prostredie, keď herný kód použiva CPU a GPU podľa toho, kde sa "cíti najlepšie", kde beží efektívnejšie a to automaticky a bez pracnej úpravy programu.

PS4 GPU je v každom smere výkonnejšie ako Xbone GPU. PS4 GPU má k dobru 600GFLOPs výkonu, ktoré Xbone GPU nemá. Tento prebytočný výkon bude utilizovaný veľmi sofistikovanými úpravami GCN AMD štandardu, ktoré Xbone GPU nemá a ani nemôže mať.
SONY ďalej pracuje na skutočnej budúcnosti tvorby grafiky a hier (hUMA jazyk). PS4 GPU API je ďaleko výkonnejšie ako DX 11.x, ktoré nájdete v Xbone GPU. SONY podporuje low level alebo ultra low level (asm GPU) programovanie PS4 GPU, ktoré MS pri svojej grafike nepodporuje vzhľadom na beh Win8 Apps v jeho Xbone OS.

Ak teda Xbone GPU nič z hore uvedeného nemá, ako sa to asi objaví v multiplat hrách. Nuž neobjaví, ak - tak iba veľmi limitovane, pôjde o to, čo s tým urobia PS4 dev team a PS4 only hry.

DirectCompute, OpenCL alebo CUDA je pomenovanie toho istého: GPGPU operácie. A na tie je PS4 GPU maximálne optimalizované.

PS4 GPU má overené HW črty, ktoré obsahuje až pripravovaná GCN 2.0. Rozdiel medzi PS4 a Xbone GPU je aj 50%, hovorim preto "aj", lebo PS4 GPU má síce o 50% viac ALUs ale napríklad aj o 100% viac ROPs jednotiek, veľmi dôležitý performance ukazovateľ a o 400% viac ACE engines, ktoré zvládnu až 64 ops, pri Xbone GPU ide pravdepodobne len o GCN 1.0 štandard a teda 2xACE a 4 ops. Rozdiel 400 respektíve 1600%.

Už zmena API (pomalé DirectX versus veľmi rýchle natívne PS4 low level API) na tom istom HW môže znamenať rozdiel vo výkone až +50%.

Jasne slabší HW Xbone je podľa neho v skutočnosti vzorným príkladom dobrého balancu architektúry. A PS4 nie je oveľa výkonnejšia - ona je proste nevybalancovaná !! Chúďatko. Drvivo lepšie PS4 GPU je vlastne slabina celej mašiny, tvrdí ten píčus.

Mark Cerny vizionársky (bez srandy) navrhol PS4 GPU ako skvelý GPGPU hardvér (ACE, Onion bus, pracuju na novom HSA jazyku atd.). Je to rezerva do budúcnosti (a budúcnosť programovania vôbec). Aj Guerrilla Games v svojom postmortem pdf o KZSF pre PS4 napísala, že sa compute shaders (GPGPU) funkcii PS4 GPU ani len nedotkla.

Na PS3ke SONY vyvinulo SPURs systém bežiaci na SPE jednotkách, je to (aj asychrónny) beh desiatok procesov - jobs (grafika, AI, audio, fyzika) na CELL CPU. Majú to dnes v vskutku vymakanej podobe a pretože CELL skončil - rozmýšlali ako tieto krvou a studeným potom získané know-how využiť aj na PS4ke.

PS4 GPU beží, jednoducho povedané, v dvoch režimoch: easy (všetko sa robí samo, hladko, jednoducho) a pro (skutočne majstrovské programovanie).

Rozdiel medzi PS4 a Xbone GPU je aj 50%, hovorim preto "aj", lebo PS4 GPU má síce o 50% viac ALUs ale napríklad aj o 100% viac ROPs jednotiek, veľmi dôležitý performance ukazovateľ a o 400% viac ACE engines, ktoré zvládnu až 64 ops, pri Xbone GPU ide pravdepodobne len o GCN 1.0 štandard a teda 2xACE a 4 ops. Rozdiel 400 respektíve 1600%.

Xbone GPU je v nižšej triede Bonaire a má iba 12 CU, 768 cores, 48 TMU a 16 ROPs zavesených na smiešne pomalý DDR3 mem radič.

Herné mašiny sú na tom podobne. Hodí sa každé zaklínadlo, na ktoré cieľovka dobre reaguje. V prípade hráčov ide hlavne o silové parametre, lepšie "čísla".

Nižšie som len tak preletel 8 generáciami konzol a vybral zopár obľúbených reklamných bonmotov:

  • Farba: Už či ide o prvé arkádové automaty, ktoré farby predstierali nalepovacími farebnými fóliami na obrazovke, čiernobiely versus farebný Game Boy, oveľa farebnejší Atari Lynx a Sega Game Gear versus Game Boy, C64 versus ZX Spectrum s atribútovými kolíziami a nad tým všetkým 16 bitová Amiga s HAM módom a 4096 farbami, úžas. Nezabudnime tiež na to, že s každou novou farbou obalu konzoly/handheldu - stúpa jej predaj o 10%.
  • 16-bit/32bit paleta: Tak nie iba farba nestačí. Hovorme o kvantite. Boje ešte chvíľku pokračovali so SNES a jej reálne použiteľnou 256 farebnou paletou (to je tuším 2na8), potom 16 a 32 bitové farby, alebo porovnávanie 3Dfx Voodoo grafík (interne 32 bit, externe 24 bit) s 32 bit Nvidiou, paletizované 4-8 bit textúry PS2 versus 16-32 bit farbičky napríklad pri PC konverziách. No, už by snáď aj stačilo.
  • 16/32/64/128 bit "CPU": Správne, je úplne fuk aký čip/zbernica/adresovanie (!!) vlastne v mašine tu kopu bitov má, celá mašina je "práve toľko bitová" aké je najväčšie "číslo", ktoré tam najdete. Jaguar je teda 64 bit aj keď ma 16 bitové CPU, PS2 je 128 bit aj keď CPU je natívne 32 bitové. Sega Megadrive je 16 bitová konzola podobne ako SNES, ale iba Megadrive to vycapil na krabicu veľkým strieborným/zlatým nápisom, font veľkosti 48, tak.
  • Blast processing: Potenciál farieb a bitov sme vyšerpali, čo ďalej ? Megahertze !! Ako som už povedal, Megadrive aj SNES mali technicky "rovnaké" rozlíšenie obrazu, počet farieb a rovnaké 16 bit CPU. SEGA však prišla s kampaňou s novým heslom "blast processing" - programátorská finta s DMA radičom a V-blank zápisom do framebuffera. Zabudol som dodať, že údajna, vlastne hoax, nič také tam neexistovalo, vlastne hej, ale mal to aj SNES (ak nie lepšie) a nič to proste neznamenalo.
  • Motorola "16 bit" 68000: CPU ktoré poháňalo prvé amigy ale aj SEGA Megadrive a množstvo ďalších mašín je v skutočnosti 32 bitové CPU (!!), hehehe. Interne 32 bitov, externe 16 bit bus. Podobne SNES CPU je interne 16 bit a externe 24 bit CPU.
  • Mode 7: "blast processing, 16 bit". Nintendo muselo nejako kontrovať tejto do neba volajúcej SEGA drzosti. A našlo na psa dostatočne dlhú palicu. Mode 7 je legendárny grafický mód SNES umožňujúci kvalitnú pseudo 3D grafiku. A svete div sa, tento gimmick skutočne hry aj obohatil (nielen graficky) a SEGA fans len závistlivo slintali. Novšia Sega Mega CD neskôr dostala do výbavy aj túto fičuru (mimo rozsiahlej podpory pre prácu so sprajtami - zoom, rotovanie).
  • CD/FMV: Konzoly boli roky limitované maličkým objemom dát uložiteľných na herný katridž. Ak to neviete, tak dve z najlepších JRPG všetkých čias (FF6 a Chronotriger) sa vôjdu hladko na smiešne veľký 4 megový katridž. Konflikt medzi Nintendo SNES a SONY CD mechanikou vlastne po pár kotrmleoch skončil v podobe známej PSone (úplne iný príbeh). CD a jeho 600-700 mega je samozrejme iné kafe a herné firmy to trochu pobláznilo. 7th Guest, Megarace a strašna kopa ďalších hier celú svoju hrateľnosť omotala práve okolo FMV (full motion video) jadra. Proste samé filmečky, kde sa len oko pozrelo. FF7 stojí a padá na bombastických CG animačkách a staré hry na 8 bitovej konzole TurboGrafx alias PC engine si tam uložilo aspoň to CD audio.


Infografika zobrazujúca generácie herných konzol.

Corel VideoStudio 2023 ponúka množstvo možností prispôsobenia, ktoré vám môžu pomôcť upraviť rôzne parametre vašich médií podľa vašich preferencií. Môžete pridať titulky vrátane názvov filmov, upraviť farby alebo použiť prechody medzi klipmi. Umožňuje tiež jednoducho kombinovať, synchronizovať a upravovať zábery z viacerých kamier a vybrať uhol, ktorý chcete zobraziť pri prehrávaní videa. Umožňuje vám tiež pridať perfektný soundtrack k vašim videám, aby boli ešte výnimočnejšie. Pridáva tiež množstvo inteligentných prechodov, animácií titulkov a ďalších video efektov, ktoré vám pomôžu vytvárať úžasné animácie pomocou funkcie Stop Motion Animation. Navrhujte pre zábavu pomocou ľahko naučiteľného grafického softvéru.

V tomto úplne novom, samostatnom dobrodružstve sa Alan Wake musí postaviť rozširovateľovi temnoty, diabolskému pánovi Scratchovi! Napínavý nový príbeh, zástupy hrôzostrašných nepriateľov, zbrane ťažkého kalibru a nádherné prostredie štátu Arizona spoločne so zábavným novým herným režimom predstavujú nutnosť pre všetkých fanúšikov...

FF13 je totiž na PS3ke výrazne technicky lepšia (hlavne v dvoch najdôležitejších parametroch - rozlíšenie obrazu a framerate).

Niekedy sa nabudúce sa strestneme pri krajne objektívnom a faktickom článku, prečo je eSRAM Xbone prd vo vetre, čuz.

PS4 GPU má k dobru 600GFLOPs výkonu, ktoré Xbone GPU nemá.

Tabuľka porovnania parametrov PS4 a Xbox One GPU:

Parameter PS4 GPU Xbox One GPU
GFLOPs 600 viac -
ACE engines 8x, 64 ops 2x, 4 ops (GCN 1.0)
ROPs O 100% viac -
ALUs O 50% viac -
Pamäť GDDR5 DDR3

tags: #post #mortem #pc #hra #a #titulky