2. 6. 2010

eDRAM

Predstavte si, že s veľkou slávou a po dlhom vývoji predstavíte svetu špičkovú vrtuľovú stíhačku. Už sa vidíte, ako tempujete kraulom v mori zarobených chechtákov, sťaby strýko držgroš McDuck. V tom príde ku revolučnému, dejinnému zvratu a behom roka každý lieta s prúdovým motorom v zadku. Presne to je technológia eDRAM /malá pamäť s veľkou priepustnosťou integrovaná priamo do GPU čipu - náš prípad/ dnes. Je všeobecne akceptovaným faktom, že DVD xcrap zásadným spôsobom na mnohých frontách brutálne limituje možnosti multiformatových hier /achillovky - CPU, DVD, non HDD/.

Oveľa zásadnejším spôsobom, priam fundamentálnym, však xcrap padol na hubu pri "nepredvídateľnom" nástupe deferred renderingu-DR a jeho variantov /inferred rendering, light-pre pass a mnohí ďalší/. Pri DRku je nasvietenie ODDELENÉ od geometrie, používa sa extra buffer ev. niekoľko, kompozícia do finálneho obrazu je .. "oneskorená", na scéne môže byť "nekonečné" množstvo svetiel, počet limitovaný vlastne iba fillrejtom, v KZ2 bežne aj 350 svetiel na frame. V GoW3 do 40 svetiel na jeden objekt. Najnovšie sa nám celkom otvorene zdôverujú progiši z Just Cause 2 a BLUR tímu. Hovoria o jasnej nekompetencii eDRAM technológie, a veľkej bolesti v zadku pri práci s ňou. Brzda. Nenechajte sa rozptýliť rozprávkami o jej nekonečných výhodoch. Všetky totiž ostali v minulom storočí.

V čase, keď sa BLUR tím rozhodoval o zásadnej zmene, paradigme, návrhu enginu, ktorý vyrieši ich problém, ako naplniť svoje umelecké vízie. Teda more áut-geometrie a záplava svetiel na trati. Rýchlo zistili, že sa táto predstava NEDÁ naplniť pri použití klasického forward enginu-FR , pre ktorý bola eDRAM bezpochyby primárne navrhnutá. Ich hra BLUR by bola stále tou istou hrou, ale devastujúcou vizuálne chudobnejšou. Rádovo o 2 triedy. Namiesto stoviek, iba chudobné desiatky alebo "jednotky" svetiel. DR však manipuláciou s buffermi umožnuje aj kvantum iných grafických trikov, nielen hranie sa zo svetlom. Nezabudli zdorazniť, že flexibilnejšia PS3 architektúra nemá tieto obmedzenia v tak tragickom rozsahu. BLUR v PS3 only verzii by mohol byť ešte výrazne krajší. Už som tu spomínal testy Killzone 2 DR enginu, kde PS3 utiahla s nízkym framerejtom : 100 svetiel vrhajúcich tiene, 10 000 objektov a stovky miliónov polygónov bez toho, aby im systém padol.



natívny PS3 Phyre engine, použite forward rendering,
dosiahnete tú istu vizuálnu kvalitu, ale
- cca na 2-10 fps !!!

Chlapík z Just Cause 2 tímu presvedčivo deklamuje, že po takmer troch rokoch práce s xcrapom im eDRAM vyslovene stojí v ceste moderným postupom pri super-optimalizovaných non forward render enginoch. Jej nedostatočná veľkosť je zásadný problém, nutnosť delenia-tiling bufferov, aby sa vám to tam vošlo je ešte zásadnejší problém, nemožnosť zobrazenie priamo z eDRAM je kravina roka. Xcrap CPU nemôže zapisovať do eDRAM a GPU počas kopírovania dát z eDRAM do UMA pamäte stojí a čaká na koniec prenosu. Rozdiel kozmických rozmerov pri porovnaní s PS3, kde RSX a SPE rendering beží PARALELNE, a SPE kód je autonómny, nezávislý od "centra". Samotný SPE rendering v operáciach preňho vhodných je VŽDY rýchlejší a kvalitnejší, ako to isté realizované na xcrap GPU. Chlapík z Just Cause 2 ďalej tvrdí, že dnes je najvypuklejším problémom výkonnosť ALU /shaders/ a ROPs jednotiek /textúrovanie/ a vymenil by každý tranzistor v eDRAM za viac logiky pre prvých dvoch menovaných. CELL SPE pole vcelku úspešne rieši OBE tieto problémiky. Je nutné si uvedomiť, že Alan Late by v "PS3" rozlíšení 720p neuniesol prakticky žiaden zo svojich časticových-hmlových efektov, postefektov, a ani sám antialiasing, ktoré ho dnes v 540p a v roztrasených 20-30fps delia od starého HL2 v HDR režime na desaťročnej grafike.

Dnes, keď programujete multiplatformu, každý si už konečne jasne uvedomuje tieto polená hodené pod nohami. Xcrap - hrubo nedostatočná úložná kapacita, nemožnosť HDD kešovania /textúry, geometria, zvuk/, slabučké CPU /CELL zvláda DX 11 compute shaders, odkazuje DICE BF tím/. Obrovské problémy xcrapu s DR technológiou, ktoré idú hlavne na vrub prekonane navrhnutej eDRAM. Musíte zásadným spôsobom ohnuť svoj engine, aby to ten šmejd slušne rozbehal. To čo po rovnakom úsilí a na doraz rozbeháte na PS3, vám na xcrape bude padať na hubu. Každá multiplatforma je od prvej sekundy domrvená billovým hárdverom. Smradľavý dízel na trati pre monopost F1, ktorou je PS3.



EE+GS+eDRAM, PS2 na jednom čipe

Pre eDRAM nesvitá lepšia budúcnosť ani v ďalšej generácii. Jej sláva skončila s PS2kou /žiadne shaders, výkonná rasterizácia, naopak potreba vysokopriepustnej zbernice do backbuffera - proste zastaralý stredovek/. Ak by sa niekto pokúsil vyrobiť ju pre PS4ku "moderným" spôsobom, pri splnení hore spomenutých kritérii a o rozumnej veľkosti /dnes je tým rozumným minimom niečo okolo 32 mega/ - sama o sebe by stále jej výroba viac, ako je cena konzoly celej. Budúcnosť je obludné množstvo objektívne flexibilných GPGPU ALUs-SPE, metre ROPs, UMA pamäť - paradoxne design tak jednoduchý ako prvé 8 bity. Amiga, ak sa niekto ozve, nie je dobrým vzorom /chip ram, fast ram, plný fúrik špecializovaných čipov/.