نظرة عامة على WebGPU

François Beaufort
François Beaufort

‫WebGPU هي واجهة برمجة تطبيقات لرسومات الويب تقدّم مزايا كبيرة، مثل تقليل عبء العمل في JavaScript بشكلٍ كبير للرسومات نفسها وتحسينات تزيد عن ثلاث مرات في استنتاجات نماذج تعلُّم الآلة. ويعود ذلك إلى إمكانية برمجة وحدة معالجة الرسومات بشكل مرن والوصول إلى إمكانات متقدّمة لا يوفّرها WebGL.

صُممت واجهة برمجة التطبيقات مع أخذ النظام الأساسي للويب في الاعتبار، وهي تتميز بواجهة برمجة تطبيقات JavaScript ملفتة للدمج مع الوعود، وتتيح استيراد الفيديوهات، وتجربة محسَّنة للمطور مع رسائل خطأ واضحة.

WebGPU هو نتيجة جهد تعاوني من جانب مجموعة "وحدة معالجة الرسومات للويب" في W3C، التي تتضمّن مساهمات من شركات كبرى مثل Mozilla وApple وIntel وMicrosoft.

دعم المتصفح

تم توفير هذا الإصدار الأولي من WebGPU في الإصدار 113 من Chrome، وعلى أجهزة ChromeOS المتوافقة مع Vulkan، وأجهزة Windows المتوافقة مع Direct3D 12، وأجهزة macOS. ستتوفّر قريبًا ميزة "الوصول المحدود" على أجهزة Linux وAndroid، وستتوفّر أيضًا على المنصات الحالية.

أداة WebGPU هي قيد التطوير في كل من Firefox وSafari، بالإضافة إلى عملية التنفيذ الأولية في Chrome.

دعم المكتبة

إنّ العديد من مكتبات WebGL المستخدَمة على نطاق واسع قيد التنفيذ حاليًا لتوفير دعم WebGPU أو قد تم توفيره فيها. وهذا يعني أنّ استخدام WebGPU قد يتطلّب فقط إجراء تغيير في سطر واحد.

  • توفّر Babylon.js دعمًا كاملاً لواجهة برمجة التطبيقات WebGPU.
  • أعلنت شركة PlayCanvas عن توفّر WebGPU بشكل أوّلي.
  • يتوافق TensorFlow.js مع الإصدارات المحسّنة من WebGPU لمعظم عوامل التشغيل.
  • نحن نعمل على إتاحة WebGPU في Three.js، اطّلِع على الأمثلة.

تتوفّر مكتبة Dawn لمتصفّح Chromium ومكتبة wgpu لمتصفّح Firefox كتحميل مُستقل. وتوفّر هذه الوحدات إمكانية نقل رائعة وطبقات مريحة تصعِّد واجهات برمجة تطبيقات وحدة معالجة الرسومات في نظام التشغيل. إنّ استخدام هذه المكتبات في التطبيقات المتوافقة مع الأجهزة فقط يسهّل نقلها إلى WASM من خلال Emscripten وRust web-sys.

الموارد

WebGPU هي تقنية مهمة، وننصحك بالاطّلاع على المراجع التالية لمعرفة المزيد من المعلومات: