Hirdetés

Keresés

Hirdetés

Új hozzászólás Aktív témák

  • Abu85

    HÁZIGAZDA

    válasz copass #76 üzenetére

    A Lumen leginkább azért szólt akkorát, mert az UE-ben eddig hasonló GI megoldás nem volt. De minőségileg a raszterizálást alkalmazó megoldások közül még mindig a CryEngine-féle SVOTI viszi a prímet.
    A legjobb megoldás alapvetően egy RT-féle GI, de ez kurva lassú és dinamikus LOD nélkül marhára memóriapazarló, így ma még mindig trükközünk. Az SVOTI abból a szempontból előnyösebb, mint a Lumen, hogy alkalmaznak rajta egy olyan LOD határt, amin belül mindent háromszögekre számolnak, hogy precíz legyen, és ezen a határon túl jön a voxeles trükközés. Persze ez nagyrészt annak köszönhető, hogy a Crytek már fél évtizede bevezette ezt, tehát bő 5-6 évvel több fejlesztés van a saját implementációjukban, mint a Lumenben, így természetes, hogy a Lumen nem ugorja rögtön át az SVOTI-t, de hasra esni nem kell tőle csak azért, mert korábban az UE-ben nem volt értékelhető GI, és most lett.

    Viszont nem animációs sorozatokat készítesz, ahol megint tudják a cégek, hogy mi a lassú és mi a gyors. Sőt azt is tudják, hogy mekkora memóriát foglal le a jelenet. Ezért mondtam, hogy a saját kis világod vetíted ki a piacra, és elképzelhetetlennek tartod, hogy vannak olyan piaci szereplők, akik 200-300 GB-os jelenetekkel dolgoznak. Egy ilyen jelenet nálad is csak CPU-val működne.

    A komplex jelenet abból a szempontból probléma, hogy a GPU-k egyfajta SIMT rendszerek. Amikor kapnak egy shadert, akkor annak a shadernek van egy regiszternyomása. A rendermotorokben azért nem ritkák azok a fajta übershaderek, amelyek olyan jelentős regiszternyomással dolgoznak, hogy egy GPU-n belül a multiprocesszor nem tud egy szálnál többet futtatni párhuzamosan. Ezzel bukod is a GPU sebességét, mert nincs elég szál arra, hogy átlapold a memóriakésleltetést. Ez a probléma a CPU-knál azért nem gond, mert azok eleve egy szálra optimalizált magok, és kurva sok cache-t használnak egy szálra levetítve. A GPU-k addig a pontig gyorsak és hatékonyak, amíg a regiszternyomás az optimális wave-határon tartja a működést, amint egy olyan shader jön, hogy szuboptimálissá válik a konkurens wave-ek alacsony száma, rögtön jelentősen veszít a hardver a sebességéből, mert abban rejlik a GPU ereje, hogy párhuzamosan dolgozik, de ha egy szálnak annyi regiszterre van szüksége, amennyi összesen van a multiprocesszorban, akkor nem nem tud a GPU második szálat indítani, vagyis az adatpárhuzamos végrehajtásnak lőttek. Emiatt tudják a CPU-k lehagyni komplex jelenetekben, komplex shaderekkel a GPU-kat.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

Új hozzászólás Aktív témák