AutoSingleLayer এর সাথে আনসিগন্যালড বাফার ল্যাচিং

Android 13 আনসিগন্যালড বাফারগুলিকে ল্যাচ করার জন্য AutoSingleLayer নামে একটি নতুন কনফিগারেশন যুক্ত করেছে। এই কনফিগারেশনটি SurfaceFlinger কে একটি আনসিগন্যালড বাফার ল্যাচ করতে দেয় যখন শুধুমাত্র একটি একক স্তর আপডেট হয়, এবং জ্যামিতি পরিবর্তন বা সিঙ্ক লেনদেনের মতো স্তর জুড়ে ঘটে এমন ক্ষেত্রে নয়।

Android 13-এর আগে, AOSP-এ debug.sf.latch_unsignaled ফ্ল্যাগ SurfaceFlinger-এর ব্যবহারের ক্ষেত্রে নির্বিশেষে সমস্ত আনসিগন্যালড বাফারকে ল্যাচ করতে দেয়। যখন এই কনফিগারেশনটি সক্ষম করা হয়, তখন অবাঞ্ছিত পার্শ্বপ্রতিক্রিয়া থাকে, যেমন সিঙ্ক লেনদেন ভাঙা এবং অসম্পূর্ণ বাফারগুলিতে অপেক্ষা করার সময় সম্পূর্ণ ডিসপ্লে হিমায়িত করা।

AutoSingleLayer মোডের সাথে, শুধুমাত্র একটি একক পৃষ্ঠের একটি বাফার একটি ফ্রেমে আপডেট করা হয়। এই মোডটি গেমস এবং অন্যান্য পূর্ণস্ক্রীন অ্যাপগুলিকে আনসিগন্যালড বাফারগুলি ল্যাচ করার সুবিধা পেতে সক্ষম করে এবং ডিসপ্লে ফ্রিজ দ্বারা প্রভাবিত না হয়ে অ্যাপ জ্যাঙ্ক হ্রাস করে৷

AutoSingleLayer মোড সেটিংস

অ্যান্ড্রয়েড 13-এ, ল্যাচ আনসিগন্যালড বাফার বৈশিষ্ট্যের জন্য AutoSingleLayer হল ডিফল্ট মোড। এই মোডটি সিস্টেম প্রপার্টি debug.sf.auto_latch_unsignaled দ্বারা নিয়ন্ত্রিত হয়।

SurfaceFlinger বুটে 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

    এই মোডে, সমস্ত বাফার অসংকেতযুক্ত latched হয়. এই মোডটি কনফিগার করতে, debug.sf.latch_unsignaled true এ সেট করুন।

AutoSingleLayer পরীক্ষা করুন

একটি বাফার আনসিগন্যালযুক্ত কিনা তা পরীক্ষা করতে, পারফেটোতে সারফেসফ্লিংগার থেকে নিম্নলিখিত চিহ্নগুলি সন্ধান করুন:

latched unsignaled বাফার ট্রেস

চিত্র 1. পারফেটোতে একটি ল্যাচড আনসিগন্যালড বাফারের ট্রেস

,

Android 13 আনসিগন্যালড বাফারগুলিকে ল্যাচ করার জন্য AutoSingleLayer নামে একটি নতুন কনফিগারেশন যুক্ত করেছে। এই কনফিগারেশনটি SurfaceFlinger কে একটি আনসিগন্যালড বাফার ল্যাচ করতে দেয় যখন শুধুমাত্র একটি একক স্তর আপডেট হয়, এবং জ্যামিতি পরিবর্তন বা সিঙ্ক লেনদেনের মতো স্তর জুড়ে ঘটে এমন ক্ষেত্রে নয়।

Android 13-এর আগে, AOSP-এ debug.sf.latch_unsignaled ফ্ল্যাগ SurfaceFlinger-এর ব্যবহারের ক্ষেত্রে নির্বিশেষে সমস্ত আনসিগন্যালড বাফারকে ল্যাচ করতে দেয়। যখন এই কনফিগারেশনটি সক্ষম করা হয়, তখন অবাঞ্ছিত পার্শ্বপ্রতিক্রিয়া থাকে, যেমন সিঙ্ক লেনদেন ভাঙা এবং অসম্পূর্ণ বাফারগুলিতে অপেক্ষা করার সময় সম্পূর্ণ ডিসপ্লে হিমায়িত করা।

