লেটেন্সি একটি গুরুত্বপূর্ণ সিস্টেম পারফরম্যান্স মেট্রিক। যদিও অনেক ধরণের অডিও লেটেন্সি মেট্রিক বিদ্যমান, একটি দরকারী এবং ভালভাবে বোঝার মেট্রিক হল রাউন্ড-ট্রিপ লেটেন্সি , একটি মোবাইল ডিভাইসের ইনপুট প্রবেশ করতে একটি অডিও সিগন্যালের জন্য যে সময় লাগে তা সংজ্ঞায়িত করা হয়, অ্যাপ্লিকেশনটিতে চলমান একটি অ্যাপ দ্বারা প্রক্রিয়া করা হয় প্রসেসর, এবং আউটপুট থেকে প্রস্থান করুন।
![ডিভাইসে রাউন্ড-ট্রিপ অডিও লেটেন্সি](https://source.android.com/static/docs/core/audio/images/round_trip_on_device.png?authuser=0&hl=bn)
চিত্র 1. ডিভাইসে রাউন্ড-ট্রিপ অডিও লেটেন্সি: T আউটপুট - T ইনপুট
এই পৃষ্ঠাটি নির্বাচিত Nexus/Pixel ডিভাইস এবং Android প্ল্যাটফর্ম সংস্করণের জন্য রাউন্ড-ট্রিপ অডিও লেটেন্সি পরিমাপ প্রদান করে।
কেন আমরা বিলম্ব পরিমাপ
Google লেটেন্সি পরিমাপ করে এবং রিপোর্ট করে তাই Android অ্যাপ্লিকেশন ডেভেলপারদের কাছে প্রকৃত ডিভাইসে উপলব্ধ লেটেন্সি সম্পর্কে অবগত সিদ্ধান্ত নেওয়ার জন্য প্রয়োজনীয় ডেটা থাকে৷ নির্বাচিত Nexus এবং Pixel ডিভাইসগুলির জন্য লেটেন্সি নম্বর শেয়ার করার মাধ্যমে, আমরা সমস্ত Android ডিভাইসে লেটেন্সি পরিমাপ করতে, প্রকাশ করতে এবং কমাতে সমগ্র Android সম্প্রদায়কে উত্সাহিত করব। অডিও লেটেন্সি হ্রাস করার জন্য আমাদের প্রতিশ্রুতিতে আমাদের সাথে যোগ দিন!
লেটেন্সিতে অ্যাপের প্রভাব
সিগন্যাল প্রসেসিং লেটেন্সিতে নিম্নলিখিত ধরনের বিলম্ব যোগ করতে পারে:
- অ্যালগরিদমিক এই বিলম্ব সহজাত এবং CPU এর সাথে পরিবর্তিত হয় না। একটি উদাহরণ হল একটি সীমিত ইমপালস রেসপন্স (এফআইআর) ফিল্টার দ্বারা যোগ করা বিলম্ব।
- গণনামূলক । এই বিলম্বটি প্রয়োজনীয় CPU চক্রের সংখ্যার সাথে সম্পর্কিত। উদাহরণস্বরূপ, একটি সংকেতের ক্ষিপ্তকরণ সাধারণত একটি গুণন অপারেশন দ্বারা সম্পন্ন হয় যা CPU এর উপর নির্ভর করে বিভিন্ন সংখ্যক চক্র নেয়।
আমরা কিভাবে পরিমাপ
আমরা ডাঃ রিক ও'রাং অডিও লুপব্যাক ডঙ্গল এবং একটি অডিও প্রতিক্রিয়া (লার্সেন প্রভাব) পরীক্ষা ব্যবহার করে এই পৃষ্ঠায় তালিকাভুক্ত পরিমাপ করেছি। পরিমাপ অনুমান করে যে অ্যাপ্লিকেশন সংকেত প্রক্রিয়াকরণ শূন্য অ্যালগরিদমিক বিলম্ব এবং প্রায় শূন্য গণনাগত বিলম্ব যোগ করে।
আমরা বিভিন্ন কারণে হেডসেট সংযোগকারীর মাধ্যমে রাউন্ড-ট্রিপ লেটেন্সি পরিমাপ করি:
![হেডসেট সংযোগকারীর মাধ্যমে রাউন্ড-ট্রিপ লেটেন্সি](https://source.android.com/static/docs/core/audio/images/round_trip_via_headset_connector.png?authuser=0&hl=bn)
চিত্র 2. হেডসেট সংযোগকারীর মাধ্যমে রাউন্ড-ট্রিপ লেটেন্সি: টি আউটপুট - টি ইনপুট
- গুরুত্বপূর্ণ মিউজিক অ্যাপ্লিকেশন (যেমন গিটার এবং ভয়েস প্রসেসিং) হেডসেট সংযোগকারী ব্যবহার করে।
- অন-ডিভাইস মাইক্রোফোন এবং স্পিকারের রাউন্ড-ট্রিপ লেটেন্সি পরিমাপ করা কষ্টকর হতে পারে, কারণ খোলা বাতাসে অনিয়ন্ত্রিত দোলনায় প্রবেশ করা থেকে প্রতিক্রিয়া লুপ রাখা কঠিন।
- অন-ডিভাইস ট্রান্সডুসারগুলি ছোট এবং তাদের ছোট আকার অর্জনের জন্য ফ্রিকোয়েন্সি প্রতিক্রিয়া ত্যাগ করে। ক্ষতিপূরণের জন্য, ডিজিটাল সিগন্যাল প্রসেসিং প্রয়োগ করা হয় কিন্তু অন-ডিভাইস পাথের জন্য অ্যালগরিদমিক বিলম্ব বাড়ায়।
এমন কিছু ক্ষেত্রে আছে যেখানে ডিভাইসে মাইক্রোফোন এবং স্পিকারের লেটেন্সিগুলি গুরুত্বপূর্ণ , তবে সেগুলি সাধারণত এক দিকের জন্য হয়, রাউন্ড-ট্রিপ নয়। একমুখী লেটেন্সি পরিমাপের কৌশলগুলি মেজারিং আউটপুট লেটেন্সি এবং মেজারিং ইনপুট লেটেন্সিতে বর্ণিত হয়েছে।
উদাহরণ পরিমাপ
নীচে তালিকাভুক্ত পরিমাপগুলি একটি বিল্ড নম্বরের জন্য নির্দিষ্ট৷ ডিভাইসগুলি প্রাথমিক প্রকাশের আনুমানিক ক্রমে এবং প্ল্যাটফর্ম সংস্করণ অনুসারে তালিকাভুক্ত করা হয়েছে; আপনি একটি চার্টে বিলম্বগুলিও দেখতে পারেন। পরীক্ষা অ্যাপ্লিকেশনটি OpenSL ES এর উপর ভিত্তি করে Android নেটিভ অডিও API ব্যবহার করে।
মডেল | প্ল্যাটফর্ম সংস্করণ | নির্মাণ করুন সংখ্যা | নমুনা হার (Hz) | বাফারের আকার (ফ্রেম) | বাফারের আকার (মাইক্রোসফট) | রাউন্ড-ট্রিপ বিলম্ব (ms) ± একটি বাফার |
---|---|---|---|---|---|---|
নেক্সাস ওয়ান | 2.3.6 | GRK39F | 44100 | 768 | 17.4 | 345 |
নেক্সাস এস | 2.3.6 | GRK39F | 44100 | 1024 | 23.2 | 260 |
নেক্সাস এস | 4.0.4 | IMM76D | 44100 | 1024 | 23.2 | 260 |
নেক্সাস এস | 4.1.2 | JZO54K | 44100 | 880 | 20 | 210 |
গ্যালাক্সি নেক্সাস | 4.0.1 | ITL41D | 44100 | 976 | 22.1 | 270 |
গ্যালাক্সি নেক্সাস | 4.3 | JWR66Y | 44100 | 144 | 3.3 | 130 |
নেক্সাস 4 | 4.2.2 | JDQ39E | 48000 | 240 | 5 | 195 |
নেক্সাস 4 | 5.1 | LMY47O | 48000 | 240 | 5 | 58 |
নেক্সাস 10 | 5.0.2 | LRX22G | 44100 | 256 | ৫.৮ | 36 |
নেক্সাস 10 | 5.1 | LMY47D | 44100 | 256 | ৫.৮ | 35 |
নেক্সাস 7 2013 | 4.3 | JSR78D | 48000 | 240 | 5 | 149 |
নেক্সাস 7 2013 | 4.4 | KRT16S | 48000 | 240 | 5 | 85 |
নেক্সাস 7 2013 | 5.0.2 | LRX22G | 48000 | 240 | 5 | 64 |
নেক্সাস 7 2013 | 5.1 | LMY47O | 48000 | 240 | 5 | 55 |
নেক্সাস 7 2013 | 6.0 | MRA58K | 48000 | 240 | 5 | 55 |
নেক্সাস 5 | 4.4.4 | KTU84P | 48000 | 240 | 5 | 95 |
নেক্সাস 5 | 5.0.0 | LRX21O | 48000 | 240 | 5 | 47 |
নেক্সাস 5 | 5.1 | LMY47I | 48000 | 240 | 5 | 42 |
নেক্সাস 5 | 6.0 | MRA58K | 48000 | 192 | 4 | 38 |
নেক্সাস 9 | 5.0.0 | LRX21L | 48000 | 256 | 5.3 | 35 |
নেক্সাস 9 | 5.0.1 | LRX22C | 48000 | 256 | 5.3 | 38 |
নেক্সাস 9 | 5.1.1 | LMY47X | 48000 | 256 | 5.3 | 32 |
নেক্সাস 9 | 6.0 | MRA58K | 48000 | 128 | 2.6 | 15 |
নেক্সাস 6 | 5.0.1 | LRX22C | 48000 | 240 | 5 | 65 |
নেক্সাস 6 | 5.1 | LMY47I | 48000 | 240 | 5 | 42 |
নেক্সাস 6 | 6.0 | MRA58K | 48000 | 192 | 4 | 33 |
Nexus 5X | 6.0 | MDA89E | 48000 | 192 | 4 | 18 |
Nexus 5X | 8.0.0 | OPR4.170623.020 | 48000 | 192 | 4 | 18 |
Nexus 5X | 8.1.0 | OPM2.171019.029.C1 | 48000 | 192 | 4 | 18 |
Nexus 6P | 6.0 | MDA89D | 48000 | 192 | 4 | 18 |
Nexus 6P | 8.0.0 | OPR5.170623.014 | 48000 | 192 | 4 | 18 |
Nexus 6P | 8.1.0 | OPM5.171019.019 | 48000 | 192 | 4 | 18 |
পিক্সেল | 7.1.2 | NHG47L | 48000 | 192 | 4 | 18 |
পিক্সেল | 8.0.0 | OPR3.170623.013 | 48000 | 192 | 4 | 18 |
পিক্সেল | 8.1.0 | OPM1.171019.021 | 48000 | 192 | 4 | 18 |
পিক্সেল এক্সএল | 7.1.2 | NHG47L | 48000 | 192 | 4 | 18 |
পিক্সেল এক্সএল | 8.0.0 | OPR3.170623.013 | 48000 | 192 | 4 | 18 |
চিত্র 3. রাউন্ড ট্রিপ লেটেন্সি