29/12/21

Softvér > hardvér

Aktuálna generácia konzol je prvá s HW podporou pre raytracing /RT/. Raytracing je budúcnosť hernej grafiky, lebo individuálne riešenie každého svetelného fenoménu pomocou HW rasterizácie je už technicky nemožné. Herná grafika je dnes už príliš komplikovaná. Programátorsky mimo HW teda musíte ošetriť nespočetné grafické situácie. Ladenie scény, početné iterácie pri použití rasterizácie sú nesmierne časovo prácne a teda nákladné. Komplexné a kompletné riešenie "svetla" v HW je toho času za rozumné peniaze nemožné. Neexistuje jeden jednoduchý šrubovák na všetky šrubky na svete. HW sa teda navrhne "univerzálne" a softvérový prílepok ide následne krvopotne na mieru. Pri PS5 a XSX bol celý laický internet absolútne presvedčený, že ich HW nezvládne vo veľkej hre naraz dynamickú GI /globálna iluminácia kvality radiosity/ spolu s RT. Unreal engine 5 to dokázal, ale tomu hernému HW paradoxne za veľa nevďačí. Posledné Matrix UE5 demo je významne technologicky vylepšené oproti tomu prvému jaskynnému pre PS5. Kecať o detailoch tejto práce je zbytočné, proste mi verte, a je pred nimi ešte kvantum ďalšej práce /Nanite si nerozumie s dynamickou geometriou, Lumen RT s trasparenciami atď./ Aj Lumen, aj Nanite modul sa však priebežne masívne vylepšujú.

Amiga a 100% SW 3D renderer - ako si to urobíte, tak to máte

UE5 je viacnásobný softvérový renderer, čo beží na GPU. Je to presne ako 25 rokov starý Quake engine, ktorý ak treba nemusí mať nič spoločné s HW akceleráciou na GPU /bez 3dfx Voodoo GPU bežala aj rasterizácia iba na CPU/. Natívne UE5 na PS5 môže bežať kompletne v "softvére", čo umožňuje dokonale kustomizované riešenie grafickej pipelajny /otrasne komplikovaná časť ich enginu/. Ich softvérová rasterizácia je bežne o 200-400% rýchlejšia pre malé polygóny Nanite ako natívny HW rasterizér. PS5 GPU v SW by teda ľahko porazila aj Nv3090ku v HW. UE5 je podľa potreby hybridný softvérový/HW rasterizér a na RT efekty môžte použiť aj prítomný HW modul. Pointa je však jasná - veľká časť hardvéru desiatky rokov kľúčového pre beh hier je kompletne nahradená softvérovou variantou a špičkoví kóderi z iných dev tímov, by najradšej vyhodili úplne všetko a nechali tam iba čistý kód, lebo HW v dnešných grafických kartách je proste na draka.

Typický dnešný problém. Pre súčasný Nvidia RT modul a DX RT API platí to isté, čo pre HW rasterizér v UE5. Je príšerne primitívny, neflexibilný a pochopiteľne pomalý /API aj HW/. Logika veci hovorí, že to proste zrýchlime tak, že väčšiu plochu čipu nabudúce vyhradíme pre viac RT jednotiek. A to je Hlava 22 dilema a čo napíšem mám od skutočne špičkových soft/HW inžinierov. Nikto netuší, kde vlastne potreby herného RT budú o 5-10 rokov a akým smerom vlastne RT interne rozpracovať. Kto to má urobiť ? Kto z výrobcov GPU grafík sa má ako pionier, brodiaci stopu snehom, obetovať. Namnožiť RT jednotky navyše nemá zmysel, potrebujeme totiž rýchlejšie generovanie BVH na čipe. BVH je index zjednodušujúci streľbu RT lúčov proti trojuholníkom na scéne. Zatiaľ, ale stále riešime ako to urobiť efektívne a opäť netušíme, čo vlastne budú potrebovať grafické herné enginy o 2-4-6 rokov. Nižšie máte >jeden< z návrhov smeru, ktorým sa môžte vybrať na budúcich GPU, napríklad na triede Nv4xxx. Je to však správna úvaha, ktohovie ? Dnes je HW RT na úrovni číslo tri.

Level 0 – klasická rasterizácia
Level 1 – softvérový raytracing na CPU/GPU
Level 2 – testovanie intersekcií ray/box a ray/triangle v RT HW
Level 3 – Bounding Volume Hierarchy (BVH) akcelerácia v RT HW
Level 4 – akcelerácia BVH  a spracovanie koherencie v RT HW
Level 5 – akcelerovaná BVH a koherencia plus generátor hierarchie objektov na scéne v RT HW

