Az a baj, hogy csupa DX12-es játékról van szó. Az AMD DirectX 12-es meghajtójának ilyen a memóriakezelése:
Ezzel annyit csinál az AMD-féle SAM, hogy a Heap 2-t megszünteti, és a Heap 0 kapacitása lényegében megegyezik majd a VRAM kapacitásával, amihez tartozik egy Type 0 típus, de nem csak eszközlokális flaggel lesz ellátva, hanem host visible és coherent is lesz. A Heap 2-höz tartozó Type 2 típus is megszűnik.
Az AMD-nél a játékokat eleve erre az egyszerűsített modellre építik, tehát nagyon egyszerű a meghajtó oldalán áttérni egy SAM-es dizájnra. Amelyik játékot megírták a SAM nélkülire, az nem fog anomáliát okozni SAM-mel.
Az NV DirectX 12-es meghajtójának memóriaszegmentálása sokkal bonyolultabb:
Az NV ezzel annyit csinál, hogy megszüntetik a Type 9-et, és a Type 7 és 8 host visible és coherent lesz eszközlokális flaggel. A problémát itt az adja, hogy nagyon sok játék nem erre számít, mert az NV hardvereknél arra van felkészítve a gyártóspecifikus kód, hogy nem a VRAM-ban van a GPU BAR, hanem a rendszermemóriában. Ezt úgy lehetne kezelni, hogy minden játékot átírnak visszamenőleg, de ez nem fog megtörténni, így az NV-nek kell valamilyen módon lekezelnie a GeForce-okra írt gyártóspecifikus optimalizációkat, amelyek az új resizable BAR modellel nem működnek jól együtt. Ezért profiloznak bőszen per játék alapon, mert lényegében minden játékra valami más beállítás kell a driver oldalán, és nem biztos, hogy optimális szegmentálást lehet kialakítani a nem teljesen optimális kódokhoz.
Nincs tehát semmi hardveres dolog, pusztán az AMD sokkal általánosabb memóriaszegmentálást használ DirectX 12 alatt, amivel egyszerűbb alkalmazni a resizable BAR-t.
[ Szerkesztve ]
Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.