সারফেসফ্লিংগার

সারফেসফ্লিঙ্গার ডাম্প একটি নির্দিষ্ট সময়ে সারফেসফ্লিঙ্গারের একটি স্ন্যাপশট প্রদান করে। সারফেসফ্লিঙ্গার ট্রেস-এ বিভিন্ন অবস্থার একটি কালানুক্রমিক ধারা থাকে, যা একটি উইন্ডো স্ক্রিনে কেমন দেখায় সে সম্পর্কে মূল্যবান ধারণা দেয় এবং কোন উইন্ডো নির্দিষ্ট স্থানে টাচ রেসপন্স পাবে তা নির্ধারণ করে। এই তথ্য আপনাকে বিভিন্ন সমস্যা সমাধান করতে সাহায্য করে, যেমন— অ্যাপটি আমার টাচে সাড়া দিচ্ছে না অথবা ভিডিও দেখার সময় আমি ফ্লিকারিং বা ঝিকিমিকি অনুভব করেছি

Winscope-এ, SurfaceFlinger ভিউয়ারটি সেইসব ট্রেসের জন্য এই তথ্য প্রদর্শন করে যা আপনি অ্যাক্টিভ মোড ব্যবহার করে সংগ্রহ করেন অথবা বাগ রিপোর্ট নেওয়ার সময় ট্রানজ্যাকশন ট্রেস থেকে তৈরি করেন (ডিফল্টরূপে, Droidfood কনফিগারেশন), এবং সেইসাথে ডাম্পের জন্যও।

ট্রেস সংগ্রহ সম্পর্কে আরও তথ্যের জন্য সারফেসফ্লিঙ্গার (স্তরসমূহ) দেখুন।

SurfaceFlinger trace analysis

চিত্র ১. সারফেসফ্লিঙ্গার ট্রেস বিশ্লেষণ।

স্ক্রিনের বাম দিকে লেয়ারগুলোর একটি ত্রিমাত্রিক (3D) দৃশ্য দেখা যায়। রেক্টস ভিউ লেয়ারের সীমানা, z-অর্ডার, অস্বচ্ছতা, আপেক্ষিক Z এবং গোলাকার কোণাগুলো বিবেচনা করে।

হায়ারার্কি চিপস

ট্যাবটির কেন্দ্রীয় অংশে লেয়ারের স্তরবিন্যাস দেখানো হয় এবং এতে আরও তথ্যের জন্য চিপস থাকে, যেমন লেয়ারগুলোর মধ্যে প্যারেন্ট-চাইল্ড সম্পর্ক, যা নিম্নরূপ:

  • V : দৃশ্যমান স্তরসমূহ শনাক্ত করে।
  • RelZParent : যেসব লেয়ারের একটি RelZ চাইল্ড রয়েছে, তাদের শনাক্ত করে।
  • RelZ : যেসব লেয়ারের একটি RelZParent আছে, সেগুলোকে চিহ্নিত করে এবং তাদের স্তরবিন্যাস অনুযায়ী z-order-এ অঙ্কন করা হয়।
  • HWC : হার্ডওয়্যার কম্পোজার দ্বারা গঠিত লেয়ারসমূহকে শনাক্ত করে।
  • GPU : GPU দ্বারা গঠিত স্তরসমূহকে চিহ্নিত করে।

স্ক্রিনের ডানদিকে নির্বাচিত প্রোপার্টিগুলোর একটি তালিকা এবং সেইসাথে সমস্ত উপলব্ধ লেয়ার প্রোপার্টির একটি প্রোটো ডাম্প রয়েছে। প্রোটো ডাম্প বিভাগের বৈশিষ্ট্য সম্পর্কে আরও তথ্যের জন্য প্রোপার্টিজ দেখুন।

নির্বাচিত সম্পত্তি

ডিবাগিং সহজ করার জন্য, সারফেসফ্লিঙ্গার ভিউয়ার প্রোপার্টিগুলোর একটি নির্বাচিত তালিকা প্রদান করে, যা সর্বাধিক ব্যবহৃত তথ্যকে আরও সুসংগঠিত বিন্যাসে উপস্থাপন করে:

SurfaceFlinger properties

চিত্র ২. সারফেসফ্লিঙ্গারের বৈশিষ্ট্যসমূহ।

এই তালিকায় নিম্নলিখিত বিভাগগুলো অন্তর্ভুক্ত রয়েছে।

দৃশ্যমানতা

