Keresés

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

  • Abu85

    HÁZIGAZDA

    válasz cskamacska #34790 üzenetére

    A specifikus kódok nem úgy jönnek, hogy ezeket megírják külön. Nagyrészt azt csinálják a fejlesztők, ideértve a DICE-ot, hogy a PS4Pro géphez írt PSSL shadereket fordítják át egy source-to-source fordítóval az AMD HLSL ext. specifikációjára, amiből aztán tudnak fordítani egy olyan D3BC kódot, amit az AGS szervizkönyvtár elfogad. Alapvetően ebben jelentős munka nincs, az AMD úgy írta meg az AGS-t, hogy a PSSL shaderek szintaxisához igazodjon, ami egyébként eleve nem tér el jelentősen a HLSL-tól, főleg nem az AMD specifikus HLSL ext.-től, tehát effektíve csak a függvények nevét cserélik.

    A Frostbite esetében az történik, hogy a DICE leginkább a DPP és az SDWA képességekre épít a PSSL kódokban, így tudnak sebességet nyerni a PS4Pro gépen. Ezekkel gyakorlatilag gyorsabban oldanak meg bizonyos kivágásra vonatkozó feladatokat, vagy tehermentesítik a CPU-t. A PC-s környezetben ugye nem pont úgy fut a Frostbite, ahogy konzolon, mivel a szabványos API-k számos konzolon elérhető függvényt nem tesznek elérhetővé, így bizonyos GPGPU-s eljárásokat át sem lehet menteni, helyettük egy CPU-s megoldás fut PC-n. Ugyanakkor az AMD-nek ezeket átmentik, és mivel ezek a DPP-re és az SDWA-ra épülnek, így alapvetően GCN3/4/5 kell a futtatásukhoz. Ennél egy jóval rosszabb hardveres lehetőségeket rejtő kódot kapnak a GCN1/2 hardverek. Ezért van az, hogy a Frostbite új verzióiban a GCN3/4/5 dizájnok eléggé meglépnek a GCN1/2-től. Egyszerűen ugyanazt a gyártóspecifikus kódot sokkal gyorsabban tudják futtatni.

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