গেমের জন্য পারফরম্যান্স বুস্ট

অ্যান্ড্রয়েড 14 দিয়ে শুরু করে অ্যান্ড্রয়েড ডায়নামিক পারফরম্যান্স ফ্রেমওয়ার্ক (ADPF) এ GAME নামে একটি নতুন পাওয়ার মোড গেম ব্যবহারের সময় ফোনের পারফরম্যান্স কাস্টমাইজেশন সক্ষম করে। GAME পাওয়ার HAL-কে নির্দেশ করে যে একটি গেম অ্যাপ অগ্রভাগে রয়েছে। এই ইঙ্গিতটি পাওয়ার HAL-কে একটি গেম খেলার সময় পাওয়ার ম্যানেজমেন্ট কৌশল গ্রহণ করার অনুমতি দেয়, যাতে ব্যবহারকারী একটি স্থিতিশীল এবং উন্নত কর্মক্ষমতা অনুভব করে।

একটি গেমের লোডিং সময়ের উন্নতি প্রদান করতে, Android 13 ADPF-এ GAME_LOADING নামে একটি নতুন পাওয়ার মোড প্রবর্তন করেছে। GAME_LOADING নির্দেশ করে যে একটি গেম অ্যাপ লোডিং অবস্থায় আছে যাতে পাওয়ার HAL একটি লোডিং বুস্ট প্রদান করতে পারে। এই ইঙ্গিত পাওয়ার HAL-কে পারফরম্যান্স বুস্টিং ব্যবস্থাগুলি প্রদান করার অনুমতি দেয় যা গেম লোড করার সময়কে দ্রুত করতে পারে।

এই পৃষ্ঠাটি বর্ণনা করে যে কীভাবে গেম অ্যাপটি গেম স্টেটকে পাওয়ার HAL-এ পাস করে, আপনার ডিভাইসে পাওয়ার HAL এর সুবিধা নেওয়ার জন্য কীভাবে Power HAL কনফিগার করতে হয়, সেইসাথে আপনার পাওয়ার HAL বাস্তবায়ন কীভাবে পরীক্ষা করা যায় তা ব্যাখ্যা করে।

পাওয়ার মোড সনাক্তকরণ এবং বিজ্ঞপ্তি

এই বিভাগটি বর্ণনা করে কিভাবে পাওয়ার ম্যানেজার GAME এবং GAME_LOADING মোডগুলি পরিচালনা করে৷

গেম পাওয়ার মোড

Android 14-এ নতুন পাওয়ার মোড GAME পাওয়ার ম্যানেজার পরিষেবাকে নির্দেশ করে যে ব্যবহারকারী একটি গেম খেলছেন। যখন পাওয়ার HAL-কে GAME মোড সম্পর্কে অবহিত করা হয়, তখন গেমটি খেলার সময় এটি পারফরম্যান্স, নিম্ন তাপমাত্রা এবং ব্যাটারির আয়ু বাড়াতে শক্তি সামঞ্জস্য করতে পারে।

নিম্নলিখিত চিত্রটি GAME পাওয়ার মোড নির্দেশ করতে পাওয়ার HAL-তে তথ্যের প্রবাহ ব্যাখ্যা করে:

game-mode

চিত্র 1. একটি গেম খেলা হচ্ছে তা নির্দেশ করার জন্য তথ্য প্রবাহ।

AndroidManifest.xmlGAME এর একটি appCategory সহ অ্যাপগুলির জন্য GAME পাওয়ার মোড সবসময় সেট করা থাকে।

GAME_LOADING পাওয়ার মোড

লোডিং বুস্ট মোড একটি গেম অ্যাপ কখন লোডিং অবস্থায় থাকে তা সনাক্ত করে এবং পাওয়ার HAL-কে অবহিত করে কাজ করে। অ্যান্ড্রয়েড 13 ডেভেলপার-ফেসিং এপিআই-isLoading নামে একটি নতুন গেম স্টেট প্রবর্তন করেছে। এই গেম স্টেট পাওয়ার ম্যানেজার সার্ভিসে নতুন GAME_LOADING পাওয়ার মোড ব্যবহার করে পাওয়ার HAL কে শীর্ষ স্তরের গেমের অবস্থা সম্পর্কে অবহিত করতে। একবার পাওয়ার HAL-কে গেম লোডিং অবস্থা সম্পর্কে অবহিত করা হলে, এটি প্ল্যাটফর্মের কর্মক্ষমতা সেটিংস এবং CPU ঘড়ির হার সামঞ্জস্য করতে পারে, যার ফলে লোডের সময় উন্নত হয়।

