Unreal Engine में Android डाइनैमिक परफ़ॉर्मेंस फ़्रेमवर्क (ADPF) का इस्तेमाल शुरू करना

Android डाइनैमिक परफ़ॉर्मेंस फ़्रेमवर्क (ADPF), Google का एक बेहतरीन टूल है. यह उन डेवलपर के लिए है जो अपने ऐप्लिकेशन की परफ़ॉर्मेंस को ऑप्टिमाइज़ करना चाहते हैं. ADPF, अपने थर्मल एपीआई की मदद से डिवाइस के थर्मल स्टेटस के बारे में रीयल-टाइम जानकारी देता है. इसका इस्तेमाल, ऐप्लिकेशन में ग्राफ़िक सेटिंग में बदलाव करने के लिए किया जाता है.

Arm ने रिसर्च के मकसद से, Unreal Engine और ADPF का इस्तेमाल करके एक डेमो डेवलप किया है. इससे यह पता चलता है कि गेम की परफ़ॉर्मेंस को ऑप्टिमाइज़ करने के लिए, ADPF का इस्तेमाल कैसे किया जाता है.

ADPF, डिवाइस के तापमान की स्थिति पर नज़र रखता है. इसके हिसाब से, गेम इंजन में ग्राफ़िक की क्वालिटी अडजस्ट की जाती है.

डेवलपर को ध्यान में रखते हुए, इसका मकसद यह है कि उपयोगकर्ता गेमप्ले के अनुभव पर असर डाले बिना और डिवाइस की ज़्यादा बैटरी खर्च किए बिना, गेम को ज़्यादा समय तक खेल पाएं.

शुरू करने से पहले

डेमो के बारे में ज़्यादा जानने से पहले, ADPF के बारे में Google का आधिकारिक दस्तावेज़ हाइलाइट करना ज़रूरी है. यह दस्तावेज़ एक अहम संसाधन है. इसमें ADPF के इस्तेमाल के बारे में अहम जानकारी और दिशा-निर्देश दिए गए हैं.

हालांकि, जिन लोगों को अपनी पसंद के मुताबिक लर्निंग चाहिए उनके लिए, ADPF के सैंपल रिपॉज़िटरी में, Android ऐप्लिकेशन में ADPF को लागू करने के व्यावहारिक उदाहरण मौजूद हैं.

ग्राफ़िक सेटिंग में बदलाव करना

Unreal Engine के संदर्भ में, हम परफ़ॉर्मेंस को बनाए रखने के लिए, ग्राफ़िक सेटिंग को डाइनैमिक तौर पर अडजस्ट कर सकते हैं.

हमने ADPF में थर्मल स्टेटस मॉनिटर और थर्मल हेडरूम एपीआई का इस्तेमाल किया है, ताकि थर्मल थ्रॉटलिंग को मॉनिटर किया जा सके. इसके बाद, डिवाइस के थ्रॉटल होने पर, क्वालिटी सेटिंग में बदलाव किया जा सकता है. जैसे, छाया की क्वालिटी, परछाई की क्वालिटी, और टेक्स्चर की क्वालिटी.

Unreal Engine में ग्राफ़िक क्वालिटी की इन सेटिंग का इस्तेमाल, अलग-अलग सेटिंग में बदलाव करने के लिए किया जाता है:

  • ViewDistanceQuality
  • ShadowQuality
  • GlobalIlluminationQuality
  • ReflectionQuality
  • AntiAliasingQuality
  • TextureQuality
  • VisualEffectQuality
  • PostProcessingQuality
  • FoliageQuality
  • ShadingQuality
  • OverallScalabilityLevel

असल दुनिया में टेस्टिंग

Arm, अपने डेमो गेम बनाता है. इनका इस्तेमाल, मोबाइल ग्राफ़िक और गेम टेक्नोलॉजी पर रिसर्च करने के लिए किया जाता है. इस साल, हमने इनमें से एक, SteelArms के डेमो पर ADPF की जांच की है.

SteelArms में ग्राफ़िक की तीव्रता के अलग-अलग लेवल होते हैं और सीपीयू पर काफ़ी ज़्यादा वर्कलोड होता है. इसे आधुनिक मोबाइल गेम की तरह बनाया गया है, ताकि हम आज के मोबाइल फ़ोन पर गेम के व्यवहार का मॉडल बना सकें. इससे हमें यह भी पता चलता है कि Arm-based मोबाइल डिवाइसों पर, गेम में अलग-अलग टेक्नोलॉजी कैसे काम कर सकती हैं.

नतीजे

पहली इमेज: ADPF के साथ और बिना ADPF के, SteelArms की फ़ुल स्क्रीन की तुलना.

