• BiroAndras
    #494
    "Azt már most lehet tudni (elméletileg és gyakorlatilag is), hogy a Cellt még mindig sokkal könnyebb programozni, mint a GPU-t általános számításokra használni."

    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.
    A játék döntő része továbbra is a CPU-n fut, így nincs vele gond.
    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.
    Emiatt hiába nehezebb (ma még) a GPU-t programozni, összességében azzal könnyebb a dolgunk.

    "Azután sem tudod, hogy belenéztél a doksikba, és a legalapvetőbb dolgokat megnézted???"

    Le volt írva pár elméleti nehézség. Nem volt leírva, hogy konkrétan mit hogy kell csinálni. Egyébként is, hogy mennyire nehéz valami, az legjobban akkor derül ki, ha az ember megpróbálja.

    "1. Nem az egész játékot kell átírni Cellre:"

    Hanem? Lesz még más proci is a PS3-ban?

    "GPU shaderkódok: némi optimizáció az adott GPU-ra (PC-n is szokás)"

    Ez elenyésző része a kódnak. És ahogy te is mondtad, optimalizálni kell ezeket is.

    "Egyéb kódok (grafikával kapcsolatos egyéb kódok, fizikával kacsolatos kódok [külső motor API-jának használata], stb.) alapesetben: recompile"

    Leeht, de így messze nem használod ki a cell-t, márpedig arról volt szó, hogy ez a cél.

    "Nem alapesetben, bizonyos teljesítményigényesebb részek: na ezeket külön meg lehet csinálni SPE-kkel, vagy külön szálon a PPE-vel."

    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.

    "Ezek általában inkább új, extra fejlesztések lesznek, a Cell fennmaradó kapacitásának kiaknázására. És főleg csak ezeknál kell odafigyelni a feltételekre."

    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.

    "Lehet, hogy nem kételkedtél, de nem ezt kommunikáltad, amikor azt írtad, hogy fizikára és hasonlókra használható."

    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.

    "Éppen arról van szó, ha mást is a GPU-val akarnak csinálni: megoldható, de nem könnyű. Akkor már a Cell programozása sokkal könnyebb."

    De a GPU-t nem akarjuk másra használni. Legalábbis játékokban nem, és most azokról beszélünk. 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). 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.

    "És a fizika itt is megvan."

    GPU-n is.

    "Itt nem a hátrány a lényeg, hanem hogy nem kevés időbe tellt."

    Mert nem csak fizikát csináltak, hanem komplett SDK-t, amitől mellesleg mindenki másnak gyorsabb lesz a fejlesztés.

    "Ha nem vetted volna észre, az Nvidiának is van SDK-ja hozzá. gpgpu.org..."

    Annál inkább nekem van igazam.

    "A hasonlóság alapja a SIMD(/MIMD) végrehajtás (vektor-kód). No és mit gondolsz, a CPU esetén mely egységet használják teljesítményigényes dolgokra?"

    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.
    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.

    "Dehogy lehetetlen: 20-25 GB/s-sel éri el a main ramot is."

    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. 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.

    "A textúratömörítéstől nem lassulnak a dolgok (kitömörítő egységek real-time tömörítik kifelé feldolgozáskor), hanem gyorsulnak a kisebb sávszéligény miatt."

    Ha a GPU tömöríti, akkor igen. Viszont attól gyorsul a játék, hogy több textúra lehet egyszerre a memóriában.

    "Viszont a tömörítetlen némileg szebb."

    Jó, valamennyire lehet szebb, de messze nem annyira, mintha pl. dupla felbontású textúrákat használnának. Én erre gondoltam.

    "G7x van benne."

    Akkor a köv. generáció (ami már csak a Vista csúszása miatt késik) lesz erősebb.

    "Mi lenne, ha inkább nem találgatnál, akkor talán nem írnál butaságokat."

    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. Viszont ez azt jelenti, hogy a cell-nek csak 256MB RAM jut, ami már egy mai PC-hez képest is nevetséges.