"Mint már többször elmagyaráztam, a GPU-t csak arra kell használni, amiben jó (leginkább fizika). Tehát olyan feladatot bízunk rá, amit a legkönnyebben és leghatékonyabban meg lehet valósítani vele. Sõt, mások már meg is írták."
-- Ejj, ejj, no és mi lesz azokkal a feladatokkal, aminek kell a mat.szám.telj.??? (Amihez egy CPU kevés.)
"A játék döntõ része továbbra is a CPU-n fut, így nincs vele gond."
-- Nincs, amíg elég ez a teljesítmény.
"Cell-en viszont mindent azzal kell megvalósítani, akár könnyû, akár nem. Tehát a kód 5%-a heylett a 100%-át kell átírni, és nem lehet váloagtni."
-- Csak amikor már ott tartunk, hogy annyi feladatunk van, hogy fullra ellátja a Cellt...
"Emiatt hiába nehezebb (ma még) a GPU-t programozni, összességében azzal könnyebb a dolgunk."
-- Hibás az egész gondolatmeneted...
"Le volt írva pár elméleti nehézség. Nem volt leírva, hogy konkrétan mit hogy kell csinálni."
-- Rossz doksit néztél... Alaposan ki van elemezve, ill. kidolgozva, mit hogy jó csinálni, stb.
Azt tudtad egyébként, hogy a Cellbõl két változat született? Az elsõben egyszerûbb volt a PPE, és az elsõ leírások arról szóltak, és az elsõ kritikák egy része arra vonatkozik. Utána kibõvítették (de ez sem mai történet). A PS3-ban már természetesen a második válzozat lesz.
"Egyébként is, hogy mennyire nehéz valami, az legjobban akkor derül ki, ha az ember megpróbálja."
-- Nyilván, de azért van némi elõzetes fogalma, de nem annyira felületes, mint amit itt elõadsz, és ami erõsen túlzó a negatív irányba.
"Hanem? Lesz még más proci is a PS3-ban?"
-- Ne kérdezgess, mielõtt elolvasnád az egész szöveget.
"Ez elenyészõ része a kódnak."
-- Nem mondanám, hogy elenyészõ része. Többszáz shader-kód van egy-egy mai játékban, és ezek megírása nem kis idõ.
"És ahogy te is mondtad, optimalizálni kell ezeket is."
-- Ha speciel NV4x-rõl vagy G7x-rõl kell átvinni, akkor szinte semmit. Más esetben meg a szokásos.
"Leeht, de így messze nem használod ki a cell-t, márpedig arról volt szó, hogy ez a cél."
-- Lásd amit az elõzõben írtam errõl.
"Maga a többszálúsítás rettenetesen macerás feladat, ha nem viszonylag független részekkel dolgozunk. Pl. a render motor és a kód többi része is intenzíven használja a modeleket, így rengeteg kódrészt kell szinkronizálni (iszonyat sok nehezen megfogható hiba). A számolósabb részeket meg az SPE-kre kell átrakni ami megint rengeteg adminisztrációt igényel."
-- Nos a PS3 és az Xbox360, vagy akár a többmagos procik, fizikát számoló különegységek(et támogató API-k) már egy ideje napirenden vannak, aki okos volt, még egy ideje úgy tervezte a dolgokat, hogy ezekre is gondolt, és legalább alapszinten modulárisra alakította a kódot...
"Ez esetben mesze nem használod ki a cell-t. Kapsz egy a régihez hasonló játékot jobb fizikával, meg nagyobb textúrákkal, és ennyi. Én pont azt mondom, hogy szerintem az elsõ játékok ilyenek lesznek."
-- Én itt már az újabb generációs fejlesztésekrõl írtam, amik éppenhogy már alaposabban kihasználják a Cellt, de mindegy.
De a Cellt csak alapszinten kihasználó (ebben már benne van az SPE-s fizika, mert az adott, szabvány API-kkal) játékok sem merülnek ki feltétlenül "jobb fizikában", hanem akár alapvetõen igen ütõs fizikával rendelkezhetnek. (Ami nem merül ki pár kis extra effektben.)
Egyébként te azt mondtad, hogy a PPE olyan gyenge, hogy ilyen eset fel sem merül, hanem mindent eleve totálisan át kell írni.
"Pont errõl van szó. Ezekre lehet könnyen, és hatékonyan használni. Ha más jellegõ feladatokra akarod használni, akkor sokkal nehezebb dolgod lesz, és nem gfogod tudni kihasználni a GPU teljesítményét."
-- Igen, én is ezt mondom, hogy használható másra is, de nem egyszerû történet. Éppen ezért érdekes, amikor PS3 esetén jössz a nehéz fejlesztéssel, PC esetén meg úgy állítod be, mintha mint megváltás lenne jelen a GPU-s számítási lehetõség. Ez nem elfogultság, ferdítés?
"De a GPU-t nem akarjuk másra használni. Legalábbis játékokban nem, és most azokról beszélünk."
-- De akkor honnan szeded majd azt a sokmindenre használható mat.szám. teljesítményt, ami által megfelelhetne a PS3-nak egy PC belátható idõn belül...?
"Igan, a cell-t könnyebb programozni. Ezétr is abból épít szuperszámítógépet az IBM, és nem GPU-kból. De PC-n csak fizikát akarunk vele számoltatni, ami annyira nem nehéz (fõleg, hogy lesz hozzá kész motor is)."
-- Pedig PS3 esetén megjelennek majd más érdekes alkalmazásai is a rendelkezésre álló mat.szám.telj.-nek...
"A jövõben pedig sokkal könnyebb lesz a GPU programozás, mert a gyártók felismerték a lehetõséget, és készülnek hardver és driver oldalon is."
-- Azért ne dõlj már be ennyire a marketingnek! Úgy lehet sok shader egység egy GPU-ban, hogy azok sokkal egyszerûbbek, mint egy proci. Azaz, némileg könnyítenek majd a helyzeten, de olyan könnyû késõbb sem lesz, mint egy proci esetén.
"Mert nem csak fizikát csináltak, hanem komplett SDK-t, amitõl mellesleg mindenki másnak gyorsabb lesz a fejlesztés."
-- Végülis nem is tudom, mit értesz itt új SDK-n. Tudtommal nagyrészt HLSL-ben folyik a shaderkódolás, és már egy ideje így van, és voltak is hozzá feljesztõi környezetek... Ezek igazából csak megkönnyítik a fejlesztést, de nélkülük is meg lehet írni egy HLSL kódot. (A DirectX9.0c része a fordító.)
"Annál inkább nekem van igazam."
-- De az már évek óta létezik. (Ha az, amire gondolok, de szerintem az.)
"Egyrészt csak arra használják, amire jó, így azokat a kódokat nyílván könnyebb portolni. Viszont az összes kódot portolni kell, nem csak ezeket."
-- És a többi kódot (FPU-sat is beleértve, tehát alap C-s kód) miért lenne nehezebb? Azt még könnyebb, általában csak egy recompile. Persze azért lehetnek részek, amit egyszerû PPE-re portoláskor is módosítani kellhet. (Pl. az endianessre kell odafigyelni.)
"Másrészt CPU-n nem kell párhuzamosítani az SSE kihasználásához, az SPE-khez viszont kell. A Physix esetén meg eleve külön chip-en fut a cucc, így a párhuzamosítási gondokat már megoldották."
-- 1. A PPE-ben is van VMX egység (ráadul SMT-t támogató), alapesetben azt is lehet használni, akkor sem kell párhuzamosítás.
2. A Physix API-t használó kód PS3-on "automatikusan" SPE-s Physix-szoftvert fog használni.
"Nem a sávszélességrõl beszélek, hanem a mennyiségrõl. Összesen 512MB RAM lesz a PS3-ban. Ha ebbe egyszerre be kell tölteni 512MB textúrát, akkor problémák lesznek."
-- Na jó, de akkor sem lehetetlen. ;)
"Persze ennyi azért nem fog kelleni, de azért a HD felbontáshoz nem kicsi textúrák kellenek. Lehet persze megoldást találni erre is, de ez megint egy újabb megoldandó probléma, ami nehezíti a fejlesztést."
-- Mondom, hogy több mai játék 256MB VRAM-mal is nagyszerûen néz ki nagyfelbontásban is. Meg ilyen nagyteljesítményû pixelshader teljesítmény mellett vagy egészében real-time generált, vagy real-time módosított textúrák is használhatók.
"Ha a GPU tömöríti, akkor igen."
-- Hát mi tömörítené ki? Ejj, ejj, hát játékfejlesztõ létedre nem tudod, hogy a textúra-tömörítésen alapvetõen ezt értik?
"Viszont attól gyorsul a játék, hogy több textúra lehet egyszerre a memóriában."
-- Ettõl inkább szebb lesz... A vinyóról való real-time betöltés renderelés közben meg nem opció, olyan lassú.
"Jó, valamennyire lehet szebb, de messze nem annyira, mintha pl. dupla felbontású textúrákat használnának. Én erre gondoltam."
-- Nyilván, de mint látható volt, 256MB VRAM-mal is éppen elég szép tudott lenni. (Fõleg ha beleszámoljuk a nagyon gyors shadereket, amikkel szintén lehet manipulálni.)
"Nem véletlenül írtam, hogy "ha jól rémlik". De most utánnanéztem (te is írhattál volna valami konkrétumot). Valóban rosszul emlékeztem, az xbox-nak lesz osztott RAM-ja."
-- Sejtettem, de nem voltam benne biztos, hogy én jól emlékszem arra, utánanézni nem volt kedven, így inkább nem írtam. És végülis itt lényegtelen is.
"Viszont ez azt jelenti, hogy a cell-nek csak 256MB RAM jut, ami már egy mai PC-hez képest is nevetséges."
-- Ha egy teljes, ráadásul erõsen pazarló OS van jelen, ugyancsak erõsen pazarló programokkal, akkor kevés. De egyébként nem olyan kevés az. Bár nyilván lehetne több is. Viszont nagyon gyors...! És programkódot+egyéb adatot még mindig jobban lehet vinyóról töltögetni real-time (párhuzamosan más feladatokkal, tehát várakozás nélkül).