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

  • Abu85

    HÁZIGAZDA

    válasz GeryFlash #26745 üzenetére

    Pont azt írja, hogy nem használnak DXR-t. Amit én is írtam.
    Szerintem amúgy pokolian leegyszerűsítitek az egész problémakört, pedig az nem csak a sugarakból áll. Még DXR-nél sem szokás 4K-ban pixelenként sugarat kilőni, mert nem tudsz mit kezdeni velük. Azzal ugyanis, hogy sok a sugár még semmit sem érsz el. A sok sugár ugyanis sok mintavételt eredményez, miközben a legnagyobb problémáját az egész sugárkövetésnek a nem koherens adatelérés jelenti. Tehát nem az számít, hogy ki tudsz-e lőni sokkal több sugarat, hanem az, hogy a hardver képes-e megfelelő időben visszatérni annyi nem koherens mintavétellel, és ez már kizárólag a memória-sávszélességtől függ. Emiatt van az, hogy ma kétféle opció van a sugárkövetésnél. Vagy négy pixelenként számolsz egy sugárral, de maga a sugár hosszabb lehet, vagy egy pixelenként számolsz vele, de rövidebb sugarakkal. A limitet a mintavétel jelenti mindkét esetben, alapvetően a pixelenkénti négy sugár is beleférne a hardveresen gyorsított megvalósításba, csak a mintavétel miatt annyira röviden kellene a sugarakkal számolni, hogy gyakorlatilag alig találnának el valamit. Mert attól, hogy van erre egy fixfunkciós hardvered, még nem biztos, hogy megvan a memória-sávszélességed a probléma megoldásához. És ez az a tényező, ami miatt a Crytek sem a DXR-t választotta, mert a mintavételek tekintetében ugyanazok maradnak a limitek, ugyanúgy gondot fog jelenteni a nem koherens adatelérés, de például sokkal jobb megoldás, ha kevesebb sugarat használsz, és azokat messzebbre lövöd ki, mert mintavételben ez relatíve kellemes, és az adatokkal amúgy is elég sokra lehet menni. Jó példa erre a SEED-féle Pica Pica tesztprojekt, ahol arra a következtetésre jutottak, hogy inkább megéri négy pixelenként sugarat küldeni, majd spatiotemporális szűréssel rekonstruálni az adatokat natív felbontásra. Nem véletlen, hogy ezt csinálja a CryEngine is. Egyszerűen kevesebb sugárból sokkal jobb lesz az eredmény, mert a kevés sugár miatt azok távolabbra mehetnek, és több hasznos információ keletkezik, miközben a hardverek engedte memória-sávszélesség korlátain belül maradsz.

    Tehát az önmagában igaz, hogy a hardveres gyorsítás több sugarat enged, de amíg nem raksz alá 2-3-4 TB/s-ot, hogy a hardver több sugár mellett is kellő távolságra tudja kezelni a problémát, addig a jelentős limitet a nem koherens adatelérés jelenti, nem pedig a kilőhető sugarak száma. Szóval nem az a kérdés, hogy egy fixfunkciós hardver mit enged meg a sugarak számát tekintve, hanem az, hogy mi az a pont, amikortól a memória-sávszélesség már nem tudja kiszolgálni ezt. És hamarabb jön el az utóbbi limit, mint az, hogy a több sugárnak előnye legyen. Ha nem így lenne, akkor a Crytek is DXR-t használna.

    Ha mondjuk idén jönnek az új csúcshardverek 1-2 TB/s közötti sávszéllel, akkor ott már a Crytek is jobban járna a DXR-rel, pláne inline raytracing mellett, mert lenne értelme sok sugarat kilőni, a memóriaalrendszer elég erős ahhoz, hogy a nem koherens adatelérés kevésbé jelentsen limitet. De a mai hardverek azért nincsenek az 1 TB/s közelében sem.

    [ 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