Winscope ব্যবহার করে উইন্ডো ট্রানজিশন ট্রেস করুন

Winscope হল একটি ওয়েব টুল যা ব্যবহারকারীদের অ্যানিমেশন এবং ট্রানজিশনের সময় এবং পরে বিভিন্ন সিস্টেম পরিষেবার অবস্থা রেকর্ড, রিপ্লে এবং বিশ্লেষণ করতে দেয়। Winscope একটি ট্রেস ফাইলে সমস্ত প্রাসঙ্গিক সিস্টেম সার্ভিস স্টেট রেকর্ড করে। ট্রেস ফাইল সহ Winscope UI ব্যবহার করে, আপনি প্রতিটি অ্যানিমেশন ফ্রেমের জন্য এই পরিষেবাগুলির অবস্থা পরিদর্শন করতে পারেন, একটি স্ক্রিন রেকর্ডিং সহ বা ছাড়াই, ট্রানজিশনগুলির মাধ্যমে পুনরায় প্লে করে, ধাপে ধাপে এবং ডিবাগ করে৷

সিস্টেম পরিষেবাগুলি যেগুলি ট্রেস তৈরি করে যা উইনস্কোপে লোডযোগ্য হতে পারে নিম্নরূপ:

  • সারফেসফ্লিংগার
  • উইন্ডো ম্যানেজার
  • WMShell
  • আইএমই
  • লঞ্চার

Winscope ট্রেস ভিউয়ার চালান

Winscope ট্রেসিং প্ল্যাটফর্মের পরিষেবাগুলির অংশ৷ এই বিভাগে উইনস্কোপ ট্রেস ভিউয়ার ডাউনলোড, নির্মাণ এবং চালানোর জন্য প্রয়োজনীয় পদক্ষেপগুলির রূপরেখা দেওয়া হয়েছে।

Winscope ট্রেসার চালানোর জন্য আপনার পিসি সেট আপ করতে এই পদক্ষেপগুলি অনুসরণ করুন:

  1. অ্যান্ড্রয়েড সোর্স ডাউনলোড করুন
  2. Winscope ফোল্ডারে নেভিগেট করুন:

    cd development/tools/winscope
    
  3. ব্যবহার করে নির্ভরতা ইনস্টল করুন:

    npm install
    

    উপলব্ধ কমান্ডের একটি তালিকা দেখতে, চালান: npm run

  4. ব্যবহার করে সমস্ত পণ্য এবং পরীক্ষার লক্ষ্যগুলি তৈরি করুন:

    npm run build:prod
    
  5. ব্যবহার করে Winscope চালান:

    npm run start
    

ক্যাপচার ট্রেস

আপনি ডিভাইসে ট্রেস ক্যাপচার করতে পারেন, Winscope এর মাধ্যমে বা Android Debug Bridge (adb) কমান্ডের মাধ্যমে।

ডিভাইসে ট্রেস ক্যাপচার

অ্যানিমেশন সমস্যার জন্য বাগ ফাইল করার সময় ডেটা সংগ্রহ করতে ডিভাইসে ট্রেস ক্যাপচার করুন। সমস্ত UI ট্রেস এই পদ্ধতিতে রেকর্ড করা হয়, কারণ কনফিগারেশন কাস্টমাইজ করা যায় না।

আপনার অ্যান্ড্রয়েড ডিভাইসে:

  1. বিকাশকারী বিকল্পগুলি সক্ষম করুন
  2. বিকাশকারী বিকল্পগুলির অধীনে সিস্টেম ট্রেসিং নির্বাচন করুন।
  3. উইনস্কোপ ট্রেস সংগ্রহ করুন সক্ষম করুন।
  4. বিবিধ অধীনে:
    1. বাগ রিপোর্টে রেকর্ডিং সংযুক্ত করুন সক্ষম করুন৷
    2. দ্রুত সেটিংস টাইল দেখান সক্ষম করুন৷
  5. যেখানে আপনাকে বাগ পুনরুত্পাদন করতে হবে সেখানে নেভিগেট করুন৷
  6. ক্যাপচার শুরু করতে, দ্রুত সেটিংস খুলুন এবং রেকর্ড ট্রেস নির্বাচন করুন:

    quick_setting_winscope

    চিত্র 1. রেকর্ড ট্রেস সহ দ্রুত সেটিং মেনু।

  7. বাগ পুনরুত্পাদন করার জন্য প্রয়োজনীয় পদক্ষেপগুলি সম্পাদন করুন।

  8. ক্যাপচার বন্ধ করতে, দ্রুত সেটিংস খুলুন এবং স্টপ ট্রেসিং নির্বাচন করুন।

  9. তালিকাভুক্ত বিকল্পগুলির একটি ব্যবহার করে ক্যাপচার করা লগ শেয়ার করুন, যেমন Gmail, Drive, বা BetterBug৷

Winscope মাধ্যমে ট্রেস ক্যাপচার

আপনি স্থানীয় উন্নয়ন এবং ডিবাগিংয়ের জন্য Winscope ব্যবহার করে ট্রেস ক্যাপচার করতে পারেন। Winscope adb ব্যবহার করে, যা USB বা Wi-Fi এর মাধ্যমে ডিভাইস সংযোগ সমর্থন করে।

উইনস্কোপে:

  1. সংগ্রহ ট্রেস স্ক্রিনে, ADB প্রক্সিতে ক্লিক করুন:

    capture_traces_winscope

    চিত্র 2. উইনস্কোপে ট্রেস ক্যাপচার করুন।

  2. আপনার ব্রাউজার থেকে সরাসরি ট্রেস ক্যাপচার করতে Winscope ADB Connect প্রক্সি চালু করুন।

  3. কমান্ড চালান:

    python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
    
  4. ক্যাপচার শুরু করতে, কালেক্ট ট্রেসেস স্ক্রিনে লক্ষ্য এবং কনফিগারেশন নির্বাচন করুন এবং স্টার্ট ট্রেস ক্লিক করুন:

    collect_traces_winscope

    চিত্র 3. উইনস্কোপে ট্রেস সংগ্রহ করুন।

  5. ক্যাপচার বন্ধ করতে, শেষ ট্রেস ক্লিক করুন:

    end_trace_winscope

    চিত্র 4. Winscope এ শেষ ট্রেস।

টুলটি উইনস্কোপের UI-তে ট্রেসগুলি আপলোড করার সাথে সাথে, প্রোটো ফাইলগুলি নিয়ে আসা এবং পার্সিং বার্তাগুলি স্ক্রিনে উপস্থিত হয়।

