Keresés

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

  • Abu85

    HÁZIGAZDA

    válasz kikikirly #47 üzenetére

    Mint írtam ezt implementáció válogatja. Egyébként már minden DX11-es implementáció többszálú. A különbség az, hogy nem ugyanolyan mértékben. Ez leginkább döntés kérdése, mert a minél több szerver szálat futtat a driver, annál több processzormagot vesz el a játéktól. Ezzel az a gond, hogy nem lehet megtalálni, hogy hol a határ. Illetve gépenként eltérő ez, mivel akinek van 16-szálas procija, annak nem kell ezt visszafogni, de 4 szállal már nem ideális ugyanannyi kernel driver szerver szál. Ezt a videót sokat linkeltem már, de rendkívül jól elmagyarázza ezt a problémát. Ezért is gyomlálta ki a Microsoft a DirectX 12-ből a kernel drivert. Az új API-ban nincsenek szerver szálak a kernel driverből, tehát nincs minek elvennie az erőforrást a játéktól. Nagyon sok stúdió emiatt váltott GPU-driven pipeline-ra, mert DirectX 11 alatt lehetetlen volt jól kezelni ezt a helyzetet.
    A mikroakadásokat általánosan jellemzik sokat, de valójában rendkívül specifikus jelenségek. A legtöbb akadás a valós idejű shader fordításból, illetve a memóriatörlésből ered a DirectX 11-ben. A DirectX 12 és a Vulkan mindkét problémát kezeli. Ezeknél az API-knál a legtöbb akadás amiatt alakul ki, hogy túl fiatalok a meghajtóimplementációk, illetve túl nehézkes a memóriamenedzsment, így a program esetleg nem remekel benne. Előbbi kezelhető a meghajtóból, míg utóbbi csak a program által, vagy hardveresen a Vega HBCC-jével.

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