Hirdetés

Hirdetés

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

  • Abu85

    HÁZIGAZDA

    válasz gbors #12965 üzenetére

    A GPU-n belüli parancsfeldolgozással nincs gond (illetve van, de nem ettől, hanem az aszinkron végrehajtási modell hiányától). Azzal van gond, hogy a processzor nem adja oda elég gyorsan a parancsot. Ezt Repi több prezin is elmondta, hogy ez olyan probléma, amivel sem ők sem pedig az AMD/NVIDIA/Intel nem tud mit kezdeni a driverekben. A BF3-ban is érezték, illetve ezért próbálkoztak a deferred contexttel, de attól még rosszabb lett a helyzetük. Utána mentek oda az Intelhez, az NV-hez, majd végül az AMD-hez, hogy kéne egy új API. Az AMD bevállalta és a többit már ismerjük.
    Akármilyen programot vagy drivert írhatsz az nem tud mit kezdeni azzal, hogy az API túl lassan dolgozik.
    Nincs lényeges különbség az NV és az AMD driverei között, ha nincs deferred context. Immediate context alatt mindkettő nagyjából ugyanolyan gyors. A deferred contextet meg az AMD nem támogatja, mert egyrészt láthatóan nem működik, másrészt úgy tudnák megoldani ahogy az NV. A processzorból fixen elvesznek egy magot csak a parancslistához. Kétmagos prociknál ez nagyon nem ajánlott. A Thiefbe is úgy van már beépítve a deferred context, hogy csak akkor aktiválja a játék az NV-nek ezt a módot, ha legalább hat logikai processzort detektál. Egyébként ennek a játéknak nagyon jó a deferred contextje 4 hónapot csak ebbe öltek bele a fejlesztők. Lényegében elérték, hogy sose legyen lassabb, mint az immediate context manuális threading mellett. Ez eddig csak a Civilization 5-nek sikerült. A legnagyobb kérdés, hogy az a 4 hónap megérte-e, mert a hat+ szálas procikon nyertek vele 2-5%-ot az immediate context manuális threading modelljéhez képest.
    Nem véletlenül felejtjük el a szekvenciálisan dolgozó API-kat és állunk át teljesen a konzolokban látható parallel command buffer API-kra. A Mantle mellett a DirectX 12 és majd az érkező OpenGL 5 is ilyen lesz. Akármennyire ragaszkodott az MS deferred context koncepciójához nem elég a prebuild adatok többszálúsítása, mert akkor is egy render threadben fut össze minden. Utóbbit kell többszálúsítani. Amíg ezt nem osztjuk szét, addig szopunk. Nyilván azért az MS is védhető mert ők nagyon univerzálisan akarnak gondolkodni. Nem akarnak előnyt adni egy gyártónak a parallel command buffer modellel, de van amikor be kell vállalni. Idővel mindenki tervezni fog rá ideális architektúrát.

    [ 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