একটি গেম লোড হচ্ছে তা নির্দেশ করতে, গেম ম্যানেজারে একটি isLoading অবস্থা সেট করতে গেম অ্যাপটি গেম ড্যাশবোর্ড ব্যবহার করে। গেম ম্যানেজার এই অবস্থাটিকে গেম ম্যানেজার পরিষেবাতে পাঠায়, যা পাওয়ার ম্যানেজার পরিষেবা চালু করতে নতুন GAME_LOADING পাওয়ার মোড সহ setPowerMode ব্যবহার করে৷ GAME_LOADING পাওয়ার মোড পাওয়ার HAL কে নির্দেশ করে যে গেমটি লোডিং অবস্থায় রয়েছে যাতে পাওয়ার HAL একটি লোডিং বুস্ট প্রদান করতে পারে।

নিম্নলিখিত চিত্রটি লোডিং অবস্থা নির্দেশ করতে অ্যাপ থেকে পাওয়ার HAL-তে তথ্যের প্রবাহ ব্যাখ্যা করে:

loading-boost

চিত্র 2. তথ্য প্রবাহ নির্দেশ করে যে একটি গেম লোডিং অবস্থায় আছে।

গেম ড্যাশবোর্ড ব্যবহারকারীদের পারফরম্যান্স সেটিং সহ লোডিং বুস্ট বৈশিষ্ট্যটি চালু বা বন্ধ করতে দেয়। পারফরম্যান্স সেটিং সবসময় ডিফল্ট বন্ধ থাকে।

GAME এবং GAME_LOADING ব্যবহার করে পাওয়ার HAL কাস্টমাইজ করুন

GAME এবং GAME_LOADING মোডগুলির সুবিধা নিতে, OEMsকে অবশ্যই তাদের Power HAL এর বাস্তবায়ন কাস্টমাইজ করতে হবে৷ যেহেতু পাওয়ার ম্যানেজমেন্ট এবং পারফরম্যান্স বুস্টিং হার্ডওয়্যার নির্দিষ্ট, তাই Google Pixel ডিভাইসের জন্য রেফারেন্স ইমপ্লিমেন্টেশন রিলিজ না হওয়া পর্যন্ত GAME বা GAME_LOADING মোডের জন্য কোনো রেফারেন্স বাস্তবায়ন উপলব্ধ করা হয় না।

একটি GAME এবং GAME_LOADING মোডে পারফরম্যান্স বাড়ানোর জন্য, OEMগুলি নিম্নলিখিত ব্যবস্থাগুলির সমন্বয় বাস্তবায়ন করতে বেছে নিতে পারে:

  • ফ্রেম রেট স্থিতিশীল করুন
  • CPU ঘড়ির গতি বাড়ান
  • সাময়িকভাবে তাপমাত্রা থ্রটলিং কমিয়ে দিন
  • ফোরগ্রাউন্ড গেম অ্যাপে একটি উচ্চতর CPU অগ্রাধিকার বরাদ্দ করুন
  • নিয়মিত, নন-গেম অ্যাপের জন্য টিউন করা CPU বুস্ট হ্রাস করুন
  • তাপ-সম্পর্কিত বিদ্যুৎ বিতরণ কৌশল অপ্টিমাইজ করুন

গেম মোড বাস্তবায়ন পরীক্ষা করুন

GAME মোডের বাস্তবায়ন পরীক্ষা করতে, GameManagerServiceTests.javatestGamePowerMode_ এর সাথে উপসর্গযুক্ত পরীক্ষাগুলি ব্যবহার করুন।

GAME_LOADING বাস্তবায়ন পরীক্ষা করুন

GAME_LOADING মোডের বাস্তবায়ন পরীক্ষা করতে, android.gamemanager.cts.GameManagerTest#testSetGameContext ব্যবহার করুন। একটি isLoading প্রসঙ্গ সহ GameManager::setGameContext() পারফরম্যান্স মোডে Power HAL-এ গেম লোডিং মোড চালু করে কিনা এই পরীক্ষাটি যাচাই করে।