AutoSingleLayer মোডের সাথে, শুধুমাত্র একটি একক পৃষ্ঠের একটি বাফার একটি ফ্রেমে আপডেট করা হয়। এই মোডটি গেমস এবং অন্যান্য পূর্ণস্ক্রীন অ্যাপগুলিকে আনসিগন্যালড বাফারগুলি ল্যাচ করার সুবিধা পেতে সক্ষম করে এবং ডিসপ্লে ফ্রিজ দ্বারা প্রভাবিত না হয়ে অ্যাপ জ্যাঙ্ক হ্রাস করে৷

AutoSingleLayer মোড সেটিংস

অ্যান্ড্রয়েড 13-এ, ল্যাচ আনসিগন্যালড বাফার বৈশিষ্ট্যের জন্য AutoSingleLayer হল ডিফল্ট মোড। এই মোডটি সিস্টেম প্রপার্টি debug.sf.auto_latch_unsignaled দ্বারা নিয়ন্ত্রিত হয়।

SurfaceFlinger বুটে 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

    এই মোডে, সমস্ত বাফার অসংকেতযুক্ত latched হয়. এই মোডটি কনফিগার করতে, debug.sf.latch_unsignaled true এ সেট করুন।

AutoSingleLayer পরীক্ষা করুন

একটি বাফার আনসিগন্যালযুক্ত কিনা তা পরীক্ষা করতে, পারফেটোতে সারফেসফ্লিংগার থেকে নিম্নলিখিত চিহ্নগুলি সন্ধান করুন:

latched unsignaled বাফার ট্রেস

চিত্র 1. পারফেটোতে একটি ল্যাচড আনসিগন্যালড বাফারের ট্রেস

,

Android 13 আনসিগন্যালড বাফারগুলিকে ল্যাচ করার জন্য AutoSingleLayer নামে একটি নতুন কনফিগারেশন যুক্ত করেছে। এই কনফিগারেশনটি SurfaceFlinger কে একটি আনসিগন্যালড বাফার ল্যাচ করতে দেয় যখন শুধুমাত্র একটি একক স্তর আপডেট হয়, এবং জ্যামিতি পরিবর্তন বা সিঙ্ক লেনদেনের মতো স্তর জুড়ে ঘটে এমন ক্ষেত্রে নয়।

Android 13-এর আগে, AOSP-এ debug.sf.latch_unsignaled ফ্ল্যাগ SurfaceFlinger-এর ব্যবহারের ক্ষেত্রে নির্বিশেষে সমস্ত আনসিগন্যালড বাফারকে ল্যাচ করতে দেয়। যখন এই কনফিগারেশনটি সক্ষম করা হয়, তখন অবাঞ্ছিত পার্শ্বপ্রতিক্রিয়া থাকে, যেমন সিঙ্ক লেনদেন ভাঙা এবং অসম্পূর্ণ বাফারগুলিতে অপেক্ষা করার সময় সম্পূর্ণ ডিসপ্লে হিমায়িত করা।

AutoSingleLayer মোডের সাথে, শুধুমাত্র একটি একক পৃষ্ঠের একটি বাফার একটি ফ্রেমে আপডেট করা হয়। এই মোডটি গেমস এবং অন্যান্য পূর্ণস্ক্রীন অ্যাপগুলিকে আনসিগন্যালড বাফারগুলি ল্যাচ করার সুবিধা পেতে সক্ষম করে এবং ডিসপ্লে ফ্রিজ দ্বারা প্রভাবিত না হয়ে অ্যাপ জ্যাঙ্ক হ্রাস করে৷

AutoSingleLayer মোড সেটিংস

অ্যান্ড্রয়েড 13-এ, ল্যাচ আনসিগন্যালড বাফার বৈশিষ্ট্যের জন্য AutoSingleLayer হল ডিফল্ট মোড। এই মোডটি সিস্টেম প্রপার্টি debug.sf.auto_latch_unsignaled দ্বারা নিয়ন্ত্রিত হয়।

SurfaceFlinger বুটে 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

    এই মোডে, সমস্ত বাফার অসংকেতযুক্ত latched হয়. এই মোডটি কনফিগার করতে, debug.sf.latch_unsignaled true এ সেট করুন।

AutoSingleLayer পরীক্ষা করুন

একটি বাফার আনসিগন্যালযুক্ত কিনা তা পরীক্ষা করতে, পারফেটোতে সারফেসফ্লিংগার থেকে নিম্নলিখিত চিহ্নগুলি সন্ধান করুন:

latched unsignaled বাফার ট্রেস

চিত্র 1. পারফেটোতে একটি ল্যাচড আনসিগন্যালড বাফারের ট্রেস