Keresés

Hirdetés

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

  • Abu85

    HÁZIGAZDA

    válasz dabadab #3 üzenetére

    Ezek a Vulkan API-hoz is vannak.

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

  • Abu85

    HÁZIGAZDA

    válasz #88750080 #8 üzenetére

    Éppenséggel a Vulkan az a nyílt API, ami zajos siker lett a Khronosnak. Rengeteg projekt épül rá, és nagyon szépen fejlődik. Van hozzá support, nagyon jó debugger, stb. Pont arra példa, hogy ezt jól is lehet csinálni, nem csak szarul, mint az OpenGL-nél.

    És az Apple eszközeire szép számmal érkeznek a Vulkan játékok a MoltenVK-n keresztül. Tehát oké, hogy van Metal API-juk, de natívan azt ritkán támogatják. Ez teljesen logikus sok fejlesztő részéről. Valamelyik más platformra úgyis van Vulkan kód, ami meg fut a MoltenVK-n, ami meg kis sebességvesztés árán fut a Metal eszközökön.

    [ Szerkesztve ]

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

  • Abu85

    HÁZIGAZDA

    válasz #88750080 #10 üzenetére

    Meg van számos Vulkan cím Windowsra is. Ráadásul kevesen tudják, de a mai motoroknak van Vulkan és D3D12 leképezője is. Célszerű mindkettő implementálni, mert nem különbözik annyira a két API, hogy gondot jelentsen, és a Vulkan is megeszi a HLSL shadereket, hiszen lefordíthatók SPIR-V-re. Azért nem szokott általában két API-val megjelenni egy adott játék, mert az plusz karbantartási költség, de maga a leképező minden motorban támogatva van és fejlődik. Az OpenGL-nél ilyen nem volt. Az annyira különbözött, hogy nem is implementálták.

    [ Szerkesztve ]

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

  • Abu85

    HÁZIGAZDA

    válasz #88750080 #13 üzenetére

    Mitől halad a Vulkan az OpenGL felé? A kiterjesztésektől? A DirectX 12-ben is vannak képességek, amelyek meglétét előbb ellenőrizni kell, mert nem minden DirectX 12-es hardver támogatja. Aztán erre vannak feature_level összesítések, így elég csak ezt csekkolni, amire szintén van a Vulkan API-ban verziócheck, ami bizonyos kiterjesztéseket kötelezővé tesz. De ahogy a Vulkan API-ban a legmagasabb verzió sem tartalmazza az összes kiterjesztést, úgy a DirectX 12-ben a legmagasabb feature_level sem tartalmazza a legjobb képességeket, tehát mindkét oldalon van egyedi per feature és kiterjesztés szintjén ellenőrzés. Tehát a kiterjesztések ugyanúgy megvannak a DirectX 12 oldalán is, csak feature néven.

    Az alapvető eltérés annyi, hogy a Vulkan lehetővé teszi már az API-hoz illesztve a gyártói kiterjesztéseket, míg a Microsoft esetében ehhez gyártói szervizkönyvtár kell. Például az AMD-féle AGS tele van DirectX 12 kiegészítésekkel. És ez nem jobb a Vulkan-féle gyártói kiterjesztéseknél, mert kell egy extra könyvtár használata az implementálásukhoz. Vulkan esetében elég csak a kiterjesztést meghívni, nem kell pöcsölni szervizkönyvtárakkal.

    Az más kérdés persze, hogy a fejlesztők pöcsölnek vele, sőt, az Ubisoft éppen olyan motort írt az új Snowdrop kapcsán, aminek az alapvető működésébe is beleavatkozik az AGS, tehát nem csak egy-két effekt miatt lesz benne, hanem konkrétan máshogy számol sugárkövetést, ha az AGS be van töltve. És ez nem kis költség ám a fejlesztés oldalán, mert kell egy fix AGS specifikáció az AMD részéről, hogy az jó sok évig ne változzon, ugyanis, ha módosítják az AGS runtime-ot egy friss driverben, akkor az az Ubisoftnak szar, mert nem működik tovább a motorjuk. Ez valamivel kellemesebb a Vulkan oldalán a gyártói kiterjesztésekkel, mert specifikusak ugyan, de idővel a nagy részük át lesz emelve EXT-be, onnan pedig a KHR-be. És nem szoktak jelentősen változni, így utána lehet menni a szabványosításnak egy patch-csel. Az AGS-ből viszont tudod mikor lesz átemelve valami a DirectX 12-be? Soha. Tehát az Ubisoft AGS kódja szabványosíthatatlan, azt jól át kell írni, ha a Microsoft szíveskedik azt a képességet beépíteni a szabványba, amit az Ubisoft használni fog.

    Szóval egyáltalán nem rosszabb a Vulkan a DirectX 12-nél használhatóságban és fejleszthetőségben sem. És a kiterjesztések sem teszik tönkre, mert hasonló opciók más formában a DirectX 12-höz is vannak, csak nem kiterjesztésnek hívják, hanem inkább kiegészítésnek.

    #14 ervinke78 : A Vulkan API-hoz írt fejlesztőeszközöknek is van supportja. Elég jól működő. Annyira, hogy még a DirectX 12-höz is nagyon sok stúdió RenderDoc debugot használ. Egyszerűen most ez a legjobb a piacon.

    Meg az Androidot, meg az Apple cuccokat a Metal miatt, meg bármi, ami esetleg jön, mert Vulkan mindenre lehet, DirectX viszont nem. Az Xboxhoz pedig úgyis van a motornak DirectX 12 leképezője. Ahogy fentebb írtam, manapság tipikus, hogy mindkét API-t támogatja egy motor, mert a Vulkan is meg tudja enni a HLSL shadereket a SPIR-V-n keresztül, tehát a két API nagyon hasonló működése miatt olcsó mindkettőt beépíteni. Az OpenGL-nél ez azért nem működött, mert nem ette meg a HLSL shadereket, és úgy már százezer sornyi kód módosítása lett volna a support, ami egyszerűen sok.

    [ Szerkesztve ]

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

  • Abu85

    HÁZIGAZDA

    válasz fatpingvin #19 üzenetére

    Kiegészíteném, hogy ha egy kiterjesztés beválik, akkor nem rögtön az upstreambe megy, hanem előbb EXT-be, aztán KHR-be.

    [ Szerkesztve ]

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

  • Abu85

    HÁZIGAZDA

    válasz Busterftw #22 üzenetére

    A Vulkan már nem csak egy szimpla játékokhoz használt grafikus API. Rengeteg compute projekt fut rajta, például nem kevés neural network inference keretrendszer le van rá kódolva. Ennek az az előnye, hogy nem kell ezekhez zárt futtatási környezet, mivel a Vulkan van mindenhol, csak indít és fut.

    Már nem felel sok más dologért a DirectX. A Microsoft jó ideje átgyúrta már a rendszert, így a DirectSound meg a DirectInput már nincs használatban.

    Dokumentáció és support van Vulkan API-ra is.

    [ 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