Keresés

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

  • Abu85

    HÁZIGAZDA

    válasz FLATRONW #14 üzenetére

    Persze. Csak a probléma az FP16-tal, hogy az valójában nem FP16, hanem packing. Tehát ahhoz, hogy használd, kompatibilis kódot kell írni, amibe ugye becsomagolsz két operációt egy FP32-es VGPR helyre. Na most erre három mód van. Az egyik a DX12-nek az újabb verziója, az októberi Windows 10-től kezdve, a másik a Vulkan pár kiterjesztése, a harmadik pedig az AMD kiterjesztései.

    Az AMD kiterjesztései a legegyszerűbbek. Működnek DX11/DX12/Vulkan API-n. Előbbi kettőhöz AGS kell, míg utóbbihoz AMD_gpu_shader_half_float. Na most ezeket azért kedvelik a fejlesztők, mert nagyon sok kód meg van előre írva, tehát egyszerű beépíteni, ráadásul a kód 100%-ban kompatibilis az NV és az Intel hardvereivel is, csak nem futtat rajtuk packed adattípust. Vagyis beépítetted a funkciót az AMD-re, a többi hardvernél pedig lábon lőtted magad, bár futni lefut.

    A Microsoft esetében az a gond, hogy hiába tudja a hardver, majdnem a legújabb Windows 10 verzió kell hozzá, illetve a shadert is HLSL 2018-as specifikációknak megfelelően kell írni, vagyis le se fordítható korábbi Windows operációs rendszeren, ergo a játék futtathatóságát a Windows 10 október 2018-hoz vagy újabb kiadáshoz kötnéd. Ezzel nem a bal lábad lövöd ki, hanem a jobbat. De legalább működik az összes kompatibilis hardveren, csak kizártál egy rakás, régi Windowson ragadt játékost, és ahhoz, hogy náluk fusson a kód, keményen át kell ám írni, vagyis nem olyan kényelmes a megoldás ez, mint amit az AMD kínál, hogy out-of-box megy mindenen, csak nem biztos, hogy gyorsan.

    A Vulkan megoldása egészen kellemes. Az AMD_gpu_shader_half_float kiváltható a KHR_16bit_storage és a KHX_shader_explicit_arithmetic_types kiterjesztéssel. A probléma az, hogy az utóbbi egy nem véglegesített kiterjesztés, tehát a Khronos ugyan dolgozik rajta, de még megváltozhat a specifikációja, vagyis ha írsz rá egy kódot, akkor ugyan működni fog Windows 7-től fölfelé a kompatibilis hardvereken, de ha a kiterjesztést a Khronos véglegesíti, akkor azonnal kell a patch a játékhoz, mert a KHX_shader_explicit_arithmetic_types támogatása kikerül a meghajtókból.

    Szóval összességében úgy áll a helyzet, hogy a szabványos megoldások, illetve ezek lehetősége jó dolog, de a Microsoft túlságosan új Windows verzióhoz köti a működést, a Vulkanban meg nem végleges még egy szükséges kiterjesztés, amitől nehéz rávenni egy fejlesztőt, hogy támogassa. Végeredményben tehát marad az AMD out-of-box megoldása, ami meg nem működik Intelen és NV-n. Mindenképpen lábon lövöd magad, bármelyiket is választod...

    A packingot mindig be kell építeni. Ez magától nem működik. Persze ez ma nagyrészt annyi, hogy elviszik az AMD kódját, és kész, de ha szabványos megoldás kell, akkor ahhoz majd szükséges egy kis munka is. Nem olyan jelentős persze, de a mostani copy-paste-nál több, de azzal legalább működne minden megfelelő tudású hardveren.

    [ 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