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

  • Abu85

    HÁZIGAZDA

    Kifejtem jobban akkor, amit a COD-ban látunk nem igazán hardveres eltérés. Részben az, mert számít a hardver, de a motor működését nézzétek. Három dolog jellemző az újabb IW motorokra.
    - nagyon shader-gyilkosok, tehát iszonyat mennyiségű compute shader van bennük, főleg a post-process oldalon
    - majdnem minden objektum vagy effekt más futószalagállapotot használ, amivel együtt jár a bitangsok különálló rajzolási parancs, és a sok százezer dinamikus shader
    - kolosszális mértékű a dinamikus textúra streaming és a LOD váltások száma

    Ezek egyébként főleg abból erednek, hogy maga a motor szinte teljesen dinamikus rendergráfot használ, ami még most sem jellemző a legtöbb másik motor esetében, a többség inkább amolyan féldinamikusabb rendszer, kellő számú statikus rendergráffal, hogy valamilyen mértékben korlátozzák a PSO-váltások számát. Tehát effektíve minden motor alkalmaz már dinamikus módszert, mert sok helyre ez kell, a kérdés inkább az, hogy mely renderszakaszok futnak még statikusan, például általában a G-buffer még ilyen, stb.

    Viszont a DirectX 12 API-t alapvetően a dinamikus módszerhez tervezték, tehát bátran át lehet térni erre a leképezés egyes szakaszain, és a COD újabb motorverziói ezt nagyon ki is használják. A többi motornál még nem ennyire, de az irány az egyértelműen ez. A másik "nagyon dinamikus" motor egyébként még az Ubisoft-féle Anvil, ami az új verzióiban eléggé hasonlít a COD újabb motorverzióira.

    Ha ilyen irányba megy egy motor, akkor az helyből magával hozzá azt, hogy majdnem minden objektum vagy effekt más futószalagállapotot használ, tehát megnő a PSO-váltások száma, a rajzolási parancsokat érdemesebb különállóan kezelni, stb. Ez a hardver tekintetében nem akkora gond, de a szoftver tekintetében már az lehet. Ugyanis minél inkább erre megy egy motor, annál inkább meghatározza a teljesítményt az, hogy a shadereket hogyan fordítja a driver fordítója, hogy a kódvalidálás mennyire gyors, hogy a rajzolási parancsok összességében mennyi DWORD-öt emésztenek fel, hogy az egyes parancsok betöltése mennyire blokkolja a GPU és a CPU feldolgozását, stb. Na most ebből a szempontból az AMD meghajtója eléggé egy versenyautó, egy csomó dolgot nagyon furán csinál a DX12 és a Vulkan alapimplementációját biztosító PAL réteg, ami nagymértékben javítja a teljesítményt, miközben elvben kevésbé biztonságos, de látszólag senkit sem érdekel, mert a programok így is futnak, miközben baromira gyors a driver, és átmegy a hitelesítési teszteken, tehát a Microsoft és a Khronos szerint valid eredményt biztosít. Az NV meghajtója valamiért túlbiztosított, ami azt eredményezi, hogy bizonyos helyzetekben egy banyatankos nagymama sebességével működik, de a programokat futtatja. És a legtöbb esetben ez jó, mert a tesztek úgyis 9800X3D-vel mennek, tehát a banyatankos nagyi tempó is eléggé el lesz fedve, mert kegyetlenül gyors a tesztproci. Csak ez nem minden játékban lesz igaz, mert a COD-ok és az AC-k már 9800X3D-vel is limitesek lehetnek. De ha az AMD kiadna mondjuk egy 9800X3D-nél kétszer gyorsabb procit, akkor ugyanaz lenne a COD-ok és az AC-k alatt is az erősorrend, mint a többi játékban, mert a kétszer gyorsabb szálszintű teljesítmény jobban fekszik a banyatankos nagyinak.
    Egyébként ez az oka annak is, amiért a Microsoft-féle Advanced Shader Delivery kapcsán az AMD-nek és az Intelnek már tesztdriverük is van, míg az NV még csak azt jelentette be, hogy támogatni szeretnék majd valamikor. Az Advanced Shader Delivery pont arrafelé terelné a fejlesztőket, hogy nyugodtan menjenek a PSO-váltások növelése felé, az Advanced Shader Delivery megoldja az akadások gondját. Az NV tehát előbb-utóbb rákényszerül a banyatankos nagyijuk versenyautóra cserélésére, és valószínűleg már dolgoznak is rajta. Vagy ha még nem, akkor az Advanced Shader Delivery mindenképpen jelzés, hogy ezt nem tudják elkerülni, szóval el kell kezdeniük visszarakni a programozóikat az AI-ról a játékosoknak szánt driver fejlesztésére.

    Az RDNA 4 némi előnye pedig pusztán az OOO memóriaelérésből származik. Ez inkább COD-specifikus, mint általános dolog, ugyanis a COD-ok nagyon agresszíven streamelnek. Nagyon sok LOD szintet használnak, sok váltással, hogy gyors legyen a sebesség, ez különösen igaz a BO7-re. Persze ezt le kell tervezni, szóval nyilván a fejlesztés oldalon szopcsi, de megcsinálják, így senkit nem izgat, hogy erre mennyi erőforrást költöttek. Részben innen származik a sok PSO-váltásuk is. Na most a dinamikus textúra streaming és a LOD váltások ilyen mértékű száma mellett már masszív előnye lehet annak, hogy az RDNA 4-nek a memóriaeléréseket nem szükséges sorrendben végrehajtania. Erre a többi GPU nem képes, ezeknél a hardver alapvető működése múlik azon, hogy az adatok a kérés sorrendjében fussanak be, és az egyes wave-ek feldolgozása is csak ebben a sorrendben lehetséges.

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