A Vulkan vezető most a Valve ACO build háttérprogramját használja

A Mesa 20.2 verzió kialakításához használt kódbázisban a RADV meghajtó, Vulkan az AMD chipekhez háttérprogramra váltott alapértelmezés szerint a fordításhoz árnyékolók »ACO«, a Valve fejlesztette ki az LLVM shader fordító alternatívájaként.

Ez a meghatározott változás a játékok termelékenységének növekedése végével készült el és az indítási idő csökkentése.

A változás a RADV vezérlőtől az új háttérig azután vált lehetővé, hogy elérte az ACO funkcionalitás paritását a régi AMD fejlesztett háttérprogrammal az AMDGPU illesztőprogramhoz, amelyet továbbra is a RadeonSI OpenGL illesztőprogramban használnak.

A Valve tesztje azt mutatta, hogy az ACO majdnem kétszer olyan gyors, mint az AMDGPU shader build fordítója, és néhány játékban az FPS növekedését mutatja, amikor RADV illesztőprogrammal rendelkező rendszereken fut.

Az AMD OpenGL és a Vulkan illesztőprogramok jelenleg egy shader fordítót használnak, amely az LLVM upstream projekt része. Ez a projekt hatalmas, és sokféle célkitűzéssel rendelkezik, és a játékárnyékolók online összeállítása csak egy ezek közül. 

Ez fejlesztési kompromisszumokhoz vezethet, ahol a játékspecifikus funkcionalitás javítása nehezebb, mint egyébként lenne, vagy ahol a játékspecifikus funkciókat gyakran véletlenül megtörik az LLVM fejlesztői, akik más dolgokon dolgoznak.

A háttér Az ACO célja, hogy a kódot a legoptimálisabban állítsa elő lehetséges a játékalkalmazások számára, és nagyon nagy fordítási sebességet érhet el.

ACO C ++ nyelven íródott, a JIT összeállításának alkalmazhatóságát szem előtt tartva fejlesztették ki, és a gyorsakat használja az adatstruktúrák ismétléséhez, elkerülve a mutatóalapú struktúrákat, például a kapcsolt listákat és karakterláncokat a def használatától. A kód közbenső ábrázolása teljesen az SSA-n (Single Static Allocation) alapul, és lehetővé teszi a rekordok elosztását, pontosan kiszámítva a rekordot az árnyékoló alapján.

A kód közbenső ábrázolása teljesen az SSA-n (Single Static Allocation) alapul, és lehetővé teszi a rekordok elosztását, pontosan kiszámítva a rekordot az árnyékoló alapján.

Jelenleg csak pixelek támogatottak (töredékek) és kiszámítja az árnyékolókat diszkrét AMD GPU-kon (dGPU VI +). Az ACO azonban már helyesen gyűjti az összes tesztelt játék árnyékolóit, beleértve a Shadow of the Tomb Raider és a Wolfenstein II összetett árnyékolóit is.

A javasolt ACO prototípus a tesztre majdnem kétszer olyan gyors, mint az AMDGPU shader fordító és bemutatja az FPS növekedését egyes játékokban, amikor a rendszereket RADV vezérlővel futtatják.

Ahhoz, hogy egy kicsit jobban megértsük a Valve kódjának elfogadásának relevanciáját, fontos ezt előtérbe helyezni a cél a lehető legoptimálisabb kódgenerálás garantálása játékalkalmazók számára, valamint nagyon nagy fordítási sebesség.

A Mesában elérhető shader fordító LLVM összetevőket használ, Nem teszik lehetővé a kívánt fordítási sebesség elérését, és nem teszik lehetővé a szabályozási folyamat teljes ellenőrzését, amely a múltban már komoly hibákat okozott.

Ezen túlmenően, az LLVM elkerülése agresszívebb elemzés megvalósítását teszi lehetővé eltérések és finomabb naplóterhelés-kezelés, amely lehetővé teszi a futtatható fájlok hatékonyabb generálását.

Végül az is Fontos megjegyezni, hogy az ACO jelenleg csak a Mesa RADV Vulkan vezérlőnél működik. De az ACO fejlesztői megerősítették, hogy következő lépésként meg kell kezdeniük az ACO képességeinek bővítését az OpenGL RadeonSI illesztőprogram támogatása érdekében, hogy a jövőben és ennek az illesztőprogramnak az ACO lecserélhesse az alapértelmezett LLVM shader fordítót. .

Mennyi akik inkább a korábban használt háttérprogrammal folytatják az LLVM shader fordítóból visszatérhetnek rá, csak egy változót kell megváltoztatniuk.

Az a környezeti változó, amely a változás elvégzéséhez biztosított "RADV_DEBUG = llvm".


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Különféle nehéz dijo

    És hogyan választja meg a felhasználó, melyik háttérprogrammal futtat játékot? Milyen fájlokat kell módosítania?