الميزات الجديدة في WebGPU (الإصدار 141 من Chrome)

François Beaufort
François Beaufort

تاريخ النشر: 24 سبتمبر 2025

اكتملت عملية التلوين بالأشعة تحت الحمراء

اكتمل مشروع طويل الأمد (أكثر من عامين ونصف) لزيادة أداء الأجزاء الداخلية من Tint، أي برنامج تجميع WGSL. تم إدراج تمثيل وسيط (IR) في الخلفية بين شجرة بناء الجملة المجردة (AST) الحالية ومولّدات الرموز البرمجية في الخلفية. أتاح طرح IR لفريق Chrome إزالة جميع عمليات تحويل AST وإعادة إنشائها كعمليات تحويل IR، والتي تكون أسرع بكثير بسبب الاختلافات في البنية. وقد شهدت الأجزاء الداخلية من Tint على بعض المنصات تحسّنًا في السرعة يصل إلى سبع مرات نتيجةً لهذه التغييرات.

تتيح هذه التمثيل الوسيط الجديد إمكانات كبيرة لتحليل وتعديل برامج التظليل المعقّدة والواسعة النطاق، ما يَعِد ليس فقط بتحقيق مكاسب ملحوظة في الأداء، بل أيضًا بتمهيد الطريق أمام Chrome لتقديم ميزات WebGPU جديدة ومثيرة في المستقبل.

منذ هذه المرحلة، تعمل جميع مولّدات الرموز البرمجية الخلفية من تمثيل IR، وتم حذف جميع عمليات تحويل AST، كما تمت إزالة جميع رموز دعم AST لتنفيذ عمليات التحويل.

في إطار العمل على تحسين IR، تم تحويل الواجهة الأمامية SPIR-V (التي تستخدمها التطبيقات لتحويل SPIR-V إلى WGSL) من إنشاء تمثيل AST إلى الإنشاء مباشرةً إلى IR. يقدّم هذا التحسين أيضًا ميزات طال انتظارها، مثل إتاحة استخدام float 16 في الواجهة الأمامية SPIR-V.

تحليل نطاق الأعداد الصحيحة في برنامج WGSL المجمّع

يطرح فريق Chrome تدريجيًا ميزة جديدة لتحليل نطاق الأعداد الصحيحة في Tint، وهي أداة تجميع لغة التظليل WebGPU. يقدّر تحليل نطاق الأعداد الصحيحة الحد الأدنى والحد الأقصى للقيم التي يمكن أن يتخذها متغير عدد صحيح أثناء تنفيذ البرنامج بدون تشغيل البرنامج فعليًا.

تهدف هذه الميزة إلى تحسين الكفاءة من خلال تقليل الحاجة إلى عمليات التحقّق المكلفة من الحدود، وسيتم تفعيلها تلقائيًا قريبًا على جميع المنصات. يمكنك الاطّلاع على المشكلة 348701956.

تحديث SPIR-V 1.4 لخادم Vulkan الخلفي

يتم طرح الإصدار 1.4 من SPIR-V حيثما كان متاحًا على أجهزة Android وChromeOS. يتيح هذا التحديث لبرنامج التجميع Tint، وهو برنامج تجميع WGSL، الاستفادة من ميزات SPIR-V الجديدة، والتساهل، والتعليمات الجديدة لإنشاء رمز برمجي أكثر كفاءة في سيناريوهات معيّنة عند تجميع مظلّلات Vulkan. يمكنك الاطّلاع على المشكلة 427717267.

تعديلات الفجر

أصبح عنوان webgpu.h الموحّد، الذي يحدّد واجهة برمجة التطبيقات الأساسية WebGPU C، مستقرًا الآن. تنطبق هذه الثباتية تحديدًا على واجهة برمجة التطبيقات الأساسية المحدّدة في المصدر، ولا تشمل إضافات التنفيذ (على سبيل المثال، من Dawn أو Emdawnwebgpu)، لذا من الأفضل استخدام webgpu.h المقدَّمة من عملية التنفيذ الدقيقة التي تربط بها. على الرغم من أنّ العنوان ثابت، قد تظل تواجه اختلافات غير مقصودة بين عمليات التنفيذ بينما نواصل إصلاح الأخطاء ومعالجة التوافق في جميع أنحاء النظام المتكامل. في حال حدوث ذلك، يُرجى الإبلاغ عن الخطأ.

بفضل المساهم الخارجي ويليام كانديون، يمكنك الآن العثور على ملفات Dawn الثنائية المُنشأة مسبقًا كعناصر على GitHub Actions. وتشمل هذه الملفات ملفات .lib ثابتة لنظام التشغيل Android، وحزمة .XCFramework لأجهزة Apple، وجميع ملفات العناوين الضرورية. يمكنك الاطّلاع على Dawn PR #39 ومثال على القطع الأثرية.

هذا يشمل بعض النقاط الرئيسية فقط. اطّلِع على قائمة عمليات الدمج الشاملة.

الميزات الجديدة في WebGPU

قائمة بكل ما تم تناوله في سلسلة الميزات الجديدة في WebGPU

‫Chrome 155-156

‫Chrome 153-154

‫Chrome 151-152

‫Chrome 149-150

Chrome 147-148

‫Chrome 146

‫Chrome 145

‫Chrome 144

Chrome 143

‫Chrome 142

‫Chrome 141

Chrome 140

‫Chrome 139

‫Chrome 138

‫Chrome 137

Chrome 136

Chrome 135

Chrome 134

Chrome 133

‫Chrome 132

Chrome 131

Chrome 130

Chrome 129

‫Chrome 128

Chrome 127

Chrome 126

‫Chrome 125

Chrome 124

Chrome 123

‫Chrome 122

Chrome 121

‫Chrome 120

‫Chrome 119

‫Chrome 118

Chrome 117

Chrome 116

Chrome 115

‫Chrome 114

‫Chrome 113