Hirdetés

Hozzászólok Aktív témák

  • Abu85

    HÁZIGAZDA

    válasz huskydog17 #12 üzenetére

    Attól, hogy van leképező, még nem építik be a végleges release-be. A Dunia is tartalmaz DX12 leképezőt, de nincs sok haszna neki például a Far Cry 5-ben, mert átírták a motort gpu-driven pipeline-ra. Emiatt a DX11 biztonságosabb opció.
    Az AC Origins is tartalmaz DX12-t, csak nem szállították sosem vele. Inkább a DX11-et választották. Most itt nehezebb megérteni, hogy miért.

    Általában egyébként az is számít a kiválasztásnál, hogy melyik leképező a legkevésbé problémás. Attól, hogy létezik explicit API-ra támogatás, még nem biztos, hogy mindenen jó, vagy mindenen jól ellenőrizhető. A DX12 a PIX-szel már nem áll rosszul, de a Vulkan esetében még mindig csak a Radeonokra van olyan debug és profiler eszköz, amik egymással interoperabilitás kínálnak. Pedig az az API sem új már Ez azért nem túl jó egy olyan piacon, amikor NV-re és Intelre is kell szállítani a játékot. Sokkal nehezebb a tesztelés és a hibakeresés, ha nincs megfelelő eszközkészlet hozzá. Lehet, hogy eléred az egyik gyártóval, hogy megy, de mi van a másik kettővel? Ezek erősen befolyásolhatják a döntéseket.

    Ahogy fentebb is írtam nem mindenhol születnek optimális döntések. Amikor két API-t szállítasz, akkor valami oka annak mindig van. És annak a költsége rosszabb, mintha egy API-t szállítanál. Az ok pedig általában az, hogy az egyik API-ra nincs olyan eszközkészlet, amivel garantálni tudnád, hogy a leszállított kód aztán minden pillanatban szuper lesz mindegyik gyártón. Ez főleg a Vulkan API-n probléma még, a Microsoft a PIX-szel nagyon belelendült, felfogták ennek a jelentőségét, de a Vulkan API-n a RenderDoc a legjobb debug eszköz, amit aztán tényleg nagyon aktívan fejlesztenek, de az interoperabilitást csupán a Radeon GPU Profilerrel kínál. Semmi mással. Ez már a fejlesztésnél is eléggé sok korlátot jelent, mert ha normális eszközkészletet szeretnél, akkor muszáj Radeont használnod, de amikor elkészült egy kódbázis, amire azt mondod, hogy megy a fejlesztői gépeken, akkor előveszed a többi gyártó hardverét, és elkezded azon tesztelni. Ha viszont jönnek a gondok, akkor marha nehézzé válik az, hogy a RenderDocban rögzítesz valami rendellenességet, de abból nem kapsz automatikusan NV-re és Intelre teljesítményprofilt, hanem egy csomó időt kell abba beleölnöd, hogy egyáltalán kiderítsd, hogy amit rossznak látsz, az valójában rossz-e, vagy a hardver annyira képes. Eközben ugyanennek az ellenőrzése a Radeon GPU Profilerrel egy kattintásnyira van. Ez még mindig elég nagy problémája a Vulkánnak. Nem véletlen, hogy például az id software nem is használja a gyártók profilozóit, vagy éppen a RenderDocot, hanem írtak maguknak mindenből sajátot, csak ez sokaknak azért nedves álom kategória. Ilyenek miatt dönthetnek úgy egy játéknál, hogy akkor marad a DX11, mert nem mindenen megy jól a Vulkan, és régen ez jellemző volt a DX12 esetében is, míg a Microsoft annyira nem gyúrta ki a PIX-et.
    Annyiban azért jó helyzet, hogy a Vulkan API-n a tipikus nehézségekre egyre több olyan kód, van, amit egyszerűen csak headerként be lehet vetni. Az Ubisoft sem ír saját memóriamenedzsmentet, hanem beépítik az AMD VMA-ját. Az eléggé kiforrott, támogat minden gyártót, egy csomó esetet lefed, amiket nem, azokra pedig egyszerű módosítani. És végeredményben sokkal kevesebb lesz a hiba, vagy a teljesítményprobléma, mintha saját menedzsmentet írnál. Emiatt jönnek a Vulkan portok az egyes Ubi játékokba. A legnagyobb méregfogat úgy húzzák ki, hogy ~12 ezer sornyi külső kódot építenek be.

    [ Szerkesztve ]

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

Hozzászólok Aktív témák

Hirdetés