Winscope ব্যবহার করে স্টেট ডাম্প তৈরি করুন

Winscope ব্যবহার করে একটি স্টেট ডাম্প নিতে, Collect Traces স্ক্রিনে ডাম্প ট্যাবটি নির্বাচন করুন এবং তারপরে Dump state এ ক্লিক করুন :

dump-winscope

চিত্র 5. উইনস্কোপে ডাম্প স্টেট।

adb কমান্ডের মাধ্যমে ট্রেস ক্যাপচার করুন

নিম্নলিখিত প্রতিটি ট্রেসের জন্য adb shell কমান্ড চালানোর আগে adb root চালান। ট্রেসের শেষে, ট্রেস ফাইলগুলি /data/misc/wmtrace এ উপলব্ধ। একটি ডিভাইস থেকে একটি ফাইল বা ডিরেক্টরি এবং এর সাবডিরেক্টরিগুলি অনুলিপি করতে, একটি ডিভাইসে এবং থেকে ফাইলগুলি অনুলিপি করুন দেখুন৷ আরও তথ্যের জন্য adb দেখুন।

উইন্ডো ম্যানেজার ট্রেস

WindowManager ট্রেস ক্যাপচার করতে:

  • ট্রেস সক্ষম করুন:

    adb shell wm tracing start
    
  • ট্রেস অক্ষম করুন:

    adb shell wm tracing stop
    
  • একটি ট্রেস ক্যাপচার চালানোর সময় ফাইলে লগিং ডেটা সংরক্ষণ করুন:

    adb shell wm tracing save-for-bugreport
    
  • প্রতি ফ্রেমে একবার লগ ট্রেস করুন:

    adb shell wm tracing frame
    
  • প্রতিটি লেনদেন লগ করুন:

    adb shell wm tracing transaction
    
  • সর্বোচ্চ লগ সাইজ সেট করুন (কেবিতে):

    adb shell wm tracing size
    
  • প্রিন্ট ট্রেস অবস্থা:

    adb shell wm tracing status
    
  • লগ লেভেলকে critical (শুধুমাত্র দৃশ্যমান উইন্ডোজ যেখানে কম তথ্য আছে), trim (কমিত তথ্য সহ সমস্ত উইন্ডো), অথবা all (সব উইন্ডো এবং তথ্য):

    adb shell wm tracing level
    

প্রোটোলগ

নিম্নলিখিত কমান্ডগুলি প্রোটোলগ সিস্টেমের জন্য ব্যবহৃত হয়।

system_server প্রক্রিয়ায়:

  • প্রোটোলগ শুরু করুন:

    adb shell cmd window logging start
    
  • প্রোটোলগ বন্ধ করুন:

    adb shell cmd window logging stop
    
  • প্রদত্ত লগ গ্রুপের জন্য প্রোটোলগ সক্ষম করুন:

    adb shell cmd window logging enable [group...]
    
  • প্রদত্ত লগ গ্রুপের জন্য প্রোটোলগ অক্ষম করুন:

    adb shell cmd window logging disable [group...]
    
  • প্রদত্ত লগ গ্রুপের জন্য Logcat লগিং সক্ষম করুন:

    adb shell cmd window logging enable-text [group...]
    
  • প্রদত্ত লগ গ্রুপের জন্য লগক্যাট লগিং অক্ষম করুন:

    adb shell cmd window logging disable-text [group...]
    

WMShell এ:

  • প্রোটোলগ শুরু করুন:

    adb shell dumpsys activity service SystemUIService WMShell
    

ট্রানজিশন ট্রেসিং

নিম্নলিখিত কমান্ডগুলি ট্রানজিশন ট্রেসিংয়ের জন্য ব্যবহৃত হয়:

system_server প্রক্রিয়ায়:

  • একটি ট্রেস শুরু করুন:

    adb shell cmd window shell tracing start
    
  • একটি ট্রেস বন্ধ করুন:

    adb shell cmd window shell tracing stop
    
  • WMShell এ একটি ট্রেস শুরু করুন:

    adb shell dumpsys activity service SystemUIService WMShell transitions tracing start
    
  • WMShell এ একটি ট্রেস বন্ধ করুন:

    adb shell dumpsys activity service SystemUIService WMShell transitions tracing stop
    

ইনপুট পদ্ধতি সম্পাদক

নিম্নলিখিত কমান্ডগুলি ইনপুট মেথড এডিটর (IME) ট্রেসিংয়ের জন্য ব্যবহৃত হয়:

  • ইনপুট মেথড (IM) ক্লায়েন্ট, ইনপুট মেথড সার্ভিস (IMS), এবং ইনপুট মেথড ম্যানেজমেন্ট সার্ভিস (IMMS) এর জন্য IME ট্রেসিং শুরু করুন:

    adb shell ime tracing start
    
  • IME ক্লায়েন্ট, IMS, এবং IMMS ট্রেসিং শুরু করুন:

    adb shell ime tracing stop
    

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

সারফেসফ্লিংগার লেয়ার ট্রেসিং ক্যাপচারের জন্য পারফেটো ট্রেস ব্যবহার করে। কনফিগারেশন তথ্যের জন্য ট্রেস কনফিগারেশন দেখুন।

SurfaceFlinger লেয়ার ট্রেসিংয়ের জন্য একটি কনফিগারেশনের নিম্নলিখিত উদাহরণটি দেখুন:

unique_session_name: "surfaceflinger_layers_active"
buffers: {
    size_kb: 63488
    fill_policy: RING_BUFFER
}
data_sources: {
    config {
        name: "android.surfaceflinger.layers"
        surfaceflinger_layers_config: {
            mode: MODE_ACTIVE
            trace_flags: TRACE_FLAG_INPUT
            trace_flags: TRACE_FLAG_COMPOSITION
            trace_flags: TRACE_FLAG_HWC
            trace_flags: TRACE_FLAG_BUFFERS
            trace_flags: TRACE_FLAG_VIRTUAL_DISPLAYS
        }
    }
}

SurfaceFlinger স্তরগুলির জন্য ট্রেসিং তৈরি করতে নিম্নলিখিত উদাহরণ কমান্ডটি দেখুন:

adb shell -t perfetto \
    -c - --txt \
    -o /data/misc/perfetto-traces/trace \

SurfaceFlinger লেনদেন

SurfaceFlinger লেনদেন ট্রেসিং ক্যাপচারের জন্য Perfetto ট্রেস ব্যবহার করে। কনফিগারেশন তথ্যের জন্য ট্রেস কনফিগারেশন দেখুন।

