នៅក្នុងមូលដ្ឋានកូដដែលត្រូវបានប្រើដើម្បីបង្កើតជា Mesa 20.2 ជំនាន់ កម្មវិធីបញ្ជា RADV, Vulkan សម្រាប់បន្ទះឈីប AMD ប្តូរទៅផ្នែកខាងក្រោយ លំនាំដើមដើម្បីចងក្រង shaders » ACO «, ត្រូវបានបង្កើតឡើងដោយវ៉ាល់ ជាជម្រើសមួយសម្រាប់អ្នកចងក្រងស្រមោលអិលអិលអិម។
ការផ្លាស់ប្តូរដែលបានបញ្ជាក់នេះ ត្រូវបានធ្វើរួចនៅចុងបញ្ចប់នៃការទទួលបានការកើនឡើងនូវផលិតភាពនៃហ្គេម និងការកាត់បន្ថយពេលវេលាចាប់ផ្តើមរបស់វា។
ការផ្លាស់ប្តូរ ពីឧបករណ៍បញ្ជា RADV ទៅកម្មវិធីខាងក្រោយថ្មី អាចធ្វើទៅបានបន្ទាប់ពីទទួលបានភាពស្មើគ្នានៅក្នុងមុខងារ ACO ជាមួយកម្មវិធីអភិវឌ្ឍន៍ AMD ចាស់ សម្រាប់កម្មវិធីបញ្ជា AMDGPU ដែលបន្តប្រើប្រាស់ក្នុងកម្មវិធីបញ្ជា RadeonSI OpenGL ។
ការធ្វើតេស្ដដោយវ៉ាល់បានបង្ហាញថាអេស៊ីអូមានល្បឿនលឿនស្ទើរតែទ្វេដងដូចអេមអេហ្វជីភីយូដែលបង្កើតកម្មវិធីតំឡើងស្រមោលនិងបង្ហាញពីការកើនឡើងនៃអេហ្វភីអេហ្វនៅក្នុងហ្គេមមួយចំនួននៅពេលដំណើរការលើប្រព័ន្ធជាមួយកម្មវិធីបញ្ជា RADV ។
កម្មវិធីបញ្ជា AMD OpenGL និង Vulkan បច្ចុប្បន្នប្រើឧបករណ៍ចងក្រងដែលជាផ្នែកនៃគម្រោងចរន្តអិលអិលអិម។ គម្រោងនោះគឺធំធេងហើយមានគោលដៅខុសគ្នាជាច្រើនហើយការចងក្រងតាមអ៊ិនធរណេតរបស់អ្នកលេងហ្គេមគឺគ្រាន់តែជាផ្នែកមួយនៃគំរោងទាំងនោះ។
នោះអាចនាំឱ្យមានការដោះដូរការអភិវឌ្ឍដែលការកែលម្អមុខងារជាក់លាក់នៃហ្គេមគឺពិបាកជាងបើមិនដូច្នេះទេឬកន្លែងដែលលក្ខណៈពិសេសនៃហ្គេមត្រូវបានខូចដោយចៃដន្យដោយអ្នកអភិវឌ្ឍន៍អិលអិលអិមធ្វើការលើរឿងផ្សេងទៀត។
អ្នកខាងក្រោយ អេស៊ីអូមានគោលបំណងធានាថាលេខកូដត្រូវបានបង្កើតតាមរបៀបដ៏ប្រសើរបំផុត អាចធ្វើទៅបានសម្រាប់អ្នកផ្លាស់ប្តូរកម្មវិធីហ្គេមនិងសម្រេចបាននូវល្បឿនចងក្រងខ្ពស់។
ទឹកប្រាក់ វាត្រូវបានសរសេរជា C ++, បង្កើតឡើងដោយចងចាំនូវភាពអាចប្រើប្រាស់បានសម្រាប់ការចងក្រង JIT និងប្រើវិធីរហ័សដើម្បីភ្ជាប់លើរចនាសម្ព័ន្ធទិន្នន័យ ជៀសវាងរចនាសម្ព័ន្ធដែលមានមូលដ្ឋានលើទ្រនិចដូចជាបញ្ជីដែលបានភ្ជាប់និងខ្សែពីការប្រើ def ។ ការតំណាងកម្រិតមធ្យមនៃលេខកូដគឺពឹងផ្អែកទាំងស្រុងទៅលើស៊ីអេសអេស (ការបែងចែកឋិតិវន្តតែមួយ) និងអនុញ្ញាតឱ្យមានការបែងចែកកំណត់ត្រាដោយគណនាយ៉ាងជាក់លាក់នូវកំណត់ត្រាដោយផ្អែកលើស្រមោល។
ការតំណាងកម្រិតមធ្យមនៃលេខកូដគឺពឹងផ្អែកទាំងស្រុងទៅលើស៊ីអេសអេស (ការបែងចែកឋិតិវន្តតែមួយ) និងអនុញ្ញាតឱ្យមានការបែងចែកកំណត់ត្រាដោយគណនាយ៉ាងជាក់លាក់នូវកំណត់ត្រាដោយផ្អែកលើស្រមោល។
បច្ចុប្បន្នភីកសែលត្រូវបានគាំទ្រ (បំណែក) និងគណនាកាំរស្មីលើអេឌីអឹមឌីភីយូ (dGPU VI +) ។ ទោះយ៉ាងណាអេស៊ីអូប្រមូលបានអ្នកឆោឡោរួចហើយសម្រាប់ហ្គេមដែលបានសាកល្បងទាំងអស់រួមទាំងអ្នកស្មុកស្មាញពីស្រមោលនៃផ្នូររ៉ឺររ៉ឺរនិងវ៉ូដិនទី ២ ។
គំរូ ACO ដែលបានស្នើសុំ សម្រាប់ការធ្វើតេស្តនេះ វាលឿនជាងអ្នកចងក្រងអេមឌីជីភីយូ និងបង្ហាញពីការកើនឡើងនៃ FPS នៅក្នុងហ្គេមមួយចំនួននៅពេលដំណើរការលើប្រព័ន្ធជាមួយឧបករណ៍បញ្ជា RADV ។
ដើម្បីយល់កាន់តែច្បាស់អំពីភាពពាក់ព័ន្ធនៃការទទួលយកលេខកូដរបស់វ៉ាល់វាចាំបាច់ត្រូវចង្អុលបង្ហាញជាមុន គោលបំណងគឺដើម្បីធានាការបង្កើតលេខកូដដ៏ប្រសើរបំផុតដែលអាចធ្វើទៅបាន សម្រាប់អ្នកប្តូរកម្មវិធីហ្គេមក៏ដូចជាល្បឿនចងក្រងខ្ពស់។
ឧបករណ៍ចងក្រងស្រមោលដែលមាននៅក្នុង Mesa ប្រើសមាសធាតុ LLVM, ដែលមិនអនុញ្ញាតឱ្យសម្រេចបាននូវល្បឿនចងក្រងដែលចង់បានហើយមិនអនុញ្ញាតឱ្យមានការត្រួតពិនិត្យពេញលេញនៃលំហូរត្រួតពិនិត្យដែលកាលពីមុនបានបង្កឱ្យមានកំហុសធ្ងន់ធ្ងររួចហើយ។
ដូចគ្នានេះផងដែរ, ជៀសវាង LLVM ធ្វើឱ្យវាអាចធ្វើទៅបានដើម្បីអនុវត្តការវិភាគឈ្លានពានបន្ថែមទៀត ភាពខុសគ្នានិងការគ្រប់គ្រងការផ្ទុកកំណត់ហេតុបានល្អដែលជួយបង្កើតឯកសារដែលអាចប្រតិបត្តិបានកាន់តែមានប្រសិទ្ធភាព។
ទីបំផុតវាក៏ជា វាជាការសំខាន់ក្នុងការកត់សម្គាល់ថានៅពេលនេះ ACO ធ្វើការតែសម្រាប់ឧបករណ៍បញ្ជា Mesa RADV Vulkan ប៉ុណ្ណោះ។ ប៉ុន្តែអ្នកអភិវឌ្ឍន៍ ACO បានបញ្ជាក់ថាជំហានបន្ទាប់របស់ពួកគេគឺចាប់ផ្តើមធ្វើការពង្រីកសមត្ថភាពរបស់អេអូអេដើម្បីគាំទ្រដល់កម្មវិធីបញ្ជា OpenGL RadeonSI ដូច្នេះនៅពេលអនាគតនិងសម្រាប់អ្នកបើកបរនេះអេស៊ីអូអាចជំនួសអ្នកចងក្រងស៊ីអេសអិលជំនួស។ ។
ប៉ុន្មាន អ្នកដែលចូលចិត្តបន្តជាមួយកម្មវិធីខាងក្រោយដែលត្រូវបានប្រើពីមុន ពីអ្នកចងក្រងកោរសក់ LLVM ពួកគេអាចត្រលប់ទៅវាវិញពួកគេគ្រាន់តែត្រូវប្តូរអថេរប៉ុណ្ណោះ។
អថេរបរិស្ថានដែលត្រូវបានផ្តល់ជូនដើម្បីធ្វើការផ្លាស់ប្តូរនេះ "RADV_DEBUG = llvm" ។
មតិយោបល់សូមចាកចេញពីអ្នក
ហើយតើអ្នកប្រើជ្រើសរើសកម្មវិធីខាងក្រោយដើម្បីដំណើរការហ្គេមជាមួយរបៀបណា? តើឯកសារអ្វីខ្លះដែលត្រូវកែប្រែ?