पिछली इमेज में, ग्राफ़िक्स सेटिंग में बदलाव करने के लिए ADPF चालू होने पर, सबसे अच्छी (सिनेमैटिक) क्वालिटी और सबसे खराब (कम) क्वालिटी के बीच का अंतर दिखाया गया है. यह बदलाव धीरे-धीरे होता है और गेमप्ले के दौरान, उपयोगकर्ताओं को इसका पता नहीं चलता.

दूसरी इमेज: ADPF इंटिग्रेशन वाला गेम: स्प्लिट स्क्रीन.

स्प्लिट स्क्रीन व्यू, जिसमें बाईं ओर (नीले रोबोट) सबसे बेहतर ग्राफ़िक्स सेटिंग और दाईं ओर (लाल रोबोट) सबसे खराब ग्राफ़िक्स सेटिंग दिखाई गई है.

तीसरी इमेज: ADPF इंटिग्रेशन वाला गेम: जानकारी की अगल-बगल तुलना.
चौथा इलस्ट्रेशन: ADPF इंटिग्रेशन वाला गेम: बगल में.

पिछली इमेज 3 और 4 में, रोबोट का एक ही व्यू एक साथ देखा जा सकता है. ध्यान से देखने पर, ADPF का इस्तेमाल करके अडजस्ट की गई ग्राफ़िक सेटिंग दिखती है. क्या आपको रिंग का फ़्लोर, रोबोट का कंधा, रिंग की रस्सियां, और भीड़ दिख रही है? ऐसा लगता है कि सभी इमेज की क्वालिटी थोड़ी कम है. ऐसा, ADPF का इस्तेमाल करके किया गया है.

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

जैसा कि पहले बताया गया है, हम सबसे अच्छी क्वालिटी वाली इमेज की तुलना सबसे खराब क्वालिटी वाली इमेज से कर रहे हैं. इसलिए, ध्यान से देखने पर अब भी अंतर दिख सकता है. हालांकि, गेमप्ले के दौरान डाउनस्केल करने पर, उपयोगकर्ता को यह पता नहीं चलता है. साथ ही, गेमप्ले का अनुभव भी पहले जैसा ही रहता है.

नतीजे

पांचवां इलस्ट्रेशन: ADPF चालू/बंद होने पर, फ़्रेम रेट में ~57% की बढ़ोतरी के साथ-साथ डिवाइस के तापमान, थर्मल स्टेटस, और हेडरूम की तुलना

इससे डिवाइस बहुत ज़्यादा गर्म नहीं होता और उसका थर्मल हेडरूम 1.0 के अंदर रहता है.

ऊर्जा की खपत

छठा चित्र: ADPF चालू/बंद होने पर, बिजली की खपत की तुलना

ADPF के नतीजे

ADPF के बंद और चालू होने के नतीजों को पहले दिखाए गए आंकड़ों में देखा जा सकता है. इससे पता चलता है कि गेम के फ़्रेम रेट और कोर की बिजली की खपत में अंतर है. ADPF चालू होने पर, फ़्रेम रेट में 57% तक का सुधार दिखता है. ADPF बंद होने पर, जीपीयू का इस्तेमाल ज़्यादा होता है. इसके बाद, बड़े सीपीयू कोर में पावर स्पाइक होते हैं, जो जीपीयू के वर्कलोड के हिसाब से होते हैं. ऐसा इसलिए होता है, क्योंकि यह प्रोसेसिंग की उस मात्रा के साथ तालमेल बैठा रहा है जिसे करने के लिए कहा जा रहा है. इसकी तुलना में, ADPF चालू होने पर, सीपीयू का बड़ा कोर, ट्रिलिंग का जवाब देता है और डिवाइस के सभी कोर की कुल बिजली की खपत को कम करता है.

नतीजा

ADPF की मदद से, गेम की बिजली खपत को काफ़ी कम किया जा सकता है. इसका मतलब है कि गेमर्स ज़्यादा देर तक गेम खेल पाएंगे. साथ ही, डिवाइस की बैटरी लाइफ़ बेहतर होगी और उसका तापमान कम रहेगा. डेवलपर के हिसाब से, ADPF, गेम का सही फ़्रेम रेट बनाए रखता है. साथ ही, उपयोगकर्ताओं को क्वालिटी सेटिंग को कम करने की सुविधा भी दी जाती है, ताकि उन्हें गेमप्ले का बेहतर अनुभव मिल सके.

नए और पुराने डिवाइसों को ADPF का इस्तेमाल करने से फ़ायदा मिल सकता है. इससे, गेम को पुरानी पीढ़ी के डिवाइसों पर बेहतर तरीके से चलाया जा सकता है. इसके लिए, गेम को ऑप्टिमाइज़ करने की ज़रूरत नहीं होती.