SurfaceFlinger সক্রিয় ট্রেসিংয়ের জন্য একটি Perfetto কনফিগারেশনের নিম্নলিখিত উদাহরণটি দেখুন:

unique_session_name: "surfaceflinger_transactions_active"
buffers: {
    size_kb: 1024
    fill_policy: RING_BUFFER
}
data_sources: {
    config {
        name: "android.surfaceflinger.transactions"
        surfaceflinger_transactions_config: {
            mode: MODE_ACTIVE
        }
    }
}
write_into_file: true
file_write_period_ms: 100

SurfaceFlinger ক্রমাগত ট্রেসিংয়ের জন্য একটি Perfetto কনফিগারেশনের নিম্নলিখিত উদাহরণটি দেখুন:

unique_session_name: "surfaceflinger_transactions_continuous"
buffers: {
    size_kb: 1024
    fill_policy: RING_BUFFER
}
data_sources: {
    config {
        name: "android.surfaceflinger.transactions"
        surfaceflinger_transactions_config: {
            mode: MODE_CONTINUOUS
        }
    }
}

SurfaceFlinger লেনদেনের জন্য ট্রেসিং তৈরি করতে নিম্নলিখিত উদাহরণ কমান্ডটি দেখুন:

    adb shell perfetto \
    -c - --txt \
    -o /data/misc/perfetto-traces/trace \

adb ব্যবহার করে স্টেট ডাম্প তৈরি করুন

Winscope বাগ রিপোর্ট থেকে WindowManager এবং SurfaceFlinger স্টেটের একটি স্ন্যাপশট পড়ে। বাগ রিপোর্টগুলি proto ফোল্ডারের মধ্যে পৃথক প্রোটো ফাইল হিসাবে রাজ্যগুলিকে সংরক্ষণ করে। adb ব্যবহার করে স্টেট ডাম্প তৈরি করতে, নিম্নলিখিত কমান্ডগুলি চালান।

WindowManager এর জন্য:

adb exec-out dumpsys window --proto > window_dump.winscope

SurfaceFlinger এর জন্য:

adb exec-out dumpsys SurfaceFlinger --proto > sf_dump.winscope

ট্রেস বিশ্লেষণ

অ্যানিমেশন সমস্যা সৃষ্টিকারী ক্ষণস্থায়ী এবং অবৈধ অবস্থাগুলি ডিবাগ করতে, Winscope বিভিন্ন ট্রেস ফাইলগুলিকে একত্রিত করে, ফ্রেম এবং টাইমলাইনে অনুসন্ধান এবং ভিজ্যুয়ালাইজেশন প্রদান করে এবং একটি সুসংগত পদ্ধতিতে প্রোটোবাফ বার্তা উপস্থাপন করে। Winscope-এ ট্রেস বিশ্লেষণ করলে বাগটির সংঘটনের সঠিক স্তর, ফ্রেম এবং অবস্থা সনাক্ত করতে সাহায্য করে।

Winscope ব্যবহার করুন

