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

François Beaufort
François Beaufort

Published: September 24, 2025

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

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

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

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

كجزء من عمل تحسين التمثيل الوسيط، تم تحويل الواجهة الأمامية لـ SPIR-V (التي تستخدمها التطبيقات لتحويل SPIR-V إلى WGSL) من إنشاء تمثيل لشجرة البنية المجردة إلى الإنشاء مباشرةً إلى التمثيل الوسيط. يقدّم هذا التحسين أيضًا ميزات طال انتظارها، مثل إتاحة استخدام الأرقام العائمة التي تشغل 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 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