এই ব্লকে লেয়ারের দৃশ্যমানতা সম্পর্কিত তথ্য এবং এটি কেন দৃশ্যমান নয় তার ব্যাখ্যা রয়েছে। এর অন্তর্ভুক্ত বিষয়গুলো হলো:

  • ফ্ল্যাগ: এগুলো দৃশ্যমানতা নিয়ন্ত্রণ করে, যেমন, HIDDEN এবং OPAQUE )।

  • অদৃশ্যতার কারণ: প্রযোজ্য ক্ষেত্রে, লেয়ার বা সারফেসটি স্ক্রিনে কেন অদৃশ্য তার একটি ব্যাখ্যা; যেমন, এটি নিজে বা এর প্যারেন্ট দ্বারা লুকানো, অথবা আঁকার জন্য কোনো বাফার নেই।

  • অবরুদ্ধ , আংশিক অবরুদ্ধ , বা আচ্ছাদিত:

    • অবরুদ্ধ: বর্তমান লেয়ারটিকে দৃশ্যমান হিসাবে গণনা করা হয়, কিন্তু এর উপরে আরেকটি অস্বচ্ছ লেয়ার আঁকা হয়, যা বর্তমান লেয়ারটিকে অদৃশ্য করে দেয়। অবরুদ্ধ লেয়ারটির উপরের লেয়ারটি অস্বচ্ছ, অর্থাৎ, হয় এর OPAQUE ফ্ল্যাগ সেট করা আছে, অথবা পিক্সেল ফরম্যাটে আলফা নেই বা লেয়ারটিতে কোনো আলফা সেট করা নেই।
    • আংশিকভাবে আবৃত: বর্তমান লেয়ারটি আংশিকভাবে দৃশ্যমান, কারণ এর উপরে আঁকা অস্বচ্ছ লেয়ারটি এটিকে সম্পূর্ণরূপে আবৃত করে না। আংশিকভাবে আবৃত লেয়ারটির উপরের লেয়ারটি অস্বচ্ছ, অর্থাৎ, OPAQUE ফ্ল্যাগটি সেট করা আছে, অথবা পিক্সেল ফরম্যাটে আলফা নেই বা লেয়ারটিতে কোনো আলফা সেট করা নেই।
    • আবৃত: বর্তমান লেয়ারটি একটি অস্বচ্ছ নয় এমন লেয়ার দ্বারা সম্পূর্ণ বা আংশিকভাবে আবৃত থাকে এবং স্ক্রিনে দৃশ্যমান থাকতে পারে। আবৃত লেয়ারের উপরের লেয়ারটি অস্বচ্ছ নয়, অর্থাৎ, OPAQUE ফ্ল্যাগটি সেট করা নেই অথবা পিক্সেল ফরম্যাটে আলফা রয়েছে বা লেয়ারটিতে আলফা সেট করা আছে। তবে, SurfaceFlinger ট্রেসের ক্ষেত্রে, একটি আবৃত লেয়ারকে দৃশ্যমান হিসাবে দেখানো হয়, SurfaceFlinger-এর নিচের লেয়ারগুলোর জন্য:

      Covered layer on SurfaceFlinger

      চিত্র ৩. সারফেসফ্লিঙ্গারের উপর আচ্ছাদিত স্তর।

জ্যামিতি এবং প্রভাব

এই অংশে বর্তমান লেয়ারের জন্য অনুরোধকৃত ও গণনাকৃত জ্যামিতি এবং এর প্রভাবসমূহ বর্ণনা করা হয়েছে।

' রিকোয়েস্টেড ' সেকশনটি লেয়ারে সেট করা প্রোপার্টিগুলো দেখায়। এর বিপরীতে, ' ক্যালকুলেটেড ' সেকশনটি লেয়ারে প্রয়োগ করা প্রোপার্টিগুলো প্রদর্শন করে। এই পার্থক্যের কারণ হলো, জিওমেট্রি এবং এফেক্টগুলো হায়ারার্কি বরাবর নিচে পাস করা হয় এবং প্যারেন্ট এলিমেন্ট থেকে উত্তরাধিকারসূত্রে প্রাপ্ত হয়।

চিত্র ২-এ, লেয়ারটি কর্নার রেডিয়াস ০ পিক্সেল সেট করতে অনুরোধ করেছে। কিন্তু, এর একটি প্যারেন্ট লেয়ার কর্নার রেডিয়াস ৯৭.৪১৯ পিক্সেল সেট করে দিয়েছে, যা অ্যাপ্লাইড ভ্যালু হিসেবে রয়েছে।

বাফার

নিম্নলিখিত প্রোপার্টিগুলো লেয়ারটিতে বাফার আছে কিনা, তার আকার এবং ট্রান্সফর্ম সম্পর্কে তথ্য প্রদর্শন করে:

  • ফ্রেম নম্বর: অ্যাপ তৈরি হওয়ার পর থেকে বাড়তে থাকা একটি সংখ্যা।
  • গন্তব্য ফ্রেম: গন্তব্য ফ্রেম দ্বারা নির্ধারিত সীমার মধ্যে বাফারকে স্কেল করতে ব্যবহৃত হয়।

শ্রেণিবিন্যাস

নিম্নলিখিত বৈশিষ্ট্যগুলো বর্ণনা করে যে কীভাবে স্তরগুলোর ক্রমবিন্যাস নির্ধারিত হয়:

  • z-order: লেয়ারের শ্রেণিবিন্যাসে, z-ordering একটি লেয়ারের তার সহোদর লেয়ারগুলোর সাপেক্ষে আপেক্ষিক অবস্থান নির্ধারণ করে। যে লেয়ারের z-মান ০, সেটি তার প্যারেন্টের উপরে অবস্থান করে। যদি একাধিক লেয়ারের একই z-মান থাকে, তবে যে লেয়ারটির লেয়ার আইডি বেশি, সেটিকে সবার উপরে রাখা হয়।
  • আপেক্ষিক প্যারেন্ট: z-অর্ডারে আপেক্ষিক প্যারেন্ট লেয়ারকে নির্দেশ করে। চাইল্ড লেয়ারটি তার আপেক্ষিক প্যারেন্টের কাছ থেকে হিডেন ফ্ল্যাগ ছাড়া অন্য কোনো বৈশিষ্ট্য উত্তরাধিকার সূত্রে পায় না।

ইনপুট

নিম্নলিখিত বৈশিষ্ট্যগুলিতে স্পর্শযোগ্য অঞ্চল এবং ফোকাস সম্পর্কিত তথ্য রয়েছে:

  • আইটেমসহ স্পর্শযোগ্য অঞ্চল ক্রপ করুন: লেয়ারের সীমানা ব্যবহার করে স্পর্শযোগ্য অঞ্চলটি ক্রপ করুন।
  • স্পর্শযোগ্য অঞ্চলকে ক্রপ দিয়ে প্রতিস্থাপন করুন: বর্তমান লেয়ারের ক্রপকে এর স্পর্শযোগ্য অঞ্চল হিসেবে ব্যবহার করুন।