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

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

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

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

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

এই অংশে বর্ণনা করা হয়েছে কীভাবে পাওয়ার ম্যানেজার GAME এবং GAME_LOADING মোডগুলো পরিচালনা করে।

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

অ্যান্ড্রয়েড ১৪-এর নতুন পাওয়ার মোড GAME পাওয়ার ম্যানেজার সার্ভিসকে (Power Manager Service) জানায় যে ব্যবহারকারী একটি গেম খেলছেন। যখন পাওয়ার এইচএএল (Power HAL) GAME মোড সম্পর্কে অবহিত হয়, তখন এটি গেম খেলার সময় পারফরম্যান্স বাড়াতে, তাপমাত্রা কমাতে এবং ব্যাটারির আয়ু বাড়াতে পাওয়ার সমন্বয় করতে পারে।

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

game-mode

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

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

গেম লোডিং পাওয়ার মোড

লোডিং বুস্ট মোড কোনো গেম অ্যাপ লোডিং অবস্থায় আছে কিনা তা শনাক্ত করে এবং পাওয়ার এইচএএল-কে (Power HAL) অবহিত করার মাধ্যমে কাজ করে। অ্যান্ড্রয়েড ১৩ ডেভেলপার-ফেসিং এপিআই- তে (API) isLoading নামে একটি নতুন গেম স্টেট চালু করেছে। এই গেম স্টেটটি পাওয়ার ম্যানেজার সার্ভিসের (Power Manager Service) নতুন GAME_LOADING পাওয়ার মোড ব্যবহার করে পাওয়ার এইচএএল-কে টপ লেভেল গেম স্টেট সম্পর্কে অবহিত করে। পাওয়ার এইচএএল গেম লোডিং স্টেট সম্পর্কে অবহিত হওয়ার পর, এটি প্ল্যাটফর্মের পারফরম্যান্স সেটিংস এবং সিপিইউ ক্লক রেট অ্যাডজাস্ট করতে পারে, যার ফলে লোড টাইম উন্নত হয়।

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

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

loading-boost

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

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

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

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

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

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

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

GAME মোডের বাস্তবায়ন পরীক্ষা করার জন্য, GameManagerServiceTests.java ফাইলে testGamePowerMode_ উপসর্গযুক্ত টেস্টগুলো ব্যবহার করুন।

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

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