Ak sa vám zdá stále nemožné, že PS5 zvládne dynamickú globálnu ilumináciu spolu s raytracingom, tak vedzte, že je za tým špičková práca kóderov /softvérový renderer a softvérové riešenie BVH/ nie práca toho grafického HW. Otázka potom zneje, na čo to vlastne na tom silikóne vôbec máme. A môžte ísť ešte hlbšie - otvorené sa hovorí, že Tensor jednotky - TU /ML logika/ na Nvidia GPU sa ledva pretáčajú, aj keď na nich beží nadoraz DLSS. Na GPU teda máte slabo využité TU /aké dot produkty ML vlastne budeme potrebovať v ďalších rokov?/, nedopečené RT /tie isté otázky/, na UE5 doslova vypnuté HW ROPs /čo s ním ďalej, softvérovo na GPU sa toho bude riešiť ešte oveľa viac/ a jediné čo beží naplno je vlastne rozsiahle SIMD pole /tie FLOPs a stovky wattov tepla/, lebo sa snažíte veci riešiť softvérovo, po starom. SIMD by ale chceli lokálne oveľa viac vlastnej RAM v štýle Infinite RAM v AMD grafikách. Hovoríme však o potrebných stovkách megabajtov, nie desiatkach a opäť ide o stávku do lotérie. Na PC je zas problém efektívne /latencia, energia, prachy/ obehať systémovú RAM, grafickú RAM a eventuálnu pol gigabajtovú SIMD RAM. Ak do mašiny vrazíte špecializovaný HW, tak čakáte, že to urobí lepši, ako keby bežal v bežnom kóde na CPU alebo GPU. Nie sme však čase hry Quake a táto stará pravda zrazu prestáva platiť.

AMD je pri dizajne svojich GPU konzervatívnejšie /mešká s ML, jednoduchšie RT/, Nvidia progresívnejšia a je jasný líder v silových novinkách. Na príchod Nv4xxx sériu sa všetci tešia, hlavne po relatívnom fiasku s Nv3xxx /nedostupné, drahé, na natívne 4K/60/RT bez DLSS zabudnite/. Kríza s nedostatkom kapacít pre výrobu čipov však bude pokračovať podľa mňa až do roku 2023. A informačné úniky skôr naznačujú, že menší výrobný proces pri GPU sa preleje do viac tranzistorov a tie mechanicky do vyššieho počtu akýchkoľvek výkonných jednotiek. Menej jemnej práce /ako som povedal, kto má vedieť ako vlastne grafický HW špecializovať !/ a viac hrubého výkonu s stovkami wattov odpadného tepla. Skutočná veda a výskum teda bude bežať na konzolách limitovaných fixným HW a 200 watt TDP budgetom a odtiaľ sa bude prelievať do dizajnu budúcich PC GPU. Osobne sa mi teda Nv4xxx javí ako "viac všetkého" za veľké peniaze a aspoň 850 watt PC zdroj, aby som tu nádheru uživil. Nepôjde podľa mňa o to pravé orechové. PS5DE alebo PS5DE Pro bude vhodnejšia na preklenutie tohto obdobia, než lepiť dokopy neperspektívne 2500 eurové PC zostavy do príchodu PS6. Za B do roku 2040 chce EU stopnúť vykurovanie domov fosilnými palivami. Je iba otázka času, kedy si došliapne aj na terawatty krypto baníkov alebo na high-end PC zostavy. Musíme sa to naučiť robiť oveľa efektívnejšie per watt. Konzoly berte ako školu, kde vás to naučia.

2 comments:

  1. Tento článek mi připomněl, jak jsem před časem sledoval nějaké video, kde borec srovnával staré MS-DOS 3D hry pod "3D kartou" S3 Virge a bez ní jen software render. A vítězem nejen v rychlosti byl, ano jednoznačně software render...

    ReplyDelete
    Replies
    1. ... GPU vendors s laskou teraz spominaju na celu dekadu, kde stacilo mechanicky dvihat hertze, pocet pixel/vertex shaders, inkrementovat poradove cislo GPU o jedna kazdych 18 mesiacov a o nic ine sa nestarat.

      ... pisem, ze gfx vedecka spicka je nespokojna s HW je slabe slovo .. preto sa na to Epic vysral a novu paradigmu si nakodoval v softe a primarne pre konzoly .. PC nech sa trochu vymoci v septiku .. MS bude musiet na novom DX RT API mocne popracovat .. tie super konziliarne stretka s world kodermi musia byt uzasne .. a pretoze HW bude chvilu v chaose, tak kvantum veci sa bude placat v softe.

      ... ako HW vs SW sprajty .. a my vieme svoje.

      Delete

**** pre vloženie hypertextového odkazu do komentára použi CSS kód: hyperlink ****