تاريخ النشر: 5 آذار (مارس) 2025
تنطبق التغييرات التالية على أحدث إصدار من الإصدار التمهيدي ل Chrome على أجهزة Android وChromeOS وLinux وmacOS وWindows، ما لم يُذكر خلاف ذلك. يمكنك الاطّلاع على مزيد من المعلومات عن الميزات المدرَجة هنا من خلال الروابط المقدَّمة أو من القائمة على ChromeStatus.com. يُرجى العِلم أنّ الإصدار 135 من Chrome هو إصدار تجريبي اعتبارًا من 5 آذار (مارس) 2025. يمكنك تنزيل الإصدار الأحدث من الإصدار على Google.com لأجهزة الكمبيوتر المكتبي أو على متجر Google Play على أجهزة Android.
CSS وواجهة المستخدم
يضيف هذا الإصدار ثلاثة عشر ميزة جديدة لتنسيق CSS وواجهة المستخدم.
موضع الرابط الذي تم حفظه في ذاكرة التخزين المؤقت لميزة "تمرير الصفحة"
إضافة إمكانية استخدام مفهوم موضع التمرير remembered
offset عندما يحتوي عنصر مُحدَّد الموضع على عنصر تثبيت تلقائي، ويتم ربطه بهذا العنصر المثبَّت عند أحد أطرافه، وبجانب الكتلة الأصلية التي تحتوي عليه عند الطرف الآخر، سيتم أخذ عنصر التمرير
المُعدَّل في الاعتبار عند تحديد حجم العنصر. ويعني ذلك
أنّه يمكنك استخدام كل المساحة المرئية (باستخدام position-area
) للعنصر المرتبط
عند تمرير المستند بقيمة محدّدة لموضع التمرير. لتجنُّب تعديل التنسيق (تغيير حجم العنصر) في كل مرة يتم فيها الانتقال للأسفل أو للأعلى في المستند، يستخدم المتصفّح إزاحة التمرير التي تم تذكرها بدلاً من استخدام إزاحة التمرير الحالية دائمًا. يتم تعديل إزاحة التمرير المحفوظة في نقطة إعادة احتساب
المرجع، وهي إما الموضع الذي يتم فيه عرض العنصر الذي تم ضبط موضع له
في البداية، أو عند اختيار خيار موضع مختلف
(position-try-fallbacks
).
عدم تفاعل خدمة مقارنة الأسعار (CSS)
يؤثّر جعل العنصر غير تفاعلي في ما إذا كان يمكن التركيز عليه أو تعديله أو اختياره
أو البحث عنه باستخدام ميزة "البحث في الصفحة". ويؤثر ذلك أيضًا في ما إذا كان العنصر مرئيًا في ملف ملف ملف
تسهيل الاستخدام. تحدّد السمة interactivity
ما إذا كان العنصر
وعناصره الفرعية في الشجرة المنبسطة (بما في ذلك سلاسل النصوص) غير نشطة أم لا. تقبل السمة
interactivity
إحدى القيمتَين التاليتَين: auto
أو inert
.
خصائص الزيادة المنطقية
تتيح لك سمتا CSS overflow-inline
وoverflow-block
ضبط overflow
في اتجاهَي "العنصر المضمّن" و"العنصر المجمّع" بالنسبة إلى وضع الكتابة. في وضع الكتابة الافقي، يتم ربط الحرف overflow-inline
بالحرف overflow-x
، وفي وضع الكتابة العمودي، يتم ربطه بالحرف overflow-y
.
الدوالّ ذات الصلة بالإشارة: abs()
وsign()
تحسب الدالتان abs()
وsign()
دوالّ مختلفة
ذات صلة بعلامة وسيطتهما.
سمة dynamic-range-limit
السماح للصفحة بتحديد الحد الأقصى للسطوع في محتوى النطاق العالي الديناميكية
دالة shape()
تسمح دالة shape()
بأشكال حرة متجاوبة في الخاصية clip-path
. يتيح لك تحديد سلسلة من الأوامر، ما يعادل الأوامر الواردة في
path()
. ومع ذلك، تقبل الأوامر الوحدات المتوافقة مع مختلف الأجهزة (مثل %
أو
vw
)، بالإضافة إلى أي قيم CSS، مثل السمات المخصّصة.
العنصر الصوري ::column
عنصر زائف ::column
، يسمح بتطبيق مجموعة محدودة من الأنماط على
المقاطع التي تم إنشاؤها على وجه التحديد، يقتصر ذلك على الأنماط التي لا تؤثر في التنسيق، وبالتالي يمكن تطبيقها بعد التنسيق.
::scroll-button()
العناصر الزائفة
السماح بإنشاء أزرار تفاعلية للانتقال للأعلى أو للأسفل كعناصر زائفة على سبيل المثال:
.scroller {
overflow: auto;
}
.scroller::scroll-button(inline-start) {
content: "<";
}
.scroller::scroll-button(inline-end) {
content: ">";
}
يجب أن تكون هذه العناصر قابلة للتركيز وأن تعمل كزر (بما في ذلك أنماط Universal Analytics).
عند تفعيلها، يجب التمرير في الاتجاه المحدّد بمقدار معيّن.
عندما لا يكون من الممكن الانتقال في هذا الاتجاه، يجب إيقافه
(واستخدام الرمز:disabled
) وإلا سيتم تفعيله (واستخدام الرمز
:enabled
). يتيح لك أداة الاختيار تحديد الأزرار في أربعة اتجاهات منطقية:
block-start
وblock-end
وinline-start
وinline-end
، بالإضافة إلى أربعة
اتجاهات جسدية: up
وdown
وleft
وright
.
::scroll-marker
و::scroll-marker-group
تضيف ::scroll-marker
و::scroll-marker-group
للحاويات التي تتيح التنقّل في الصفحة.
تتيح لك هذه العناصر الزائفة إنشاء مجموعة من العلامات التي يمكن التركيز عليها لجميع
العناصر المرتبطة داخل حاوية التمرير.
تنسيق العناصر الزائفة المُدمجة
يتيح هذا الخيار وضع أسلوب للعناصر الزائفة التي تكون مدمجة داخل عناصر زائفة أخرى.
حتى الآن، تتوفّر الميزة في ::before::marker
و::after::marker
، وستكون متاحة في ::column::scroll-marker
في المستقبل.
سجلّ تقسيم روابط :visited
لمنع تسرُّب سجلّ تصفّح المستخدِم، يتمّ تصميم عناصر الربط على أنّها
:visited
فقط إذا تمّ النقر عليها من مصدر الموقع الإلكتروني والإطار
هذاَين من المستوى الأعلى من قبل. من خلال تنسيق الروابط التي تم النقر عليها في هذا الموقع الإلكتروني و
الإطار من قبل فقط، أصبحت العديد من هجمات القناة الجانبية التي تم تطويرها للحصول على
معلومات تنسيق روابط:visited
قديمة، لأنّها لم تعُد توفّر
للمواقع الإلكترونية معلومات جديدة عن المستخدمين.
هناك استثناء للروابط الذاتية، حيث يمكن أن يتم :visited
تنسيق الروابط المؤدية إلى صفحات الموقع الإلكتروني حتى إذا لم يتم النقر عليها في :visited
أصل الموقع الإلكتروني والإطار من المستوى الأعلى هذا من قبل. لا يتم تفعيل هذا الاستثناء إلا في
اللقطات أو اللقطات الفرعية ذات المصدر نفسه في اللقطة
ذات المستوى الأعلى. لا تزال مزايا الخصوصية متاحة لأنّ المواقع الإلكترونية تعرف من قبل
الصفحات الفرعية التي زارها المستخدم، لذا لا يتم عرض أي معلومات جديدة. وقد تم تقديم هذا الطلب من قبل مستخدمي المنصة لتحسين تجربتهم.
الترميزات الوظيفية لتقدّم الاستقراء: دوال *progress()
في CSS
تمثّل العلامات الوظيفية
progress()
وmedia-progress()
وcontainer-progress()
المسافة النسبية لقيمة معيّنة (قيمة
التقدّم) من قيمة (قيمة بداية التقدّم) إلى قيمة أخرى (قيمة نهاية
التقدّم). وتسمح هذه الدوال بتحديد نسبة التقدّم من الدوالّ الحسابية وميزات
الوسائط وميزات الحاوية على التوالي.
safe-area-max-inset-
* المتغيّرات
بالإضافة إلى متغيّرات بيئة safe-area-inset
، يتيح Chrome الآن
أيضًا استخدام صيغ max-area-safe-inset-
* لهذه المتغيّرات. على عكس المكوّنات المُدمَجة الديناميكية، لا تتغيّر المكوّنات المُدمَجة القصوى وتمثّل الحد الأقصى للمكوّن المُدمَج للمساحة
الآمنة.
هذه القيم ضرورية عند إنشاء تجارب ويب عالية الأداء من الحافة إلى الحافة.
واجهات برمجة التطبيقات على الويب
إضافة إمكانية استخدام MediaStreamTrack
إلى Web Speech API
إضافة إمكانية استخدام MediaStreamTrack
إلى Web Speech API Web Speech API هي واجهة برمجة تطبيقات قياسية لتطبيقات الويب تتيح للمطوّرين دمج ميزتَي التعرّف على الكلام وتحويله إلى نص في صفحات الويب. تستخدِم Web Speech API حاليًا
الميكروفون التلقائي للمستخدم كمدخل صوتي. يتيح دعم MediaStreamTrack للمواقع الإلكترونية
استخدام واجهة برمجة التطبيقات Web Speech API لترجمة مصادر الصوت الأخرى، بما في ذلك ملفّات الوسائط الصوتية
المشغّلة عن بُعد.
تقسيم عناوين URL للكائنات الثنائية الكبيرة (BLOB): الاسترجاع والتنقّل
كمتابعة لميزة "تقسيم مساحة التخزين"، تُنفِّذ هذه الميزة تقسيمًا لإمكانية الوصول إلى عناوين URL لـ Blob باستخدام مفتاح التخزين (الموقع الإلكتروني من المستوى الأعلى ومصدر الإطار والقيمة المنطقية has-cross-site-ancestor)، باستثناء عمليات التنقّل من المستوى الأعلى التي ستظل مجزّأة حسب مصدر الإطار فقط.
require-sri-for
لصنّاع المحتوى في مجال النصوص البرمجية
يمنحك التوجيه require-sri-for
إمكانية التأكيد على أنّه يجب التحقّق من سلامة كل
مورد من نوع معيّن. إذا تم محاولة تحميل مورد من هذا
النوع بدون بيانات وصفية للسلامة، ستؤدي هذه المحاولة إلى
تعذُّر تحميل المورد وسيتم إنشاء تقرير عن انتهاك بروتوكول CSP. يتناول هذا القصد قيمة "script"
لهذا التوجيه.
إنشاء عميل مشغّل خدمات واكتساب وحدة تحكّم مشغّل الخدمات لإطار iframe في srcdoc
لا تُعدّ مستندات سياق Srcdoc حاليًا عملاء لعامل الخدمة ولا تخضع
لعامل الخدمة الرئيسي. ويؤدي ذلك إلى حدوث بعض التناقضات
(على سبيل المثال، يُبلغ "توقيت الموارد" عن عناوين URL التي تحمّلها هذه المستندات، ولكن
لا يعترضها العامل الخدمي). يهدف ذلك إلى حلّ التناقضات من خلال
إنشاء عملاء مشغّلي خدمات لإطارات iframe في srcdoc
وجعلها تكتسب
عنصر التحكّم في مشغّل الخدمات الخاص بالعنصر الرئيسي.
إرسال أحداث النقر إلى المؤشر الذي تمّت معالجته
في حال تمّ تسجيل مؤشر أثناء إرسال حدث pointerup
، سيتمّ إرسال حدث
click
إلى الهدف المسجَّل بدلاً من أقرب
سلف مشترك لحدثَي pointerdown
وpointerup
وفقًا لمواصفات
حدث واجهة المستخدم. بالنسبة إلى المؤشرات غير المسجَّلة، يظلّ هدف click
بدون تغيير.
Float16Array
تُضيف الصفيف من النوع Float16Array
. يتم تقريب القيم الرقمية إلى IEEE fp16 عند
الكتابة في نُسخ Float16Array
.
دمج مُشغِّل التنقّل في مفتاح قسم ذاكرة التخزين المؤقت لبروتوكول HTTP
تم تعديل مخطّط مفاتيح التخزين المؤقت لبروتوكول HTTP في Chrome ليشمل قيمة is-cross-site-main-frame-navigation
منطقية للحدّ من هجمات الكشف عن المعلومات
على مستوى المواقع الإلكترونية المختلفة التي تنطوي على الانتقال إلى المستوى الأعلى. على وجه التحديد، سيؤدي ذلك إلى منع
الهجمات على مستوى الموقع الإلكتروني التي يمكن فيها للمهاجم بدء عملية انتقال من المستوى الأعلى إلى
صفحة معيّنة ثم الانتقال إلى مورد معروف أنّ الصفحة تحمّله
من أجل استنتاج معلومات حسّاسة من خلال توقيت التحميل. ويؤدي هذا التغيير أيضًا إلى تحسين
الخصوصية من خلال منع موقع إلكتروني ضار من استخدام عمليات التنقّل لاستنتاج ما إذا كان
المستخدم قد زار موقعًا إلكترونيًا معيّنًا في السابق.
منع التتبّع باستخدام سياسة HSTS
الحدّ من تتبُّع المستخدمين من قِبل جهات خارجية من خلال ذاكرة التخزين المؤقت لبروتوكول HSTS
لا تسمح هذه الميزة إلا بترقيات بروتوكول HSTS للتنقّلات ذات المستوى الأعلى، كما تحظر ترقيات بروتوكول HSTS لطلبات الموارد الفرعية. ويؤدي ذلك إلى جعل استخدام ذاكرة التخزين المؤقت لآلية HSTS لتتبُّع المستخدِمين على الإنترنت أمرًا غير ممكن على المواقع الإلكترونية التابعة لجهات خارجية.
أوامر المشغِّل: السمتَان command
وcommandfor
تتيح لك السمتَان command
وcommandfor
في عناصر <button>
تحديد
السلوك للأزرار بطريقة أكثر سهولة ووضوحًا، مع تقليل
الأخطاء وتبسيط مقدار JavaScript المطلوب للتفاعل. عند النقر على الأزرار التي تحتوي على سمتَي commandfor
وcommand
أو لمسها أو تفعيلها من خلال الضغط على مفتاح، سيتم إرسال CommandEvent
إلى العنصر المُشار إليه باستخدام commandfor
، مع بعض السلوكيات التلقائية، مثل فتح مربّعات الحوار والنوافذ المنبثقة.
ربط rel="facilitated-payment"
لتفعيل الدفعات الفورية
إضافة رمز <link rel="facilitated-payment" href="...">
للإشارة إلى أنّه ينبغي على المتصفّح إرسال إشعار إلى عملاء الدفع المسجّلين بشأن دفعة قيد الانتظار
سمة NavigateEvent
sourceElement
عندما يبدأ التنقّل من خلال عنصر (أي نقرة على رابط أو إرسال نموذج)، ستُعرِض الخاصية sourceElement
في NavigateEvent
العنصر الذي بدأ التنقّل.
تغيير اسم سبب NotRestoredReasons API
تعمل واجهة برمجة التطبيقات NotRestoredReasons
API على تغيير بعض نصوص الأسباب لمواءمتها مع
الأسماء الموحدة. قد يلاحظ المطوّرون الذين يراقبون هذه الأسباب تغييرًا في نصوص الأسباب.
Web Speech API على الجهاز
تضيف هذه الميزة ميزة التعرّف على الكلام على الجهاز إلى Web Speech API، مما يتيح للمواقع الإلكترونية التأكّد من عدم إرسال الملفات الصوتية أو الكلام المنسوخ إلى خدمة تابعة لجهة خارجية لمعالجتها. يمكن للمواقع الإلكترونية الاستعلام عن مدى توفّر ميزة التعرّف على الكلام على الجهاز فقط للغات معيّنة، وطلب تثبيت الملفات اللازمة لميزة التعرّف على الكلام على الجهاز فقط، والاختيار بين ميزة التعرّف على الكلام على الجهاز فقط أو ميزة التعرّف على الكلام المستندة إلى السحابة الإلكترونية حسب الحاجة.
عنوان URL الخاص بخادم Worker يتجاهل تغييرات history.pushState
تعديل خاصية عامل الخدمة Client.url
لتجاهل تغييرات عنوان URL للمستند
باستخدام history.pushState()
وواجهات برمجة التطبيقات الأخرى المشابهة للسجلّ يُفترض أن يكون الحقل Client.url
هو عنوان URL لإنشاء مستند HTML الذي يتجاهل
هذه التغييرات.
إتاحة سمتَي rel
وrelList
لعنصر SVGAElement
تسمح واجهة SVGAElement في SVG 2.0 بالتلاعب بعناصر <a>
على غرار عناصر الربط في HTML. إنّ توفير السمتَين rel
وrelList
يعزّز الأمان والخصوصية للمطوّرين. يضمن هذا المواءمة مع عناصر العلامات المرجعية في HTML الاتساق وسهولة الاستخدام في جميع تقنيات الويب.
الطوابع الزمنية للّقطات المشفَّرة باستخدام بروتوكول RTC
تتألف هذه الميزة من عرض بعض الطوابع الزمنية على الويب والتي تظهر في اللقطات المُشفَّرة باستخدام WebRTC والتي يتم نقلها عبر RTCPeerConnection. في ما يلي الطوابع الزمنية المعنيّة:
- الطابع الزمني للالتقاط: الطابع الزمني الذي تم فيه التقاط اللقطة في الأصل
- استلام الطابع الزمني: الطابع الزمني لوقت استلام لقطة
يجب تعديل ProgressEvent
لاستخدام النوع المزدوج لكل من "تم تحميله" و"العدد الإجمالي".
يحتوي العنصر ProgressEvent
على السمتَين loaded
وtotal
اللتين تشيرَين إلى مستوى التقدّم،
وأصبح نوعهما unsigned long long
الآن. باستخدام هذه الميزة، يتم تغيير نوع
كلتا السمتَين إلى double
بدلاً من ذلك، ما يمنح المطوّر
مزيدًا من التحكّم في القيمة. على سبيل المثال، يمكن للمطوّرين الآن إنشاء حدث ملفّق لتقدّم بقيمة total
= 1 وloaded
= 0 يزداد تدريجيًا ليصل إلى loaded
= 1. يتوافق ذلك مع السلوك التلقائي لعنصر HTML
<progress>
في حال حذف السمة max.
واجهة برمجة التطبيقات fetchLater
fetchLater()
API هي واجهة برمجة تطبيقات JavaScript لطلب جلب مؤجّل، وهو مفيدة بشكل خاص لنشر إشارات أكثر موثوقية في نهاية مدة عرض الصفحة.
بعد استدعاء طلب مؤجَّل في مستند، يضيف المتصفّح الطلب إلى "قائمة الانتظار" في الحالة
PENDING، وسيتم تنفيذه عند استيفاء أقرب شرط من الشروط التالية:
تم إتلاف المستند. بعد مرور وقت يحدّده المستخدم لأسباب تتعلّق بالخصوصية، سيتم محو كل الطلبات التي لم تكتمل عند دخول المستند إلى bfcache بغض النظر عن المدّة المتبقية. يقرر المتصفح أنّه حان وقت إرسال البيانات.
تعرض واجهة برمجة التطبيقات FetchLaterResult
يحتوي على حقل منطقي activated
يمكن تعديله لمعرفة ما إذا تم إرسال الطلب المؤجّل أم
لا. عند إرسال الطلب بنجاح، سيتجاهل المتصفّح الاستجابة بالكامل،
بما في ذلك النص والعناوين.
يُرجى العِلم أنّ وقت الإرسال الدقيق هو غير معروف من وجهة نظر مستخدِم واجهة برمجة التطبيقات.
عمليات التجربة والتقييم الجديدة
في الإصدار 135 من Chrome، يمكنك تفعيل الإصدارات التجريبية الجديدة التالية.
طلبات الاشتراك
تضيف هذه الميزة سمة interesttarget
إلى عنصرَي <button>
و<a>
. تُضيف السمة interesttarget
سلوكيات "الاهتمام" إلى
العنصر، بحيث يتم بدء إجراءات
على العنصر المستهدَف عندما "يُظهر المستخدِم اهتمامًا" بالعنصر. يمكن أن تشمل الإجراءات أشياء مثل عرض
نافذة منبثقة. سيتولى وكيل المستخدم رصد الحالات التي "يُظهر فيها المستخدم اهتمامًا"
بالعنصر، وذلك باستخدام طرق مثل تمرير مؤشر الماوس فوق العنصر أو الضغط على
مفاتيح اختصار خاصة على لوحة المفاتيح أو الضغط مع الاستمرار على العنصر على شاشات اللمس.
عند ظهور الاهتمام أو فقدانه، يتمّ تشغيل InterestEvent
على الهدف،
الذي يتضمّن إجراءات تلقائية في حال النوافذ المنبثقة، وهي عرض النافذة المنبثقة وإخفاؤها.
السلامة المستندة إلى التوقيع
توفّر هذه الميزة لمطوّري الويب آلية للتحقّق من مصدر الموارد التي يعتمدون عليها، ما يشكّل أساسًا تقنيًا للثقة في موارد الموقع الإلكتروني. باختصار: يمكن للخوادم توقيع الردود باستخدام ملف شخصي مفتاح Ed25519، ويمكن لمطوّري الويب أن يطلبوا من وكيل المستخدم التحقّق من التوقيع باستخدام مفتاح عام محدّد. ويشكّل ذلك إضافة مفيدة إلى عمليات التحقّق المستندة إلى عناوين URL التي تقدّمها "سياسة أمان المحتوى" من جهة، وعمليات التحقّق المستندة إلى المحتوى التي تقدّمها "سلامة الموارد الفرعية" من جهة أخرى.
عمليات الإيقاف النهائي والإزالة
يقدّم هذا الإصدار من Chrome الميزات التي سيتم إيقافها نهائيًا والمزايا التي سيتمّ إزالتها والمُدرَجة أدناه. يُرجى الانتقال إلى ChromeStatus.com للحصول على قوائم بالميزات التي سيتم إيقافها نهائيًا في المستقبل والميزات التي تم إيقافها نهائيًا في الوقت الحالي والميزات التي تم إيقافها نهائيًا في السابق.
يوقف هذا الإصدار من Chrome ميزة واحدة نهائيًا.
إيقاف الحصول على معلومات اللغة المحلية
إنّ واجهة برمجة التطبيقات Intl Locale Info API هي اقتراح من المرحلة 3 من ECMAScript TC39 لتحسين عنصر
Intl.Locale
من خلال عرض معلومات اللغة، مثل بيانات الأسبوع (أول
يوم في الأسبوع، ويوم بدء عطلة نهاية الأسبوع، ويوم نهاية عطلة نهاية الأسبوع، والحد الأدنى لليوم في
الأول أسبوع)، ودورة الساعة لاتجاه النص المستخدَمة في اللغة. طرح Chrome ميزة
تنفيذ في الإصدار 99، ولكن تم تغيير الاقتراح لنقل عدة
وظائف جلب إلى الدوالّ. نحتاج إلى إزالة وظائف الجلب التي سيتم إيقافها نهائيًا وإعادة إطلاق الدوال التي تمت تسميتها مجددًا.
يزيل هذا الإصدار من Chrome ثلاث ميزات.
إزالة طريقة navigator.xr.supportsSession
التي تم إيقافها نهائيًا
تم استبدال navigator.xr.supportsSession
في مواصفات WebXR بأسلوب
navigator.xr.isSessionSupported
في أيلول (سبتمبر) 2019 بعد تلقّي
ملاحظات من TAG بشأن شكل واجهة برمجة التطبيقات. وتم وضع علامة على هذه الواجهة بأنّها متوقّفة نهائيًا في Chrome منذ ذلك الحين، ما يؤدي إلى ظهور تحذير في وحدة التحكّم يعيد توجيه المطوّرين إلى واجهة برمجة التطبيقات المعدّلة. إنّ معدّل استخدام المكالمة منخفض جدًا، وقد تم تأكيد أنّه تم تعديل جميع الإطارات الرئيسية التي يتم
استخدامها لإنشاء محتوى WebXR لاستخدام
المكالمة الأحدث.
إزالة الموقع NavigateEvent
canTransition
في الإصدار 108 من Chrome، تم استبدال الطريقة transitionWhile()
لسمة NavigateEvent
والسمة
canTransition
بالسمة الجديدة intercept()
والطريقة
canIntercept
. في ذلك الوقت، تمت
إزالة الطريقة transitionWhile()
. ومع ذلك، نسيّنا إزالة السمة canTransition
، وبدلاً من ذلك،
بقيناها كعنوان بديل لسمة canIntercept
. في الإصدار 135 من Chrome، سنصلح هذا الخطأ
ونزيل canTransition
. يمكن استبدال أي استخدامات لـ canTransition
باستخدام
canIntercept
بدون أي تغيير في السلوك.
إزالة الحدّ الأقصى لعدد مكوّنات shader في مرحلة ما بين المراحل في WebGPU
تتم إزالة الحدّ الأقصى المسموح به maxInterStageShaderComponents
لسببين:
- التكرار مع
maxInterStageShaderVariables
: يخدم هذا الحدّ بالفعل هدفًا مشابهًا، وهو التحكّم في مقدار البيانات التي يتم تمريرها بين مراحلshader. - الاختلافات البسيطة: على الرغم من أنّ هناك اختلافات طفيفة في كيفية احتساب الحدّين القصوى، إلا أنّ هذه الاختلافات بسيطة ويمكن إدارتها بفعالية ضمن
maxInterStageShaderVariables limit
. - التبسيط: تؤدي إزالة
maxInterStageShaderComponents
إلى تبسيط واجهةshader وخفض تعقيدها على المطوّرين. بدلاً من إدارة حدودَين منفصلَين (ينطبق كلاهما في الوقت نفسه ولكن مع اختلافات طفيفة)، يمكنهم التركيز علىmaxInterStageShaderVariables
الأكثر ملاءمةً وتكاملاً.