Keresés

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

  • 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.

  • bitblueduck

    senior tag

    válasz #88750080 #13 üzenetére

    és akkor linuxon (többek közt android) pl mit használjanak, metalt vagy directx-et?

    An open mind is like a fortress with its gates unbarred and unguarded.

  • fatpingvin

    őstag

    válasz #88750080 #13 üzenetére

    nem tudom hallottál-e róla, de amilyen tájékozotnak próbálsz tűnni, elvárnám: nem csak a MS vacka létezik a világon.

    that being said, abszolúte semmi bajom nem lenne a directx-szel ha a microsoft nem őrködne felette tyúkanyó módjára hogy más platformon ne lehessen normálisan natívan implementálni mint open standard.

    persze, csinálják ha jó nekik, otthon négy fal között, és ne erőszakolják rá az iparágra a hülyeségeiket olyan módon ami elveszi a teret a nyílt, szabadon felhasználható és implementálható megoldásoktól.

    bár ezt a szempontot te láthatóan nem tudod értelmezni, szval inkább hagyjuk is. elvégre csak az üzemben lévő számítógépek nagyobb részéről beszélünk (mielőtt valami okos rákezd hogy de hát desktop: szerinted mondjuk egy GPU computing szerver mit használ?)

    A tipikus munkafolyamat legjobb tesztszimulációja a tipikus munkafolyamat. A "napi anti-corporate hsz"-ok felelőse :)

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