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
পরীক্ষা করুন
একটি বাফার আনসিগন্যালযুক্ত কিনা তা পরীক্ষা করতে, পারফেটোতে সারফেসফ্লিংগার থেকে নিম্নলিখিত চিহ্নগুলি সন্ধান করুন:
চিত্র 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
পরীক্ষা করুন
একটি বাফার আনসিগন্যালযুক্ত কিনা তা পরীক্ষা করতে, পারফেটোতে সারফেসফ্লিংগার থেকে নিম্নলিখিত চিহ্নগুলি সন্ধান করুন:
চিত্র 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
পরীক্ষা করুন
একটি বাফার আনসিগন্যালযুক্ত কিনা তা পরীক্ষা করতে, পারফেটোতে সারফেসফ্লিংগার থেকে নিম্নলিখিত চিহ্নগুলি সন্ধান করুন:
চিত্র 1. পারফেটোতে একটি ল্যাচড আনসিগন্যালড বাফারের ট্রেস