আপনি যখন ট্রেসগুলি ক্যাপচার করেছেন , তখন Winscope-এ ট্রেসগুলি বিশ্লেষণ করুন:

  1. ডানদিকের প্যানেল ব্যবহার করে আপনার সংরক্ষিত ট্রেস আপলোড করুন। আপনি আপলোড করা ট্রেস মুছে ফেলতে পারেন বা আরও ট্রেস আপলোড করতে পারেন৷

    upload_traces_winscope

    চিত্র 6. উইনস্কোপে ট্রেস আপলোড করুন।

  2. আপলোড করা ট্রেসগুলি কল্পনা করতে দেখুন ট্রেসগুলিতে ক্লিক করুন৷ প্রতিটি ট্রেসের জন্য ট্যাবগুলি উইন্ডোর উপরের প্যানেলে উপস্থিত হয়। আপলোড করা ফাইলে প্রাসঙ্গিক ট্রেস থাকলে, স্ক্রীন রেকর্ডিং ট্রেসের একটি ভাসমান দৃশ্য স্ক্রিনে ওভারলেড করা হয়।

    view_traces_winscope

    চিত্র 7. উইনস্কোপে ট্রেস দেখুন।

    নাম পরিবর্তন করতে উইন্ডোর উপরের প্যানেলে UI ব্যবহার করুনসম্পাদনা_নামএবং আপনার আপলোড করা ট্রেস ডাউনলোড করুন ডাউনলোড_ট্রেস অথবা একটি নতুন আপলোড করতে।

  3. উইন্ডোর নীচের প্যানেলে টাইম স্লাইডার টুল ব্যবহার করে সময়ের সাথে ট্রেসের মাধ্যমে নেভিগেট করুন। অতিরিক্ত সময় নেভিগেশনের জন্য, নিম্নলিখিত বৈশিষ্ট্যগুলি ব্যবহার করুন, যেমন চিত্র 8 এ দেখানো হয়েছে:

    • একটি নির্দিষ্ট সময় বা ঘটনার নেভিগেট করতে, কার্সার (টাইম স্লাইডার) বা বাম ব্যবহার করুনarrow_left_time এবং ডানarrow_right_time টাইম ডিসপ্লে বক্সে তীর (নীচের বাম কোণে), বা আপনার কীবোর্ডে বাম এবং ডান তীর।
    • টাইমলাইনে নির্বাচিত রঙ-কোডেড ট্রেস প্রদর্শন করতে, ড্রপ-ডাউন মেনু (টাইম স্লাইডারের বামে) ব্যবহার করুন। ডিফল্টরূপে, ট্রেস ট্যাব ব্যবহার করে দেখা শেষ তিনটি ট্রেস টাইমলাইনে প্রদর্শিত হয়।
    • সমস্ত আপলোড করা ট্রেসগুলির একটি দানাদার দৃশ্যের জন্য, জুম ইন ব্যবহার করুন৷জুম_ইন_টাইম বা জুম আউট করুন জুম_আউট_টাইম টুল (টাইম স্লাইডারের অধীনে), অথবা আপনার কীবোর্ডে স্ক্রোল করুন। জুম লেভেল রিসেট করতে রিসেট বোতামটি ব্যবহার করুন।
    • সময়ের সাথে ট্রেস বিতরণের একটি প্রসারিত দৃশ্যের জন্য, উপরের তীরটিতে ক্লিক করুনarrow_up_time (নীচের ডান কোণে)।

    time_nav_winscope

    চিত্র 8. উইনস্কোপে সময় নেভিগেশন।

    প্রসারিত দৃশ্যে (চিত্র 9), ভাল পরিদর্শনের জন্য নির্দিষ্ট সময় ফ্রেম নির্বাচন করুন এবং জুম করুন:

    expand_time_winscope

    চিত্র 9. উইনস্কোপে প্রসারিত সময়রেখা।

  4. ট্রেস পরীক্ষা করতে, আপনি স্ক্রীন রেকর্ডিং সহ ডিভাইসের অবস্থা দেখতে পারেন। একটি নির্দিষ্ট ট্রেস পরীক্ষা করতে, টুলের উপরের প্যানেলে প্রাসঙ্গিক ট্রেস ট্যাবে ক্লিক করুন।

    • সারফেস ফ্লিংগার ট্রেসের জন্য, তিনটি প্যানেল একটি নির্দিষ্ট সময়ের মধ্যে ট্রেসের বিভিন্ন দৃশ্য প্রদর্শন করে, যেমন চিত্র 10-এ দেখানো হয়েছে:sf_trace

      চিত্র 10. উইনস্কোপে সারফেস ফ্লিংগার ট্রেস।

      • স্তরগুলির দৃশ্য: আয়তক্ষেত্রাকার ওভারলেগুলিতে স্তরগুলির একটি 3D দৃশ্য৷ নিম্নলিখিত UI উপাদানগুলি গ্রাফিকাল উপাদানগুলিকে তাদের অবস্থান, আকার, রূপান্তর এবং z-ক্রম অনুসারে রেন্ডার করতে আয়তক্ষেত্রগুলিকে সামঞ্জস্য করে:

        • রোটেশন স্লাইডার (লেয়ার ভিউয়ের উপরের বাম দিকে) স্তরযুক্ত আয়তক্ষেত্রগুলিকে নির্বাচিত কোণে দেখতে ঘোরায়।
        • স্পেসিং স্লাইডার (লেয়ার ভিউয়ের উপরের ডানদিকে) নির্বাচিত যৌগিক দৃশ্য তৈরি করতে স্তরগুলির মধ্যে ব্যবধান সামঞ্জস্য করে।
        • জুম টুল (লেয়ার ভিউ এর উপরের ডানদিকে) জুম ইন করুনজুম_ইন_টাইম এবং জুম আউট করুন জুম_আউট_টাইম ভাল পরিদর্শনের জন্য স্তর মধ্যে.
        • রিসেট বোতামreset_sf (লেয়ার ভিউয়ের উপরের ডানদিকে) ক্যামেরা সেটিংসকে আসল ভিউতে পুনরুদ্ধার করে।
        • আরও ভাল জুম করার সুবিধার জন্য আয়তক্ষেত্রগুলি টেনে আনুন৷
      • শ্রেণিবিন্যাস দৃশ্য: স্তরগুলির একটি সম্পূর্ণ শ্রেণিবিন্যাস।

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

        • শো ডিফ চেকবক্স (প্রপার্টি ভিউয়ের উপরের বাম দিকে) হায়ারার্কি ভিউয়ের মতো আচরণ করে।
        • ডিফল্ট দেখান (প্রপার্টি ভিউয়ের উপরের বাম দিকে), যখন নির্বাচন করা হয়, প্রোটো ডাম্পে ডিফল্ট প্রোটো মানগুলি প্রদর্শন করে। ডিফল্টরূপে, এই মানগুলি প্রোটো ডাম্পে তালিকাভুক্ত নয়৷ ডিফল্ট প্রোটো মানগুলি প্রোটো ক্ষেত্রের সংজ্ঞা থেকে নেওয়া হয়। যদি একটি প্রোটো ফিল্ডে একটি নননাল ডিফল্ট মান সেট না থাকে, তাহলে দেখানো ডিফল্ট প্রোটো মানগুলি হল:
          • স্ট্রিংস: শূন্য
          • সংখ্যা: 0
          • বুলিয়ান মান: মিথ্যা
          • বস্তু: শূন্য

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

    • উইন্ডো ম্যানেজার ট্রেসের জন্য, তিনটি প্যানেল একটি নির্দিষ্ট সময়ে ট্রেসের বিভিন্ন দৃশ্য প্রদর্শন করে, যেমন চিত্র 11-এ দেখানো হয়েছে:

      • উইন্ডোজ ভিউ: স্তরগুলির একটি 3D ভিউ।
      • শ্রেণিবিন্যাস দৃশ্য: স্তরগুলির একটি সম্পূর্ণ শ্রেণিবিন্যাস।
      • বৈশিষ্ট্য দৃশ্যে সমস্ত বৈশিষ্ট্যের একটি প্রোটো ডাম্প রয়েছে।

      তিনটি ভিউ এবং স্ক্রীন রেকর্ডিংয়ের মধ্যে নির্বাচন সিঙ্ক্রোনাইজ করা হয়, অর্থাৎ, আপনি যখন সময়ে একটি ভিন্ন পয়েন্টে নেভিগেট করেন তখন সমস্ত ট্রেস সিঙ্ক্রোনাসভাবে আপডেট হয়।

      wm_trace

      চিত্র 11. উইনস্কোপে উইন্ডো ম্যানেজার ট্রেস।

    • লেনদেন ট্রেসের জন্য, সারফেস ফ্লিংগার এবং উইন্ডো ম্যানেজারের মধ্যে লেনদেনগুলি টেবিল বিন্যাসে উপস্থাপন করা হয় যা প্রদর্শিত আইডি, টাইপ এবং পাঠ্য দ্বারা অনুসন্ধানযোগ্য এবং প্রোটো ডাম্প দেখায় এমন একটি বৈশিষ্ট্যের দৃশ্য সহ। দুটি ভিউ এবং স্ক্রিন রেকর্ডিংয়ের মধ্যে নির্বাচন সিঙ্ক্রোনাইজ করা হয়েছে:

      transaction_trace

      চিত্র 12. উইনস্কোপে লেনদেন ট্রেস।

    • প্রোটোলগ ট্রেসের জন্য, তথ্যটি একটি টেবিল বিন্যাসে উপস্থাপিত হয়, যা ট্যাগ, উত্স ফাইল এবং পাঠ্য দ্বারা অনুসন্ধানযোগ্য:

      protolog_trace

      চিত্র 13. উইনস্কোপে প্রোটোলগ ট্রেস।

    • ট্রানজিশন ট্রেসের জন্য, আইডি, টাইপ, পাঠানোর সময়, সময়কাল এবং স্থিতি সহ ট্রানজিশনের একটি তালিকা নির্বাচিত ট্রানজিশনের বৈশিষ্ট্য সহ প্রদর্শিত হয়:

      transitions_trace

      চিত্র 14. উইনস্কোপে ট্রানজিশন ট্রেস।

