نظرة عامة على 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 هي تقنية مهمة، وننصحك بالاطّلاع على المراجع التالية لمعرفة المزيد من المعلومات: