فتحت AMD كود المصدر لـ V-EZ ، وهو عبارة عن واجهة برمجة تطبيقات Vulkan shell ذات المنصات المنخفضة المستوى

Vulkan APIs هي واجهات برامج منخفضة المستوى عبر الأنظمة الأساسية توفر أداء رسومات ثلاثية الأبعاد أعلى بسبب انخفاض التكاليف مقارنة بواجهات برمجة التطبيقات الأخرى مثل OpenGL ، خاصة مع وظائف GPU الخاصة (API مناسبة أيضًا للعرض ثنائي الأبعاد). مع التنفيذ الصحيح ، توفر Vulkan "من زيادة سرعة هامشية إلى متعددة الحدود مقارنة بواجهات برمجة التطبيقات الأخرى على نفس الجهاز."

قدم مطور مجموعة Khronos Group Vulkan API في مؤتمر GDC 2015 ، وكان الإصدار الأول في فبراير 2016. في البداية ، كان يسمى Vulkan API "الجيل التالي من OpenGL" أو ببساطة glNext ، ولكن بعد ذلك تم تغيير الاسم إلى Vulkan.

كان الكثيرون ينتظرون بفارغ الصبر إصدار هذه التكنولوجيا الثورية ، والتي تسرع بشكل كبير الرسومات ثلاثية الأبعاد وتقلل الحمل على المعالج ، مثل Direct3D 12 ، Metal and Mantle. لكن المشكلة كانت أن واجهة برمجة تطبيقات Vulkan تتطلب المزيد من العمل من المطور ، في حين أن واجهات برمجة التطبيقات ذات المستوى الأعلى مثل OpenGL و DirectX 11 تبسط العديد من الأشياء ، مثل إدارة الذاكرة. للمساعدة في العمل مع Vulkan ، قامت AMD بتطوير طبقة غلاف وتجريد V-EZ ، ونشرت الآن شفرة المصدر لهذه الأداة بموجب ترخيص MIT المجاني ( مستودع GitHub ).

في البداية ، تم إصدار V-EZ في مارس 2018 بمصادر مغلقة ، والآن تمت إزالة هذا القيد.


Vulkan API

V-EZ هو مستوى متوسط ​​(برنامج وسيط) ، والذي يأخذ العديد من الوظائف الإضافية أثناء التطوير ، لذلك لا يحتاج المطور إلى معرفة جميع تعقيدات Vulkan ومعالجتها يدويًا ، وسوف يقوم V-EZ بأشياء كثيرة بنفسه. تستخدم الصدفة المساعدة نفس الدلالات مثل Vulkan API ، أي أنه يمكن استخدامها كنوع من أدوات التدريب. بدءًا من V-EZ ، يمكن للمطورين التعود عليها تدريجيًا - والانتقال في النهاية إلى استخدام Vulkan مباشرة. هذا يعني أيضًا أنه في كثير من الحالات تنطبق وثائق فولكان على V-EZ.

مزايا Vulkan على واجهات برمجة التطبيقات للجيل السابق:

  • تعد Vulkan API مناسبة تمامًا لبطاقات الجرافيكس المتطورة والمعدات الرسومية على الأجهزة المحمولة.
  • بخلاف Direct3D 12 ، يتوفر Vulkan في العديد من أنظمة التشغيل الحديثة ، ولا يرتبط بأي نظام تشغيل أو عامل شكل. منذ البداية ، تعمل Vulkan APIs على أنظمة Android و Linux و Tizen و Windows 7 و Windows 8 و Windows 10 ، وهناك دعم من طرف ثالث لنظامي iOS و macOS.
  • تقليل حمل السائق ، تقليل حمل وحدة المعالجة المركزية.
  • تقليل الحمل على وحدة المعالجة المركزية من خلال استخدام المعالجة المجمعة.
  • تحجيم أفضل للمعالجات متعددة النواة.
  • يستخدم OpenGL لغة GLSL عالية المستوى لكتابة التظليل ، مما يجبر كل برنامج تشغيل OpenGL على تنفيذ برنامج التحويل البرمجي الخاص به لـ GLSL ، والذي يعمل في وقت التشغيل لترجمة تظليل البرنامج إلى رمز جهاز GPU. بدلاً من ذلك ، يجب أن يقبل سائقو Vulkan التظليل المحول بالفعل إلى تنسيق ثنائي متوسط ​​SPIR-V ، على غرار التنسيق الثنائي الذي يتم فيه تجميع تظليل HLSL في Direct3D.
  • بفضل التجميع الأولي للتظليل ، تزداد سرعة التهيئة للتطبيقات ، ويمكنك استخدام عدد أكبر من التظليل لكل مشهد. يحتاج برنامج التشغيل فقط إلى تحسين GPU معين وإنشاء التعليمات البرمجية ، مما يبسط صيانة برنامج التشغيل ويقلل حجمها.
  • إدارة موحدة لنوى الحوسبة ومظلات الرسوم ، مما يلغي الحاجة إلى استخدام واجهة برمجة تطبيقات حوسبة منفصلة بالاشتراك مع واجهة برمجة تطبيقات رسومية.



الطبقة المتوسطة V-EZ

على الرغم من أن منشئ Vulkan API هو مجموعة Khronos ، إلا أن التقنية تعتمد على واجهة Mantle API التي تبرعت بها AMD لمجموعة Khronos Group. كانت الفكرة هي إنشاء تقنية أكثر تقدمًا لم تكن مرتبطة بمصنع معين ، بحيث يمكن اعتمادها كمعيار صناعي معترف به بشكل عام ، مثل OpenGL. لذلك ، تساعد AMD الآن في تطوير واجهة برمجة تطبيقات Vulkan وتقوم بإنشاء أدوات دعم مثل V-EZ.

متطلبات التثبيت لـ V-EZ


  • 64 بت Windows 7 و 8.1 و 10
  • Linux 64 بت (تم اختباره على Fedora و Ubuntu)
  • Visual Studio 2015 أو أحدث
  • 4.9 أو أحدث
  • CMake 3.8 أو أحدث
  • LunarG Vulkan SDK 1.1.70

V-EZ غير مرتبط ببائع معين ويجب أن يعمل على معدات غير AMD.

يأمل منشئو V-EZ أن يساهم نشر شفرة المصدر بموجب ترخيص مجاني في زيادة شعبية V-EZ shell ، وبالتالي ، واجهات برمجة جديدة منخفضة المستوى. وهذا بدوره سيساعد المطورين على اعتماد واجهات برمجة تطبيقات جديدة ، مما سيؤدي إلى أداء أفضل للألعاب والمزيد من الألعاب عبر الأنظمة الأساسية.

يدعم Vulkan حاليًا عددًا من محركات الألعاب ، بما في ذلك Source 2 و Serious Engine 4 و Unreal Engine 4 و Torque 3D و id Tech 3 و id Tech 4 و id Tech 6 و Xenko و Unity و CryEngine و Intrinsic و Unigine و Abyss Engine ، Banshee 3D و Godot.

Source: https://habr.com/ru/post/ar421361/


All Articles