Vulkan haydovchisi endi Valve ning ACO build backend-dan foydalanadi

Mesa 20.2 versiyasini shakllantirish uchun ishlatiladigan kod bazasida, RADV haydovchisi, AMD chiplari uchun Vulkan orqa tomonga o'tkazildi sukut bo'yicha kompilyatsiya qilish shaders »ACO«, Valve tomonidan ishlab chiqilgan LLVM shader kompilyatoriga alternativa sifatida.

Ushbu belgilangan o'zgarish o'yinlarning mahsuldorligini oshirishga erishish bilan yakunlandi va uni ishga tushirish vaqtining qisqarishi.

O'zgarish RADV boshqaruvchisidan yangi orqa tomonga eski AMD ishlab chiqilgan orqa tomoni bilan ACO funktsionalligi tengligiga erishilgandan so'ng amalga oshirildi RadeonSI OpenGL drayverida foydalanishda davom etadigan AMDGPU drayveri uchun.

Valve tomonidan o'tkazilgan sinov shuni ko'rsatdiki, ACO AMDGPU shader build kompilyatoridan deyarli ikki baravar tezroq va ba'zi o'yinlarda RADV drayveri bo'lgan tizimlarda FPS o'sishini namoyish etadi.

Hozirda AMD OpenGL va Vulkan drayverlari LLVM upstream loyihasining bir qismi bo'lgan shader kompilyatoridan foydalanmoqdalar. Ushbu loyiha ulkan va juda ko'p turli xil maqsadlarga ega va o'yin shayderlarining onlayn kompilyatsiyasi ulardan biri. 

Bu rivojlanish uchun savdo-sotiqlarga olib kelishi mumkin, bu erda o'yinlarga xos funktsiyalarni yaxshilash boshqacha bo'lishi qiyinroq bo'ladi yoki o'yinlarga xos xususiyatlar ko'pincha boshqa narsalar ustida ishlaydigan LLVM ishlab chiquvchilari tomonidan tasodifan buziladi.

Orqa tomon ACO kodni eng maqbul usulda yaratilishini ta'minlashga qaratilgan o'yin dasturlari shaderlari uchun mumkin va juda yuqori kompilyatsiya tezligiga erishadi.

ACO u C ++ da yozilgan, JIT kompilyatsiyasi uchun qo'llanilishini yodda tutgan holda ishlab chiqilgan; va ma'lumotlar tuzilmalari bo'yicha takrorlash uchun tezkorlardan foydalaning, bog'langan ro'yxatlar va satrlar kabi ko'rsatgichga asoslangan tuzilmalarni def ishlatishdan saqlanish. Kodning oraliq vakolatxonasi to'liq SSA (Single Static Allocation) ga asoslangan va shader asosida yozuvni aniq hisoblab, yozuvlarni taqsimlashga imkon beradi.

Kodning oraliq vakolatxonasi to'liq SSA (Single Static Allocation) asosida tuzilgan va shader asosida yozuvni aniq hisoblab, yozuvlarni taqsimlashga imkon beradi.

Hozirda faqat piksellar qo'llab-quvvatlanadi (parchalar) va diskret AMD GPU-laridagi shaderlarni hisoblash (dGPU VI +). Biroq, ACO allaqachon sinovdan o'tgan barcha o'yinlar uchun shaderlarni to'g'ri to'playdi, shu jumladan Tomb Raider va Wolfenstein II Shadow of Tomb Raider.

Taklif qilingan ACO prototipi sinov uchun u AMDGPU shader kompilyatoridan deyarli ikki baravar tezroq va ba'zi o'yinlarda RADV tekshiruvi bilan ishlaydigan tizimlarda FPS o'sishini namoyish etadi.

Valve kodini qabul qilishning dolzarbligi haqida bir oz ko'proq tushunish uchun buni oldinga surish kerak maqsadi mumkin bo'lgan eng maqbul kod ishlab chiqarishni kafolatlashdir o'yin dasturlari shayderlari uchun, shuningdek juda yuqori kompilyatsiya tezligi.

Mesada mavjud bo'lgan shader kompilyatori LLVM komponentlaridan foydalanadi, kerakli kompilyatsiya tezligiga erishishga imkon bermaydigan va o'tmishda allaqachon jiddiy xatolarga yo'l qo'ygan boshqaruv oqimini to'liq boshqarishga imkon bermaydigan.

Shuningdek, LLVMdan qochish yanada tajovuzkor tahlilni amalga oshirishga imkon beradi kelishmovchiliklar va jurnal yuklarini yanada nozik boshqarish, bajariladigan fayllarni yaratish samaradorligini oshirish.

Nihoyat, u ham Shuni ta'kidlash kerakki, hozirgi vaqtda ACO faqat Mesa RADV Vulkan tekshiruvi uchun ishlaydi. Ammo ACO ishlab chiqaruvchilari keyingi bosqichi OpenOGL RadeonSI drayverini qo'llab-quvvatlash uchun ACO imkoniyatlarini kengaytirish ustida ishlashni boshlashini tasdiqladilar, shuning uchun kelajakda va ushbu drayver uchun ACO standart LLVM shader kompilyatorini almashtirishi mumkin.

Necha pul ilgari ishlatilgan orqa tomonni davom ettirishni afzal ko'rganlar LLVM shader kompilyatoridan ular unga qaytishlari mumkin, faqat o'zgaruvchini o'zgartirishlari kerak.

Ushbu o'zgarishni amalga oshirish uchun taqdim etilgan muhit o'zgaruvchisi "RADV_DEBUG = llvm".


Maqolaning mazmuni bizning printsiplarimizga rioya qiladi muharrirlik etikasi. Xato haqida xabar berish uchun bosing bu erda.

Izoh, o'zingiznikini qoldiring

Fikringizni qoldiring

Sizning email manzilingiz chop qilinmaydi.

*

*

  1. Ma'lumotlar uchun javobgardir: Migel Anxel Gaton
  2. Ma'lumotlarning maqsadi: SPAMni boshqarish, izohlarni boshqarish.
  3. Qonuniylashtirish: Sizning roziligingiz
  4. Ma'lumotlar haqida ma'lumot: qonuniy majburiyatlar bundan mustasno, ma'lumotlar uchinchi shaxslarga etkazilmaydi.
  5. Ma'lumotlarni saqlash: Occentus Networks (EU) tomonidan joylashtirilgan ma'lumotlar bazasi
  6. Huquqlar: istalgan vaqtda siz ma'lumotlaringizni cheklashingiz, tiklashingiz va o'chirishingiz mumkin.

  1.   Turli xil dijo

    Qanday qilib foydalanuvchi o'yinni qaysi backend bilan boshqarishni tanlaydi? U qanday fayllarni o'zgartirishi kerak?