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

François Beaufort
François Beaufort

Published: September 24, 2025

اكتملت عملية تحويل Tint إلى تمثيل وسيط (IR)

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

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

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

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

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

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

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

تعديل SPIR-V 1.4 للخلفية Vulkan

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

تعديلات Dawn

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

بفضل المساهم الخارجي William Candillon، يمكنك الآن العثور على ملفات Dawn الثنائية التي تم إنشاؤها مسبقًا كعناصر على GitHub Actions. تشمل هذه الملفات ملفات .lib ثابتة لأجهزة Android، وحزمة .XCFramework لأجهزة Apple، وجميع ملفات الرأس الضرورية. راجِع طلب السحب رقم 39 في Dawn ومثالاً على العناصر.

لا يغطي هذا المستند سوى بعض النقاط الرئيسية. يمكنك الاطّلاع على القائمة الشاملة لعمليات الإرسال.

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

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

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