Ténylegesen használhatóvá vált az AMD CrossFire API

Az AMD már korábban bejelentette, hogy a GPUOpen kezdeményezés részeként elérhető a CrossFire API, de ennek az implementációját eddig csak a fejlesztői eszközillesztők kapták meg. A legújabb Radeon Software meghajtók azonban ezt is tartalmazzák, így végre bárki tesztelheti magát az API-t, illetve a szükséges DirectX 11-es AGS (AMD GPU Services) kiterjesztést.

Hirdetés

A CrossFire API célja egy alapvető probléma megoldása, ami miatt a mai DirectX 11-es játékok nem igazán skálázódnak több GPU mellett. Bár a rendszer alapja továbbra is az AFR marad, vagyis ezt a meghajtóba épített implementációt kell továbbra is használni, az AMD szerint a skálázódás a GPU-k közötti szinkronizáció szempontjából ütközik nehézségekbe majdnem minden mai DirectX 11-es játék alatt. A szinkronizációt ugyanis AFR esetében mindig a meghajtók oldják meg, vagyis a programozónak az a feladata, hogy a programot úgy építse fel, hogy az eszközillesztő AFR implementációját ki tudják szolgálni. A probléma ott adódik, hogy ehhez igazodni ma már nagyon nehéz köszönhetően az egyre bonyolultabb leképezőknek, és nem véletlen, hogy a DirectX 12 és a Vulkan API-k megszüntették a meghajtókba épített CrossFire (és persze SLI) használatát, amelyek helyére egy jóval közvetlenebb kontrollt biztosító multiadapter mód került. A Vulkan esetében ennek igazából nincs neve, de ez nem lényeges, mivel a funkcionálisan megegyeznek a lehetőségek a DirectX 12-vel.

Az AMD szerint azonban valamilyen szinten még a DirectX 11-ben is menthető a helyzet, így kiadtak egy olyan CrossFire API-t, amely az eddig használt implicit kontroll mellé bevezet egy alternatív, explicit kontrollt az AGS-en keresztül. A rendszer a DirectX 11 szabványos pufferkreáló függvényéhez igazodik, és bevezet egy új paramétert, amellyel ötféle módon vezérelhetők a transzferek. Ilyen formában nem feltétlenül szükséges az eszközillesztő implicit kontrolljához igazodni, mivel az felülbírálhatóvá vált.

A CrossFire API által nyújtott kontroll persze messze nem olyan minőségű, mint amit a DirectX 12 vagy a Vulkan API-val el lehet érni, de számos esetben biztosítható az implicit vezérlésnél jobb minőség. Mindemellett a fejlesztők számára lényeges tényező, hogy szükségtelenné tehető a meghajtóban szállított alkalmazásprofil CrossFire módra vonatkozó konfigurálása, amit ugyan a több GPU-s rendszerekkel operáló felhasználók nagyon várnak, de kevés olyan dolog van, amit a fejlesztők jobban utálnak ennél. Utóbbinak az az oka, hogy a fejlesztőknek az erre kialakított rutinok csak folyamatos többletmunkát jelentenek, hiszen előhozhatnak bizonyos program oldali hibákat, amelyeket aztán egy frissítéssel ki kell javítani, de a frissítéshez akár új AFR konfigurálásra is szükség lehet, ami újabb hibákat tehet láthatóvá, és a kör kezdődik elölről. Legrosszabb esetben a pénzköltést annyira megunja a kiadó, hogy egy későbbi frissítésbe már szándékos hibákat rendel el, hogy a gyártók számára az AFR mód letiltása lehessen az egyetlen út, amire számos példa volt már. Ilyen formában a fejlesztők számára jobban menedzselhető és hosszabb távon sokkal olcsóbb, ha saját maguk végzik el a konfigurálást, amit a CrossFire API-val már DirectX 11 alatt is megtehetnek. Az ehhez szükséges eszközök az alábbi GitHUB oldalon érhetők el.

Hirdetés

  • Kapcsolódó cégek:
  • AMD

Azóta történt

Előzmények

Hirdetés