Keresés

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

  • Abu85

    HÁZIGAZDA

    válasz Abu85 #30558 üzenetére

    [link] - egyébként megtaláltam a PDF-ben ezt a linket. Itt az NV ecseteli a fejlesztők számára beépítendő trükköt, ami gyorsítja a feldolgozást a GeForce-on némi extra másolás mellett. DX11-ben az egészet driverből kezelik. DX12-ben a fejlesztők egy része használja a javaslatot, míg egy másik része nem. Nyilván pro-kontra érv van mellette. Az előnye az, hogy a GeForce úgy ~10%-ot is gyorsulhat tőle a teljes képszáímtásra levetítve, de hátrány az extra másolás, ami GPU stallt okoz, tehát az Intel és az AMD hardverei buknak pár százalékot, ahogy a GeForce is, csak itt összességében előny a gyorsabb hozzáférés.
    Emiatt egyébként nincs is egyetértés a javaslatokban. Az NV a másolós megoldást javasolja, míg az Intel és az AMD ellenzi, mert számukra ugyanolyan gyors a strukturált pufferek elérése is.
    Driverből DX12-ben ezt nem lehetetlen alkalmazni, de időigényes megvalósítani. Lásd a Hitman című játékot, ahol meg kellett várni, hogy a fejlesztők már ne nyúljanak a leképezőhöz, de amint belőtték hozott is ~10%-ot.

    [ Szerkesztve ]

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

  • namaste

    tag

    válasz Abu85 #30558 üzenetére

    Az API felépítése miatt nem lehet kihasználni a sok magot: soros feldolgozás, felesleges ellenőrzések, ugyanazt az adatot a CPU az egyik kezéből (játék) a másik kezébe (API/driver) teszi és közben a GPU vár.
    A nyílt forrású Mesa OpenGL többszálú driverrel már vannak eredmények: nem működik, nincs érezhető hatása, lassul, illetve 5-10-20-...% FPS javulás. Egyelőre még fejlesztik.

    Másolás csak DX11-hez kell a DX11 korlátai miatt, mert nem tud egyszerre kezelni cbuffert és tömböt. És még másolással együtt is megéri, gyorsabb.
    Megnéztem GCN-en, lényegében ugyanazt a kódot fordítja StructuredBuffer és cbuffer használata esetén. A GCN fordító felismeri, hogy csak olvasás történik és az adatok ugyanazok minden szál számára, ezért a skalár egységen keresztül olvassa be a skalár regiszterekbe. Ez megmagyarázza miért mindegy a GCN-nek milyen kódot kap.
    Ha az AMD trükközik, akkor az NV-nek is lehet. De ez nem trükközés, hanem okos fordítás.
    Ez egy két és fél évvel ezelőtti cikk, érdemes lenne megnézni, hogy a régi és a mai driverekkel mennyi a különbség.

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