WebGPU على Android

توفّر مكتبة WebGPU في Android Jetpack روابط Kotlin اصطلاحية لمعيار WebGPU، ما يتيح إمكانات رسومات ثلاثية الأبعاد (3D) وحوسبة حديثة وعالية الأداء ضِمن تطبيقات Android.

‫WebGPU هي الإصدار الأحدث من WebGL، وهي مستوحاة من OpenGL، وقد تم تصميمها من البداية لتعكس طريقة عمل وحدات معالجة الرسومات الحديثة وتتيح الاستفادة من إمكانات وحدة معالجة الرسومات بطريقة آمنة ومريحة ومتوافقة مع مختلف الأنظمة الأساسية.

لماذا WebGPU؟

  • سهولة الاستخدام: مع أنّ Vulkan هي واجهة برمجة التطبيقات الأساسية للرسومات المنخفضة المستوى على Android. توفّر WebGPU واجهة برمجة تطبيقات حديثة ذات مستوى أعلى أسهل في الاستخدام وأقل تفصيلاً بكثير مقارنةً بواجهة Vulkan.
  • تسجّل WebGPU أوامر متعدّدة في مخازن الأوامر، وذلك كجزء من تصميمها للحدّ من كثرة تبادل البيانات بين البروتوكولات. يقلّل ذلك أيضًا من الحاجة إلى استدعاء طرق خارجية عند استخدام روابط Kotlin.
  • التوافق مع جميع الأنظمة الأساسية: يمكن مشاركة رمز التظليل WebGPU (WGSL) مباشرةً بين عمليات تنفيذ WebGPU على جميع الأنظمة الأساسية، بما في ذلك الويب.
  • Optimized Compute: تتيح هذه الميزة مشاركة المخزن المؤقت بسلاسة وبدون الحاجة إلى النسخ بين مهام الحوسبة والرسومات، ما يؤدي إلى تحسين الأداء وتبسيط عملية التطوير مقارنةً بواجهات برمجة التطبيقات القديمة.

الفئات المعنيّة بهذه المكتبة

تم تصميم هذه المكتبة لإنشاء تطبيقات عالية الأداء تتطلّب الوصول المباشر إلى وحدة معالجة الرسومات:

  • فلاتر معالجة الصور والفيديوهات
  • العروض المرئية للبيانات
  • الاستدلال في تعلُّم الآلة
  • الألعاب وعمليات المحاكاة

الأهداف غير المشمولة: هذه واجهة برمجة تطبيقات للرسومات وليست محرّك ألعاب. أنت المسؤول عن إدارة حلقة العرض ومصفوفات الكاميرا ومخطط المشهد.

المفاهيم الأساسية في WebGPU

يُعدّ فهم عناصر WebGPU الأساسية وكيفية تفاعلها أمرًا ضروريًا لتطوير WebGPU.

المفهوم

الوصف

المثيل

نقطة الدخول إلى WebGPU، ما يتيح الوصول إلى "المحوّلات" و"الأسطح"

المحوّل

تمثّل وحدة معالجة رسومات معيّنة على الجهاز

الجهاز

الربط المنطقي بوحدة معالجة الرسومات التي يتم إنشاء الموارد فيها

قائمة الانتظار

الآلية المستخدَمة لإرسال الأوامر إلى وحدة معالجة الرسومات

Shader Module

رمز وحدة معالجة الرسومات، مكتوب بلغة التظليل WebGPU (WGSL)

خطوط الأنابيب

عناصر تصف حالة وحدة معالجة الرسومات بالكامل (المظلّلات، المزج) لمهمة ما

ربط المجموعات

ربط مخازن بيانات (مثل مواد العرض) ببرامج تظليل

Command Encoder

كائن يُستخدَم لإنشاء تسلسل من أوامر وحدة معالجة الرسومات في مخزن مؤقت للأوامر