إغلاق المخزن المؤقت غير المُشار إليه باستخدام AutoSingleLayer

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

يضيف Android 13 تكوينًا جديدًا يسمى AutoSingleLayer لإغلاق المخازن المؤقتة غير المُشار إليها. يسمح هذا التكوين لـ SurfaceFlinger بإغلاق المخزن المؤقت بدون إشارة عند تحديث طبقة واحدة فقط ، وليس للحالات التي تحدث عبر الطبقات ، مثل التغييرات الهندسية أو معاملات المزامنة.

قبل Android 13 ، تتيح علامة debug.sf.latch_unsignaled في AOSP لـ SurfaceFlinger تثبيت جميع المخازن المؤقتة غير المُشار إليها ، بغض النظر عن حالة الاستخدام. عند تمكين هذا التكوين ، تكون هناك آثار جانبية غير مرغوب فيها ، مثل كسر معاملات المزامنة وتجميد الشاشة بالكامل أثناء انتظار وجود مخازن مؤقتة غير مكتملة.

باستخدام وضع AutoSingleLayer ، يتم تحديث المخزن المؤقت لسطح واحد فقط في إطار. يتيح هذا الوضع للألعاب وتطبيقات ملء الشاشة الأخرى الاستفادة من إغلاق المخازن المؤقتة غير المُشار إليها وتقليل الرسائل غير المرغوب فيها في التطبيق مع عدم التأثر بتجميد الشاشة.

إعدادات وضع AutoSingleLayer

في Android 13 ، يعد AutoSingleLayer هو الوضع الافتراضي لميزة المخزن المؤقت للمزلاج غير المُشار إليه. يتم التحكم في هذا الوضع بواسطة خاصية النظام debug.sf.auto_latch_unsignaled .

يقرأ LatchUnsignaledConfig عند التمهيد. فيما يلي التكوينات الممكنة:

  • LatchUnsignaledConfig::AutoSingleLayer

    في هذا الوضع الافتراضي لـ AOSP ، يُسمح بإغلاق المخازن المؤقتة غير المُشار إليها عند تحديث طبقة واحدة في إطار ، ويتضمن التحديث تحديثًا للمخزن المؤقت فقط بدون معاملات مزامنة أو تغييرات هندسية. في هذا الوضع ، يتم تعيين debug.sf.auto_latch_unsignaled على " true " افتراضيًا.

  • LatchUnsignaledConfig::Disabled

    يقوم هذا الوضع بتعطيل سلوك المزلاج غير المُشار إليه ولا يقوم إلا بإغلاق المعاملات التي تمت الإشارة إليها. يقوم هذا الوضع أيضًا بتعطيل وضع AutoSingleLayer . لتكوين هذا الوضع ، اضبط debug.sf.latch_unsignaled و debug.sf.auto_latch_unsignaled على false .

  • LatchUnsignaledConfig::Always

    في هذا الوضع ، يتم إغلاق جميع المخازن المؤقتة بدون إشارة. لتكوين هذا الوضع ، اضبط debug.sf.latch_unsignaled على true .

اختبار AutoSingleLayer

لاختبار ما إذا كان المخزن المؤقت مغلقًا بدون إشارة ، ابحث عن الآثار التالية من SurfaceFlinger في Perfetto :

أثر عازلة مغلقة بدون إشارة

الشكل 1. أثر لمخزن مؤقت غير مؤطر مغلق في بيرفيتو