खेलों के लिए प्रदर्शन को बढ़ावा

एंड्रॉइड 14 से शुरू होकर एंड्रॉइड डायनेमिक परफॉर्मेंस फ्रेमवर्क (एडीपीएफ) में GAME नाम का एक नया पावर मोड गेम के उपयोग के दौरान फोन के प्रदर्शन को अनुकूलित करने में सक्षम बनाता है। GAME पावर एचएएल को इंगित करता है कि एक गेम एप्लिकेशन अग्रभूमि में है। यह संकेत पावर एचएएल को गेम खेले जाने पर पावर प्रबंधन रणनीतियों को अपनाने की अनुमति देता है, ताकि उपयोगकर्ता स्थिर और बेहतर प्रदर्शन का अनुभव कर सके।

गेम के लोडिंग समय में सुधार प्रदान करने के लिए, Android 13 ADPF में GAME_LOADING नामक एक नया पावर मोड पेश करता है। GAME_LOADING इंगित करता है कि कोई गेम ऐप लोडिंग स्थिति में है ताकि पावर एचएएल लोडिंग को बढ़ावा दे सके। यह संकेत पावर एचएएल को प्रदर्शन बढ़ाने वाले उपाय प्रदान करने की अनुमति देता है जो गेम लोडिंग समय को तेज कर सकता है।

यह पृष्ठ वर्णन करता है कि गेम ऐप गेम स्थिति को पावर एचएएल तक कैसे पहुंचाता है, यह बताता है कि आपके डिवाइस में इसका लाभ उठाने के लिए पावर एचएएल को कैसे कॉन्फ़िगर करें, साथ ही अपने पावर एचएएल कार्यान्वयन का परीक्षण कैसे करें।

पावर मोड का पता लगाना और अधिसूचना

यह अनुभाग बताता है कि पावर मैनेजर GAME और GAME_LOADING मोड को कैसे संभालता है।

GAME पावर मोड

एंड्रॉइड 14 में नया पावर मोड GAME पावर मैनेजर सेवा को इंगित करता है कि उपयोगकर्ता गेम खेल रहा है। एक बार जब पावर एचएएल को GAME मोड के बारे में सूचित कर दिया जाता है, तो यह गेम खेलने के दौरान प्रदर्शन को बढ़ाने, तापमान कम करने और बैटरी जीवन को बढ़ाने के लिए पावर को समायोजित कर सकता है।

निम्नलिखित आंकड़ा GAME पावर मोड को इंगित करने के लिए पावर एचएएल को सूचना के प्रवाह की व्याख्या करता है:

game-mode

चित्र 1. सूचना प्रवाह यह इंगित करने के लिए कि कोई गेम खेला जा रहा है।

GAME पावर मोड हमेशा AndroidManifest.xml में GAME की appCategory वाले एप्लिकेशन के लिए सेट किया जाता है।

GAME_LOADING पावर मोड

लोडिंग बूस्ट मोड यह पता लगाकर काम करता है कि गेम ऐप कब लोडिंग स्थिति में है और पावर एचएएल को सूचित करता है। एंड्रॉइड 13 डेवलपर-फेसिंग एपीआई में isLoading नामक एक नया गेम स्टेट पेश करता है। यह गेम स्थिति पावर एचएएल को शीर्ष स्तरीय गेम स्थिति के बारे में सूचित करने के लिए पावर मैनेजर सेवा में नए GAME_LOADING पावर मोड का उपयोग करती है। एक बार पावर एचएएल को गेम लोडिंग स्थिति के बारे में सूचित कर दिया जाता है, तो यह प्लेटफ़ॉर्म की प्रदर्शन सेटिंग्स और सीपीयू क्लॉक दर को समायोजित कर सकता है, जिसके परिणामस्वरूप लोड समय में सुधार होता है।

यह इंगित करने के लिए कि गेम लोड हो रहा है, गेम ऐप गेम मैनेजर में एक isLoading स्थिति सेट करने के लिए गेम डैशबोर्ड का उपयोग करता है। गेम मैनेजर इस स्थिति को गेम मैनेजर सेवा को भेजता है, जो पावर मैनेजर सेवा को शुरू करने के लिए नए GAME_LOADING पावर मोड के साथ setPowerMode उपयोग करता है। GAME_LOADING पावर मोड पावर HAL को इंगित करता है कि गेम लोडिंग स्थिति में है ताकि पावर HAL लोडिंग को बढ़ावा दे सके।

निम्नलिखित आंकड़ा लोडिंग स्थिति को इंगित करने के लिए ऐप से पावर एचएएल तक जानकारी के प्रवाह की व्याख्या करता है:

loading-boost

चित्र 2. सूचना प्रवाह यह दर्शाता है कि गेम लोडिंग स्थिति में है।

गेम डैशबोर्ड उपयोगकर्ताओं को प्रदर्शन सेटिंग के साथ लोडिंग बूस्ट सुविधा को चालू या बंद करने की अनुमति देता है। प्रदर्शन सेटिंग हमेशा डिफ़ॉल्ट रूप से बंद रहती है।

GAME और GAME_LOADING उपयोग करके पावर HAL को अनुकूलित करें

GAME और GAME_LOADING मोड का लाभ उठाने के लिए, OEM को पावर HAL के अपने कार्यान्वयन को अनुकूलित करना होगा। चूंकि पावर प्रबंधन और प्रदर्शन को बढ़ावा देना हार्डवेयर विशिष्ट है, Google Pixel डिवाइस के लिए संदर्भ कार्यान्वयन जारी होने तक GAME या GAME_LOADING मोड के लिए कोई संदर्भ कार्यान्वयन उपलब्ध नहीं कराया जाता है।

GAME और GAME_LOADING मोड में प्रदर्शन बढ़ाने के लिए, OEM निम्नलिखित उपायों के संयोजन को लागू करना चुन सकते हैं:

  • फ़्रेम दर को स्थिर करें
  • सीपीयू क्लॉक स्पीड बढ़ाएँ
  • तापमान थ्रॉटलिंग को अस्थायी रूप से कम करें
  • अग्रभूमि गेम एप्लिकेशन को उच्च CPU प्राथमिकता निर्दिष्ट करें
  • नियमित, गैर-गेम अनुप्रयोगों के लिए सीपीयू बूस्ट को कम करें
  • थर्मल-संबंधित बिजली वितरण रणनीति का अनुकूलन करें

गेम मोड कार्यान्वयन का परीक्षण करें

GAME मोड के कार्यान्वयन का परीक्षण करने के लिए, GameManagerServiceTests.java में testGamePowerMode_ के साथ पहले से जुड़े परीक्षणों का उपयोग करें।

GAME_LOADING कार्यान्वयन का परीक्षण करें

GAME_LOADING मोड के कार्यान्वयन का परीक्षण करने के लिए, android.gamemanager.cts.GameManagerTest#testSetGameContext का उपयोग करें। यह परीक्षण सत्यापित करता है कि क्या GameManager::setGameContext() isLoading संदर्भ के साथ प्रदर्शन मोड में पावर HAL पर गेम लोडिंग मोड को आमंत्रित करता है।