,

Winscope হল একটি ওয়েব টুল যা ব্যবহারকারীদের অ্যানিমেশন এবং ট্রানজিশনের সময় এবং পরে বিভিন্ন সিস্টেম পরিষেবার অবস্থা রেকর্ড, রিপ্লে এবং বিশ্লেষণ করতে দেয়। Winscope একটি ট্রেস ফাইলে সমস্ত প্রাসঙ্গিক সিস্টেম সার্ভিস স্টেট রেকর্ড করে। ট্রেস ফাইল সহ Winscope UI ব্যবহার করে, আপনি প্রতিটি অ্যানিমেশন ফ্রেমের জন্য এই পরিষেবাগুলির অবস্থা পরিদর্শন করতে পারেন, একটি স্ক্রিন রেকর্ডিং সহ বা ছাড়াই, ট্রানজিশনগুলির মাধ্যমে পুনরায় প্লে করে, ধাপে ধাপে এবং ডিবাগ করে৷

সিস্টেম পরিষেবাগুলি যেগুলি ট্রেস তৈরি করে যা উইনস্কোপে লোডযোগ্য হতে পারে নিম্নরূপ:

  • সারফেসফ্লিংগার
  • উইন্ডো ম্যানেজার
  • WMShell
  • আইএমই
  • লঞ্চার

Winscope ট্রেস ভিউয়ার চালান

Winscope ট্রেসিং প্ল্যাটফর্মের পরিষেবাগুলির অংশ৷ এই বিভাগে উইনস্কোপ ট্রেস ভিউয়ার ডাউনলোড, নির্মাণ এবং চালানোর জন্য প্রয়োজনীয় পদক্ষেপগুলির রূপরেখা দেওয়া হয়েছে।

Winscope ট্রেসার চালানোর জন্য আপনার পিসি সেট আপ করতে এই পদক্ষেপগুলি অনুসরণ করুন:

  1. অ্যান্ড্রয়েড সোর্স ডাউনলোড করুন
  2. Winscope ফোল্ডারে নেভিগেট করুন:

    cd development/tools/winscope
    
  3. ব্যবহার করে নির্ভরতা ইনস্টল করুন:

    npm install
    

    উপলব্ধ কমান্ডের একটি তালিকা দেখতে, চালান: npm run

  4. ব্যবহার করে সমস্ত পণ্য এবং পরীক্ষার লক্ষ্যগুলি তৈরি করুন:

    npm run build:prod
    
  5. ব্যবহার করে Winscope চালান:

    npm run start
    

ক্যাপচার ট্রেস

আপনি ডিভাইসে ট্রেস ক্যাপচার করতে পারেন, Winscope এর মাধ্যমে বা Android Debug Bridge (adb) কমান্ডের মাধ্যমে।

ডিভাইসে ট্রেস ক্যাপচার

অ্যানিমেশন সমস্যার জন্য বাগ ফাইল করার সময় ডেটা সংগ্রহ করতে ডিভাইসে ট্রেস ক্যাপচার করুন। সমস্ত UI ট্রেস এই পদ্ধতিতে রেকর্ড করা হয়, কারণ কনফিগারেশন কাস্টমাইজ করা যায় না।

আপনার অ্যান্ড্রয়েড ডিভাইসে:

  1. বিকাশকারী বিকল্পগুলি সক্ষম করুন
  2. বিকাশকারী বিকল্পগুলির অধীনে সিস্টেম ট্রেসিং নির্বাচন করুন।
  3. উইনস্কোপ ট্রেস সংগ্রহ করুন সক্ষম করুন।
  4. বিবিধ অধীনে:
    1. বাগ রিপোর্টে রেকর্ডিং সংযুক্ত করুন সক্ষম করুন৷
    2. দ্রুত সেটিংস টাইল দেখান সক্ষম করুন৷
  5. যেখানে আপনাকে বাগ পুনরুত্পাদন করতে হবে সেখানে নেভিগেট করুন৷
  6. ক্যাপচার শুরু করতে, দ্রুত সেটিংস খুলুন এবং রেকর্ড ট্রেস নির্বাচন করুন:

    quick_setting_winscope

    চিত্র 1. রেকর্ড ট্রেস সহ দ্রুত সেটিং মেনু।

  7. বাগ পুনরুত্পাদন করার জন্য প্রয়োজনীয় পদক্ষেপগুলি সম্পাদন করুন।

  8. ক্যাপচার বন্ধ করতে, দ্রুত সেটিংস খুলুন এবং স্টপ ট্রেসিং নির্বাচন করুন।

  9. তালিকাভুক্ত বিকল্পগুলির একটি ব্যবহার করে ক্যাপচার করা লগ শেয়ার করুন, যেমন Gmail, Drive, বা BetterBug৷

Winscope মাধ্যমে ট্রেস ক্যাপচার

আপনি স্থানীয় উন্নয়ন এবং ডিবাগিংয়ের জন্য Winscope ব্যবহার করে ট্রেস ক্যাপচার করতে পারেন। Winscope adb ব্যবহার করে, যা USB বা Wi-Fi এর মাধ্যমে ডিভাইস সংযোগ সমর্থন করে।

উইনস্কোপে:

  1. সংগ্রহ ট্রেস স্ক্রিনে, ADB প্রক্সিতে ক্লিক করুন:

    capture_traces_winscope

    চিত্র 2. উইনস্কোপে ট্রেস ক্যাপচার করুন।

  2. আপনার ব্রাউজার থেকে সরাসরি ট্রেস ক্যাপচার করতে Winscope ADB Connect প্রক্সি চালু করুন।

  3. কমান্ড চালান:

    python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
    
  4. ক্যাপচার শুরু করতে, কালেক্ট ট্রেসেস স্ক্রিনে লক্ষ্য এবং কনফিগারেশন নির্বাচন করুন এবং স্টার্ট ট্রেস ক্লিক করুন:

    collect_traces_winscope

    চিত্র 3. উইনস্কোপে ট্রেস সংগ্রহ করুন।

  5. ক্যাপচার বন্ধ করতে, শেষ ট্রেস ক্লিক করুন:

    end_trace_winscope

    চিত্র 4. Winscope এ শেষ ট্রেস।

টুলটি উইনস্কোপের UI-তে ট্রেসগুলি আপলোড করার সাথে সাথে, প্রোটো ফাইলগুলি নিয়ে আসা এবং পার্সিং বার্তাগুলি স্ক্রিনে উপস্থিত হয়।

Winscope ব্যবহার করে স্টেট ডাম্প তৈরি করুন

