Hirdetés

Keresés

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

  • Abu85

    HÁZIGAZDA

    válasz FLATRONW #24964 üzenetére

    Tök egyszerű a helyzet. Kétféle DX12 alkalmazás van. Ahol az MS ajánlásait vették figyelembe és ahol az NV-ét. A RotTR-nél az NV-ét, és emiatt ott lassul az egész DX12 is a DX11-hez képest. Minden más játékban az MS ajánlásai domináltak, amitől az NV bekap egy 7-9%-os deficitet.

    Ez az egész egy többszintű probléma. Egyrészt az NV-nek a DX12 meghajtója a bekötési modell miatt nagyobb többletterhelést generál, míg az AMD-nek a bekötés ingyenes. Másrészt ha nem kötvetlenül a root signature-be van kötve egy buffer view, akkor az NV-nél csökken a pixel shader teljesítmény. Harmadrészt pedig az NV-nek a hardverébe vannak különböző fast path-ok építve, hogy bizonyos sűrűn használt funkciókkal gyors legyen. Ezek azonban DX12/Vulkan alatt nem használhatók, tehát az általános path-on keresztül működik az egész, ami lassú. Ezek kombinált hatása okozza azt, hogy a GCN DX12/Vulkan alatt elhúz a DX12/Vulkan játékok 99%-ában. Az NV hardvere túl specifikusan van tervezve, hogy általános környezetben is gyors legyen. Ezzel szemben az AMD hardvere arra van tervezve, hogy általános környezetben működjön, és nincsenek is benne specifikus fast path-ok. Lényegében az NV tervezett a hardvereibe egy rakás speciális funkciót a DX11-hez, amelyektől a DX12 és a Vulkan elvágja őket.
    Ez egyébként nem pont az API hibája, hanem sokkal inkább a Microsoft és a Khronos szabta olyanra a specifikációkat, hogy a hardvergyártók trükközését kivágják. Nem az NV-nek akartak persze ezzel rosszat, hanem csak közelebb akarták vinni egymáshoz az eltérő cégek által fejlesztett hardverek működését. Ilyen formában az NV kénytelen az AMD-nek az általánosan kigyúrt hardveres modelljét követni, mert hiába építenek fast path-ot a hardverekbe, azokat nem tudják majd használni.

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