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

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

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

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

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

এই বিভাগে Power Manager কীভাবে GAME ও GAME_LOADING মোড ম্যানেজ করে তা বর্ণনা করা হয়েছে।

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

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

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

গেম-মোড

ছবি ১. গেম খেলা হচ্ছে তা বোঝাতে তথ্য প্রবাহ।

GAME পাওয়ার মোড সবসময় AndroidManifest.xml-এ GAME appCategory সহ অ্যাপের জন্য সেট করা থাকে।

GAME_LOADING পাওয়ার মোড

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

কোনও গেম লোড হচ্ছে তা বোঝাতে, গেম অ্যাপ গেম ম্যানেজারে একটি isLoading স্টেট সেট করতে গেম ড্যাশবোর্ড ব্যবহার করে। Game Manager এই স্টেটটি Game Manager পরিষেবায় পাস করে, যা Power Manager পরিষেবা ইনভোক করতে নতুন GAME_LOADING পাওয়ার মোডের সাথে setPowerMode ব্যবহার করে। GAME_LOADING পাওয়ার মোড পাওয়ার HAL-কে ইঙ্গিত করে যে গেমটি লোডিং অবস্থায় আছে যাতে পাওয়ার HAL লোডিং বুস্ট প্রদান করতে পারে।

নিচের ছবি থেকে বোঝা যায় যে লোডিং স্ট্যাটাস দেখানোর জন্য অ্যাপ থেকে Power HAL-এ কীভাবে তথ্য পাঠানো হয়:

loading-boost

ছবি ২. গেম লোড হচ্ছে তা বোঝাতে তথ্যের ফ্লো।

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

GAME ও GAME_LOADING ব্যবহার করে Power HAL কাস্টমাইজ করা

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

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

  • ফ্রেম রেট স্টেবিলাইজ করা
  • সিপিইউ ক্লক স্পিড বাড়ানো
  • সাময়িকভাবে তাপমাত্রা থ্রটলিং কমান
  • ফোরগ্রাউন্ড গেম অ্যাপকে বেশি সিপিইউ অগ্রাধিকার অ্যাসাইন করা
  • সাধারণ, গেম নয় এমন অ্যাপের জন্য সিপিইউ বুস্ট টিউন করা কমানো
  • থার্মাল-সম্পর্কিত পাওয়ার ডিস্ট্রিবিউশন স্ট্র্যাটেজি অপ্টিমাইজ করুন

গেম মোড প্রয়োগ করা হয়েছে কিনা তা পরীক্ষা করা

GAME মোড-এর প্রয়োগ পরীক্ষা করতে, GameManagerServiceTests.java-এ testGamePowerMode_ দিয়ে শুরু হওয়া টেস্ট ব্যবহার করুন।

GAME_LOADING ইমপ্লিমেন্টেশন পরীক্ষা করা

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