Winscope ব্যবহার করে একটি স্টেট ডাম্প নিতে, Collect Traces স্ক্রিনে ডাম্প ট্যাবটি নির্বাচন করুন এবং তারপরে Dump state এ ক্লিক করুন :

dump-winscope

চিত্র 5. উইনস্কোপে ডাম্প স্টেট।

adb কমান্ডের মাধ্যমে ট্রেস ক্যাপচার করুন

নিম্নলিখিত প্রতিটি ট্রেসের জন্য adb shell কমান্ড চালানোর আগে adb root চালান। ট্রেসের শেষে, ট্রেস ফাইলগুলি /data/misc/wmtrace এ উপলব্ধ। একটি ডিভাইস থেকে একটি ফাইল বা ডিরেক্টরি এবং এর সাবডিরেক্টরিগুলি অনুলিপি করতে, একটি ডিভাইসে এবং থেকে ফাইলগুলি অনুলিপি করুন দেখুন৷ আরও তথ্যের জন্য adb দেখুন।

উইন্ডো ম্যানেজার ট্রেস

WindowManager ট্রেস ক্যাপচার করতে:

  • ট্রেস সক্ষম করুন:

    adb shell wm tracing start
    
  • ট্রেস অক্ষম করুন:

    adb shell wm tracing stop
    
  • একটি ট্রেস ক্যাপচার চালানোর সময় ফাইলে লগিং ডেটা সংরক্ষণ করুন:

    adb shell wm tracing save-for-bugreport
    
  • প্রতি ফ্রেমে একবার লগ ট্রেস করুন:

    adb shell wm tracing frame
    
  • প্রতিটি লেনদেন লগ করুন:

    adb shell wm tracing transaction
    
  • সর্বোচ্চ লগ সাইজ সেট করুন (কেবিতে):

    adb shell wm tracing size
    
  • প্রিন্ট ট্রেস অবস্থা:

    adb shell wm tracing status
    
  • লগ লেভেলকে critical (শুধুমাত্র দৃশ্যমান উইন্ডোজ যেখানে কম তথ্য আছে), trim (কমিত তথ্য সহ সমস্ত উইন্ডো), অথবা all (সব উইন্ডো এবং তথ্য):

    adb shell wm tracing level
    

প্রোটোলগ

নিম্নলিখিত কমান্ডগুলি প্রোটোলগ সিস্টেমের জন্য ব্যবহৃত হয়।

system_server প্রক্রিয়ায়:

  • প্রোটোলগ শুরু করুন:

    adb shell cmd window logging start
    
  • প্রোটোলগ বন্ধ করুন:

    adb shell cmd window logging stop
    
  • প্রদত্ত লগ গ্রুপের জন্য প্রোটোলগ সক্ষম করুন:

    adb shell cmd window logging enable [group...]
    
  • প্রদত্ত লগ গ্রুপের জন্য প্রোটোলগ অক্ষম করুন:

    adb shell cmd window logging disable [group...]
    
  • প্রদত্ত লগ গ্রুপের জন্য Logcat লগিং সক্ষম করুন:

    adb shell cmd window logging enable-text [group...]
    
  • প্রদত্ত লগ গ্রুপের জন্য লগক্যাট লগিং অক্ষম করুন:

    adb shell cmd window logging disable-text [group...]
    

WMShell এ:

  • প্রোটোলগ শুরু করুন:

    adb shell dumpsys activity service SystemUIService WMShell
    

ট্রানজিশন ট্রেসিং

নিম্নলিখিত কমান্ডগুলি ট্রানজিশন ট্রেসিংয়ের জন্য ব্যবহৃত হয়:

system_server প্রক্রিয়ায়:

  • একটি ট্রেস শুরু করুন:

    adb shell cmd window shell tracing start
    
  • একটি ট্রেস বন্ধ করুন:

    adb shell cmd window shell tracing stop
    
  • WMShell এ একটি ট্রেস শুরু করুন:

    adb shell dumpsys activity service SystemUIService WMShell transitions tracing start
    
  • WMShell এ একটি ট্রেস বন্ধ করুন:

    adb shell dumpsys activity service SystemUIService WMShell transitions tracing stop
    

ইনপুট পদ্ধতি সম্পাদক

নিম্নলিখিত কমান্ডগুলি ইনপুট মেথড এডিটর (IME) ট্রেসিংয়ের জন্য ব্যবহৃত হয়:

  • ইনপুট মেথড (IM) ক্লায়েন্ট, ইনপুট মেথড সার্ভিস (IMS), এবং ইনপুট মেথড ম্যানেজমেন্ট সার্ভিস (IMMS) এর জন্য IME ট্রেসিং শুরু করুন:

    adb shell ime tracing start
    
  • IME ক্লায়েন্ট, IMS, এবং IMMS ট্রেসিং শুরু করুন:

    adb shell ime tracing stop
    

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

সারফেসফ্লিংগার লেয়ার ট্রেসিং ক্যাপচারের জন্য পারফেটো ট্রেস ব্যবহার করে। কনফিগারেশন তথ্যের জন্য ট্রেস কনফিগারেশন দেখুন।

SurfaceFlinger লেয়ার ট্রেসিংয়ের জন্য একটি কনফিগারেশনের নিম্নলিখিত উদাহরণটি দেখুন:

unique_session_name: "surfaceflinger_layers_active"
buffers: {
    size_kb: 63488
    fill_policy: RING_BUFFER
}
data_sources: {
    config {
        name: "android.surfaceflinger.layers"
        surfaceflinger_layers_config: {
            mode: MODE_ACTIVE
            trace_flags: TRACE_FLAG_INPUT
            trace_flags: TRACE_FLAG_COMPOSITION
            trace_flags: TRACE_FLAG_HWC
            trace_flags: TRACE_FLAG_BUFFERS
            trace_flags: TRACE_FLAG_VIRTUAL_DISPLAYS
        }
    }
}

SurfaceFlinger স্তরগুলির জন্য ট্রেসিং তৈরি করতে নিম্নলিখিত উদাহরণ কমান্ডটি দেখুন:

adb shell -t perfetto \
    -c - --txt \
    -o /data/misc/perfetto-traces/trace \

SurfaceFlinger লেনদেন

SurfaceFlinger লেনদেন ট্রেসিং ক্যাপচারের জন্য Perfetto ট্রেস ব্যবহার করে। কনফিগারেশন তথ্যের জন্য ট্রেস কনফিগারেশন দেখুন।

SurfaceFlinger সক্রিয় ট্রেসিংয়ের জন্য একটি Perfetto কনফিগারেশনের নিম্নলিখিত উদাহরণটি দেখুন:

