बैटरी की खपत को ऑप्टिमाइज़ करना

Android गेम मुख्य रूप से बैटरी से चलने वाले डिवाइसों पर खेले जाते हैं, जैसे कि फ़ोन या टैबलेट. अपने गेम को ऑप्टिमाइज़ करें, ताकि उपयोगकर्ता आपका गेम लंबे समय तक खेल सकें. साथ ही, जब उनका डिवाइस पूरी तरह चार्ज न हो, तब भी वे गेम सेशन शुरू कर सकें.

डिसप्ले की सबसे सही रीफ़्रेश दर का इस्तेमाल करना

डिसप्ले की रीफ़्रेश दर वह स्पीड होती है जिस पर किसी डिवाइस का डिसप्ले पैनल, नई जानकारी दिखाने के लिए बदल सकता है. आम तौर पर, हैंडहेल्ड डिवाइसों में 60 हर्ट्ज़ की रीफ़्रेश रेट का इस्तेमाल किया जाता है. इससे डिसप्ले कॉन्टेंट, हर सेकंड में 60 बार अपडेट होता है. आधुनिक डिवाइसों में अक्सर ज़्यादा रीफ़्रेश रेट वाले डिसप्ले होते हैं, जो 90 हर्ट्ज़ या 120 हर्ट्ज़ पर अपडेट हो सकते हैं. रीफ़्रेश रेट ज़्यादा होने पर, स्क्रीन पर की जाने वाली कार्रवाइयों जैसे कि स्क्रोल करने का अनुभव बेहतर होता है. हालांकि, इससे डिसप्ले पैनल की बिजली की खपत बढ़ जाती है.

आम तौर पर, गेम का टारगेट फ़्रेम रेट 30 या 60 फ़्रेम प्रति सेकंड होता है. अगर डिसप्ले का रीफ़्रेश रेट, गेम के टारगेट फ़्रेम रेट से ज़्यादा है, तो ज़्यादा रीफ़्रेश रेट से कोई फ़ायदा नहीं होता. इससे सिर्फ़ बिजली की खपत बढ़ती है. ज़्यादा रीफ़्रेश रेट वाले डिवाइसों पर, डिसप्ले की रीफ़्रेश दर को अडजस्ट करें, ताकि वह आपके गेम के टारगेट फ़्रेम रेट से ज़्यादा से ज़्यादा मेल खा सके.

Swappy फ़्रेम पेसिंग लाइब्रेरी को इंटिग्रेट करना या चालू करना

Android Game Development Kit (AGDK) में, फ़्रेम पेसिंग लाइब्रेरी शामिल होती है. इसे Swappy कहा जाता है. Swappy, डिवाइस के डिसप्ले के रीफ़्रेश रेट को ऑप्टिमाइज़ करता है, ताकि आपके गेम के फ़्रेम रेट से वह ज़्यादा से ज़्यादा मेल खा सके. अगर कस्टम गेम इंजन का इस्तेमाल किया जा रहा है, तो लाइब्रेरी को अपने इंजन में इंटिग्रेट करने का तरीका जानने के लिए, फ़्रेम पेसिंग लाइब्रेरी की गाइड देखें.

Swappy, Unreal engine (मोबाइल डिवाइसों के लिए फ़्रेम पेसिंग) और Unity engine (PlayerSettings.Android.optimizedFramePacing) में पहले से ही इंटिग्रेट है. साथ ही, अगर आपके गेम प्रोजेक्ट में यह सुविधा चालू है, तो यह डिसप्ले के रीफ़्रेश रेट को ऑप्टिमाइज़ करता है.

Android फ़्रेम रेट एपीआई को कॉल करना

फ़्रेम पेसिंग लाइब्रेरी को इंटिग्रेट करने के विकल्प के तौर पर, डिसप्ले के रीफ़्रेश रेट में सीधे बदलाव करने के लिए, Android फ़्रेम रेट एपीआई का इस्तेमाल करें.

ग्राफ़िक के लिए Vulkan API का इस्तेमाल करना

Android पर दो ग्राफ़िक्स एपीआई काम करते हैं: पुराना OpenGL ES एपीआई और नया Vulkan एपीआई. Vulkan, अब Android पर मुख्य ग्राफ़िक एपीआई है और यह OpenGL ES से ज़्यादा बेहतर है. Vulkan के फ़ायदों और इसका इस्तेमाल करने के तरीके के बारे में ज़्यादा जानने के लिए, ग्राफ़िक्स के लिए Vulkan का इस्तेमाल करना लेख पढ़ें.

डिवाइस के तापमान की स्थिति के हिसाब से काम करना

डिवाइस के सीपीयू और जीपीयू का ज़्यादा इस्तेमाल करने से, डिवाइस गर्म हो जाता है. डिवाइस गर्म होने पर, बैटरी की लाइफ़ कम हो जाती है. अगर कोई डिवाइस बहुत ज़्यादा गर्म हो जाता है, तो वह सीपीयू और जीपीयू की स्पीड को कम कर देता है. इससे, डिवाइस की बैटरी कम खर्च होती है और वह ठंडा हो जाता है. इस व्यवहार को थर्मल थ्रॉटलिंग कहा जाता है. इससे आपके गेम की परफ़ॉर्मेंस और बैटरी खर्च होने की दर पर असर पड़ता है. Android Thermal API का इस्तेमाल करके, डिवाइस के तापमान की स्थिति पर नज़र रखें. इससे, गेम के वर्कलोड में बदलाव करके, डिवाइस के तापमान को कम किया जा सकता है.

डिवाइस के गेम मोड के बारे में क्वेरी करना

गेम मोड की मदद से, उपयोगकर्ता यह तय कर सकता है कि उसे बैटरी लाइफ़ के लिए परफ़ॉर्मेंस कम करनी है या परफ़ॉर्मेंस के लिए बैटरी लाइफ़ कम करनी है. इसके अलावा, वह कोई नया डिफ़ॉल्ट मोड भी चुन सकता है. अगर आपका गेम, परफ़ॉर्मेंस के अलग-अलग कॉन्फ़िगरेशन के साथ काम करता है, तो इस प्राथमिकता की जांच करने के लिए Game Mode API का इस्तेमाल करें. साथ ही, अपनी गेम सेटिंग में उसी हिसाब से बदलाव करें.

अन्य संसाधन

Android Studio का पावर प्रोफ़ाइलर

Unity की पावर दक्षता का डेमो सैंपल (GitHub)