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

  • Abu85

    HÁZIGAZDA

    A Forza esetében a problémát inkább a D3D12 implementáció jelentik. A fejlesztők mindig időben leadják a változásokat, hogy lehessen rájuk profilt írni. Ezt meg is lehet tenni kényelmesen, ha az adott meghajtó D3D12 implementációja nem használ speciális, adott játékhoz igazított rutinokat. Az Intel és az AMD például ilyeneket nem használ a D3D12-ben, mert nekik csak van egy alap, hardverhez közeli rétegük, amire írnak egy API-hoz közeli, ezzel kompatibilis réteget. Az AMD még trükkös is, mert ők minden explicit API-nál ugyanazt a hardverhez közeli réteget használják, így nagyságrendekkel kisebb a meghajtó fejlesztésének erőforrásigénye. Ha bármilyen patch jön, arra szimplán a legfelső rétegben lehet reagálni pár változással. Az NVIDIA manapság teljesen másképp csinálja. Nekik már három rétegük van, egy API-hoz közeli, egy köztes, specifikációs részleteket elfedő réteg, és egy hardverhez közeli. Na most ahhoz, hogy nekik gyors is legyen egy D3D12-es alkalmazás előfordulhat, hogy a köztes rétegre igen komoly optimalizálás kell, amit nem lehet egy hetes munkával lereagálni. Inkább egy hónapos kell, vagy több. De ha ezt nem csinálnák meg, akkor úgy futna a Forza 7, ahogy az látható volt a leges legelső tesztek, tehát nagyon is van értelme annak, amit az NV csinál, viszont értelemszerűen a fejlesztők nem fognak egy javítást visszatartani akár két hónapig, mert az NV-nek esetleg kell ennyi idő a reakcióra. A középső rétegből nem feltétlenül muszáj speciálisat alkalmazni, a default mód problémamentesen viszi, csak buknak vele egy rakás teljesítményt. De igen, alapvetően az lenne az ideális, ha a problémás javításokra az NV visszatenné a default módot, majd ha kész a speciális, akkor ahhoz is hoznának egy drivert. A probléma itt valószínűleg az, hogy iszonyatosan sok munkával jár folyamatosan egy játék miatt változtatni a rutinokon, főleg úgy, hogy az esetleges problémák nem feltétlenül általánosak, hanem jóllehet egy architektúrát, vagy akár csak egy GPU-t érintenek.

    Explicit API-kra egyébként ajánlott az egyszerűbb módszereket elővenni. Nem feltétlenül kifizetődő azt csinálni, mint a hagyományos API-knál, hogy tényleg elővenni a játékot és szénné optimalizálni rá a meghajtót, mert ez ugyan az adott kóddal működik, de olyan külső hibaforrások jelennek meg, amelyekre iszonyatosan nehéz gyorsan reagálni. A hagyományos API-k esetében azért elég sok tényező a driver kezében volt, így a gyártók magukat biztosították be azzal, hogy a kliens oldali kódjuk megfelelően reagál a kernel driver változásaira. Explicit API-nál ez nincs így. Itt külső változásokra kell reagálni. Emiatt az a legcélszerűbb, ha a meghajtó is igen minimalista.

    [ 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