unique_session_name: "surfaceflinger_transactions_active"
buffers: {
    size_kb: 1024
    fill_policy: RING_BUFFER
}
data_sources: {
    config {
        name: "android.surfaceflinger.transactions"
        surfaceflinger_transactions_config: {
            mode: MODE_ACTIVE
        }
    }
}
write_into_file: true
file_write_period_ms: 100

SurfaceFlinger ক্রমাগত ট্রেসিংয়ের জন্য একটি Perfetto কনফিগারেশনের নিম্নলিখিত উদাহরণটি দেখুন:

unique_session_name: "surfaceflinger_transactions_continuous"
buffers: {
    size_kb: 1024
    fill_policy: RING_BUFFER
}
data_sources: {
    config {
        name: "android.surfaceflinger.transactions"
        surfaceflinger_transactions_config: {
            mode: MODE_CONTINUOUS
        }
    }
}

SurfaceFlinger লেনদেনের জন্য ট্রেসিং তৈরি করতে নিম্নলিখিত উদাহরণ কমান্ডটি দেখুন:

    adb shell perfetto \
    -c - --txt \
    -o /data/misc/perfetto-traces/trace \

adb ব্যবহার করে স্টেট ডাম্প তৈরি করুন

Winscope বাগ রিপোর্ট থেকে WindowManager এবং SurfaceFlinger স্টেটের একটি স্ন্যাপশট পড়ে। বাগ রিপোর্টগুলি proto ফোল্ডারের মধ্যে পৃথক প্রোটো ফাইল হিসাবে রাজ্যগুলিকে সংরক্ষণ করে। adb ব্যবহার করে স্টেট ডাম্প তৈরি করতে, নিম্নলিখিত কমান্ডগুলি চালান।

WindowManager এর জন্য:

adb exec-out dumpsys window --proto > window_dump.winscope

SurfaceFlinger এর জন্য:

adb exec-out dumpsys SurfaceFlinger --proto > sf_dump.winscope

ট্রেস বিশ্লেষণ

অ্যানিমেশন সমস্যা সৃষ্টিকারী ক্ষণস্থায়ী এবং অবৈধ অবস্থাগুলি ডিবাগ করতে, Winscope বিভিন্ন ট্রেস ফাইলগুলিকে একত্রিত করে, ফ্রেম এবং টাইমলাইনে অনুসন্ধান এবং ভিজ্যুয়ালাইজেশন প্রদান করে এবং একটি সুসংগত পদ্ধতিতে প্রোটোবাফ বার্তা উপস্থাপন করে। Winscope-এ ট্রেস বিশ্লেষণ করলে বাগটির সংঘটনের সঠিক স্তর, ফ্রেম এবং অবস্থা সনাক্ত করতে সাহায্য করে।

Winscope ব্যবহার করুন

