गेम की परफ़ॉर्मेंस को बेहतर बनाना

Android 14 से, Android Dynamic Performance Framework (ADPF) में GAME नाम का एक नया पावर मोड जोड़ा गया है. इसकी मदद से, गेम खेलते समय फ़ोन की परफ़ॉर्मेंस को अपनी पसंद के मुताबिक बनाया जा सकता है. GAME मोड, Power HAL को यह बताता है कि कोई गेम ऐप्लिकेशन फ़ोरग्राउंड में है. इस मोड की मदद से, Power HAL को गेम खेलते समय पावर मैनेजमेंट की रणनीतियां अपनाने में मदद मिलती है. इससे उपयोगकर्ता को बेहतर और स्थिर परफ़ॉर्मेंस मिलती है.

Android 13 में, ADPF में GAME_LOADING नाम का एक नया पावर मोड जोड़ा गया है. इसकी मदद से, गेम लोड होने में लगने वाले समय को कम किया जा सकता है. GAME_LOADING मोड से यह पता चलता है कि कोई गेम ऐप्लिकेशन लोड हो रहा है या नहीं. इससे Power HAL को लोड होने की स्पीड बढ़ाने में मदद मिलती है. इस मोड की मदद से, Power HAL को परफ़ॉर्मेंस बढ़ाने वाले मेज़रमेंट उपलब्ध कराने में मदद मिलती है. इससे गेम लोड होने में लगने वाला समय कम हो सकता है.

इस पेज पर, यह बताया गया है कि गेम ऐप्लिकेशन, गेम की स्थिति को Power HAL को कैसे पास करता है. साथ ही, यह भी बताया गया है कि अपने डिवाइसों में Power HAL को कॉन्फ़िगर कैसे करें, ताकि इसका फ़ायदा लिया जा सके. इसके अलावा, इसमें Power HAL के लागू होने की जांच करने का तरीका भी बताया गया है.

पावर मोड का पता लगाना और सूचनाएं पाना

इस सेक्शन में, यह बताया गया है कि Power Manager, GAME और GAME_LOADING मोड को कैसे मैनेज करता है.

GAME पावर मोड

Android 14 में जोड़ा गया नया पावर मोड GAME, Power Manager Service को यह बताता है कि उपयोगकर्ता कोई गेम खेल रहा है. जब Power HAL को GAME मोड के बारे में सूचना मिलती है, तो वह गेम खेलते समय परफ़ॉर्मेंस को बेहतर बनाने, तापमान कम करने, और बैटरी लाइफ़ बढ़ाने के लिए पावर को अडजस्ट कर सकता है.

यहां दी गई इमेज में, Power HAL को GAME पावर मोड के बारे में सूचना देने के लिए, जानकारी के फ़्लो के बारे में बताया गया है:

game-mode

पहली इमेज. यह इमेज, गेम खेलने की जानकारी के फ़्लो को दिखाती है.

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

GAME_LOADING पावर मोड

लोड होने की स्पीड बढ़ाने वाला मोड, यह पता लगाकर काम करता है कि कोई गेम ऐप्लिकेशन लोड हो रहा है या नहीं. इसके बाद, यह Power HAL को सूचना भेजता है. Android 13 में, डेवलपर-फ़ेसिंग एपीआई में isLoading नाम की एक नई गेम स्थिति जोड़ी गई है. यह गेम स्थिति, Power Manager Service में मौजूद नए GAME_LOADING पावर मोड का इस्तेमाल करके, Power HAL को टॉप लेवल गेम स्थिति के बारे में सूचना देती है. जब Power HAL को गेम लोड होने की स्थिति के बारे में सूचना मिलती है, तो वह प्लैटफ़ॉर्म की परफ़ॉर्मेंस सेटिंग और सीपीयू क्लॉक रेट को अडजस्ट कर सकता है. इससे लोड होने में लगने वाला समय कम हो जाता है.

गेम लोड होने की जानकारी देने के लिए, गेम ऐप्लिकेशन, Game Dashboard का इस्तेमाल करके, Game Manager में isLoading स्थिति सेट करता है. Game Manager, इस स्थिति को Game Manager Service को पास करता है. इसके बाद, Game Manager Service, Power Manager Service को शुरू करने के लिए, नए GAME_LOADING पावर मोड के साथ setPowerMode का इस्तेमाल करती है. GAME_LOADING पावर मोड से Power HAL को यह पता चलता है कि गेम लोड हो रहा है. इससे Power HAL को लोड होने की स्पीड बढ़ाने में मदद मिलती है.

यहां दी गई इमेज में, लोड होने की स्थिति की जानकारी देने के लिए, ऐप्लिकेशन से Power HAL तक जानकारी के फ़्लो के बारे में बताया गया है:

loading-boost

दूसरी इमेज. यह इमेज, गेम लोड होने की स्थिति की जानकारी के फ़्लो को दिखाती है.

Game Dashboard की मदद से, उपयोगकर्ता परफ़ॉर्मेंस सेटिंग का इस्तेमाल करके, लोड होने की स्पीड बढ़ाने वाली सुविधा को चालू या बंद कर सकते हैं. परफ़ॉर्मेंस सेटिंग हमेशा डिफ़ॉल्ट रूप से बंद होती है.

GAME और GAME_LOADING मोड का इस्तेमाल करके, Power HAL को अपनी पसंद के मुताबिक बनाना

GAME और GAME_LOADING मोड का फ़ायदा लेने के लिए, ओईएम को Power HAL के अपने वर्शन को पसंद के मुताबिक बनाना होगा. पावर मैनेजमेंट और परफ़ॉर्मेंस बढ़ाने की सुविधा, हार्डवेयर के हिसाब से अलग-अलग होती है. इसलिए, Google Pixel डिवाइस के लिए रेफ़रंस वर्शन रिलीज़ होने तक, GAME या GAME_LOADING मोड के लिए कोई रेफ़रंस वर्शन उपलब्ध नहीं कराया जाता.

GAME और GAME_LOADING मोड में परफ़ॉर्मेंस को बेहतर बनाने के लिए, ओईएम इनमें से कोई भी तरीका अपना सकते हैं:

  • फ़्रेम रेट को स्थिर करना
  • सीपीयू क्लॉक स्पीड बढ़ाना
  • तापमान थ्रॉटलिंग को अस्थायी तौर पर कम करना
  • फ़ोरग्राउंड में मौजूद गेम ऐप्लिकेशन को सीपीयू की ज़्यादा प्राथमिकता देना
  • सामान्य, नॉन-गेम ऐप्लिकेशन के लिए सीपीयू बूस्ट को कम करना
  • थर्मल से जुड़ी पावर डिस्ट्रिब्यूशन रणनीति को ऑप्टिमाइज़ करना

GAME मोड के लागू होने की जांच करना

GAME मोड के लागू होने की जांच करने के लिए, GameManagerServiceTests.java में testGamePowerMode_ से शुरू होने वाले टेस्ट का इस्तेमाल करें.

GAME_LOADING मोड के लागू होने की जांच करना

GAME_LOADING मोड के लागू होने की जांच करने के लिए, android.gamemanager.cts.GameManagerTest#testSetGameContext का इस्तेमाल करें. यह टेस्ट, इस बात की पुष्टि करता है कि परफ़ॉर्मेंस मोड में, isLoading कॉन्टेक्स्ट के साथ GameManager::setGameContext() का इस्तेमाल करने पर, Power HAL में गेम लोड होने का मोड शुरू होता है या नहीं.