আপনি যখন ট্রেসগুলি ক্যাপচার করেছেন , তখন Winscope-এ ট্রেসগুলি বিশ্লেষণ করুন:

  1. ডানদিকের প্যানেল ব্যবহার করে আপনার সংরক্ষিত ট্রেস আপলোড করুন। আপনি আপলোড করা ট্রেস মুছে ফেলতে পারেন বা আরও ট্রেস আপলোড করতে পারেন৷

    upload_traces_winscope

    চিত্র 6. উইনস্কোপে ট্রেস আপলোড করুন।

  2. আপলোড করা ট্রেসগুলি কল্পনা করতে দেখুন ট্রেসগুলিতে ক্লিক করুন৷ প্রতিটি ট্রেসের জন্য ট্যাবগুলি উইন্ডোর উপরের প্যানেলে উপস্থিত হয়। আপলোড করা ফাইলে প্রাসঙ্গিক ট্রেস থাকলে, স্ক্রীন রেকর্ডিং ট্রেসের একটি ভাসমান দৃশ্য স্ক্রিনে ওভারলেড করা হয়।

    view_traces_winscope

    চিত্র 7. উইনস্কোপে ট্রেস দেখুন।

    নাম পরিবর্তন করতে উইন্ডোর উপরের প্যানেলে UI ব্যবহার করুনসম্পাদনা_নামএবং আপনার আপলোড করা ট্রেস ডাউনলোড করুন ডাউনলোড_ট্রেস অথবা একটি নতুন আপলোড করতে।

  3. উইন্ডোর নীচের প্যানেলে টাইম স্লাইডার টুল ব্যবহার করে সময়ের সাথে ট্রেসের মাধ্যমে নেভিগেট করুন। অতিরিক্ত সময় নেভিগেশনের জন্য, নিম্নলিখিত বৈশিষ্ট্যগুলি ব্যবহার করুন, যেমন চিত্র 8 এ দেখানো হয়েছে:

    • একটি নির্দিষ্ট সময় বা ঘটনার নেভিগেট করতে, কার্সার (টাইম স্লাইডার) বা বাম ব্যবহার করুনarrow_left_time এবং ডানarrow_right_time টাইম ডিসপ্লে বক্সে তীর (নীচের বাম কোণে), বা আপনার কীবোর্ডে বাম এবং ডান তীর।
    • টাইমলাইনে নির্বাচিত রঙ-কোডেড ট্রেস প্রদর্শন করতে, ড্রপ-ডাউন মেনু (টাইম স্লাইডারের বামে) ব্যবহার করুন। ডিফল্টরূপে, ট্রেস ট্যাব ব্যবহার করে দেখা শেষ তিনটি ট্রেস টাইমলাইনে প্রদর্শিত হয়।
    • সমস্ত আপলোড করা ট্রেসগুলির একটি দানাদার দৃশ্যের জন্য, জুম ইন ব্যবহার করুন৷জুম_ইন_টাইম বা জুম আউট করুন জুম_আউট_টাইম টুল (টাইম স্লাইডারের অধীনে), অথবা আপনার কীবোর্ডে স্ক্রোল করুন। জুম লেভেল রিসেট করতে রিসেট বোতামটি ব্যবহার করুন।
    • সময়ের সাথে ট্রেস বিতরণের একটি প্রসারিত দৃশ্যের জন্য, উপরের তীরটিতে ক্লিক করুনarrow_up_time (নীচের ডান কোণে)।

    time_nav_winscope

    চিত্র 8. উইনস্কোপে সময় নেভিগেশন।

    প্রসারিত দৃশ্যে (চিত্র 9), ভাল পরিদর্শনের জন্য নির্দিষ্ট সময় ফ্রেম নির্বাচন করুন এবং জুম করুন:

    expand_time_winscope

    চিত্র 9. উইনস্কোপে প্রসারিত সময়রেখা।

  4. ট্রেস পরীক্ষা করতে, আপনি স্ক্রীন রেকর্ডিং সহ ডিভাইসের অবস্থা দেখতে পারেন। একটি নির্দিষ্ট ট্রেস পরীক্ষা করতে, টুলের উপরের প্যানেলে প্রাসঙ্গিক ট্রেস ট্যাবে ক্লিক করুন।

    • সারফেস ফ্লিংগার ট্রেসের জন্য, তিনটি প্যানেল একটি নির্দিষ্ট সময়ের মধ্যে ট্রেসের বিভিন্ন দৃশ্য প্রদর্শন করে, যেমন চিত্র 10-এ দেখানো হয়েছে:sf_trace

      চিত্র 10. উইনস্কোপে সারফেস ফ্লিংগার ট্রেস।

      • স্তরগুলির দৃশ্য: আয়তক্ষেত্রাকার ওভারলেগুলিতে স্তরগুলির একটি 3D দৃশ্য৷ নিম্নলিখিত UI উপাদানগুলি গ্রাফিকাল উপাদানগুলিকে তাদের অবস্থান, আকার, রূপান্তর এবং z-ক্রম অনুসারে রেন্ডার করতে আয়তক্ষেত্রগুলিকে সামঞ্জস্য করে:

        • রোটেশন স্লাইডার (লেয়ার ভিউয়ের উপরের বাম দিকে) স্তরযুক্ত আয়তক্ষেত্রগুলিকে নির্বাচিত কোণে দেখতে ঘোরায়।
        • স্পেসিং স্লাইডার (লেয়ার ভিউয়ের উপরের ডানদিকে) নির্বাচিত যৌগিক দৃশ্য তৈরি করতে স্তরগুলির মধ্যে ব্যবধান সামঞ্জস্য করে।
        • জুম টুল (লেয়ার ভিউ এর উপরের ডানদিকে) জুম ইন করুনজুম_ইন_টাইম এবং জুম আউট করুন জুম_আউট_টাইম ভাল পরিদর্শনের জন্য স্তর মধ্যে.
        • রিসেট বোতামreset_sf (লেয়ার ভিউয়ের উপরের ডানদিকে) ক্যামেরা সেটিংসকে আসল ভিউতে পুনরুদ্ধার করে।
        • আরও ভাল জুম করার সুবিধার জন্য আয়তক্ষেত্রগুলি টেনে আনুন৷
      • শ্রেণিবিন্যাস দৃশ্য: স্তরগুলির একটি সম্পূর্ণ শ্রেণিবিন্যাস।

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

        • শো ডিফ চেকবক্স (প্রপার্টি ভিউয়ের উপরের বাম দিকে) হায়ারার্কি ভিউয়ের মতো আচরণ করে।
        • ডিফল্ট দেখান (প্রপার্টি ভিউয়ের উপরের বাম দিকে), যখন নির্বাচন করা হয়, প্রোটো ডাম্পে ডিফল্ট প্রোটো মানগুলি প্রদর্শন করে। ডিফল্টরূপে, এই মানগুলি প্রোটো ডাম্পে তালিকাভুক্ত নয়৷ ডিফল্ট প্রোটো মানগুলি প্রোটো ক্ষেত্রের সংজ্ঞা থেকে নেওয়া হয়। যদি একটি প্রোটো ফিল্ডে একটি নননাল ডিফল্ট মান সেট না থাকে, তাহলে দেখানো ডিফল্ট প্রোটো মানগুলি হল:
          • স্ট্রিংস: শূন্য
          • সংখ্যা: 0
          • বুলিয়ান মান: মিথ্যা
          • বস্তু: শূন্য

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

    • উইন্ডো ম্যানেজার ট্রেসের জন্য, তিনটি প্যানেল একটি নির্দিষ্ট সময়ে ট্রেসের বিভিন্ন দৃশ্য প্রদর্শন করে, যেমন চিত্র 11-এ দেখানো হয়েছে:

      • উইন্ডোজ ভিউ: স্তরগুলির একটি 3D ভিউ।
      • শ্রেণিবিন্যাস দৃশ্য: স্তরগুলির একটি সম্পূর্ণ শ্রেণিবিন্যাস।
      • বৈশিষ্ট্য দৃশ্যে সমস্ত বৈশিষ্ট্যের একটি প্রোটো ডাম্প রয়েছে।

      তিনটি ভিউ এবং স্ক্রীন রেকর্ডিংয়ের মধ্যে নির্বাচন সিঙ্ক্রোনাইজ করা হয়, অর্থাৎ, আপনি যখন সময়ে একটি ভিন্ন পয়েন্টে নেভিগেট করেন তখন সমস্ত ট্রেস সিঙ্ক্রোনাসভাবে আপডেট হয়।

      wm_trace

      চিত্র 11. উইনস্কোপে উইন্ডো ম্যানেজার ট্রেস।

    • লেনদেন ট্রেসের জন্য, সারফেস ফ্লিংগার এবং উইন্ডো ম্যানেজারের মধ্যে লেনদেনগুলি টেবিল বিন্যাসে উপস্থাপন করা হয় যা প্রদর্শিত আইডি, টাইপ এবং পাঠ্য দ্বারা অনুসন্ধানযোগ্য এবং প্রোটো ডাম্প দেখায় এমন একটি বৈশিষ্ট্যের দৃশ্য সহ। দুটি ভিউ এবং স্ক্রিন রেকর্ডিংয়ের মধ্যে নির্বাচন সিঙ্ক্রোনাইজ করা হয়েছে:

      transaction_trace

      চিত্র 12. উইনস্কোপে লেনদেন ট্রেস।

    • প্রোটোলগ ট্রেসের জন্য, তথ্যটি একটি টেবিল বিন্যাসে উপস্থাপিত হয়, যা ট্যাগ, উত্স ফাইল এবং পাঠ্য দ্বারা অনুসন্ধানযোগ্য:

      protolog_trace

      চিত্র 13. উইনস্কোপে প্রোটোলগ ট্রেস।

    • ট্রানজিশন ট্রেসের জন্য, আইডি, টাইপ, পাঠানোর সময়, সময়কাল এবং স্থিতি সহ ট্রানজিশনের একটি তালিকা নির্বাচিত ট্রানজিশনের বৈশিষ্ট্য সহ প্রদর্শিত হয়:

      transitions_trace

      চিত্র 14. উইনস্কোপে ট্রানজিশন ট্রেস।