बैकग्राउंड
NEW STATE Mobile, Krafton का बैटल रॉयल गेम है. इसे दुनिया भर में नवंबर 2021 में लॉन्च किया गया था. लॉन्च के पहले महीने में ही, इसे 45 मिलियन से ज़्यादा बार डाउनलोड किया गया. KRAFTON, Inc., गेम डेवलपमेंट से जुड़े कई स्वतंत्र स्टूडियो का एक ग्रुप है. इस ग्रुप को दुनिया भर के गेमर्स के लिए, मनोरंजन के नए और दिलचस्प अनुभव देने के मकसद से बनाया गया है. इस कंपनी में PUBG Studios, Bluehole Studio, Striking Distance Studios, RisingWings, Dreamotion, और Unknown Worlds शामिल हैं. इनमें से हर कंपनी की अपनी खास विशेषताएं हैं. NEW STATE Mobile को Unreal Engine 4 की मदद से बनाया गया है. इस गेम में कई ऐसी सुविधाएं हैं जिनके लिए जीपीयू का ज़्यादा इस्तेमाल होता है. इससे डिवाइस गर्म हो जाता है और बैटरी की खपत भी ज़्यादा होती है. इन समस्याओं को कम करने के लिए, कई तरह के प्रयास किए गए हैं.
गेमर लंबी दूरी की लड़ाइयां खेल सकते हैं. इसलिए, गेम इंजन को दूर से सीन रेंडर करने की ज़रूरत होती है. साथ ही, बैटलग्राउंड में कई तरह की वनस्पतियां मौजूद हैं. इन वनस्पतियों के ओवरड्रॉ होने की वजह से, परफ़ॉर्मेंस पर काफ़ी असर पड़ता है. इस वजह से, टीम ने Android GPU Inspector (AGI) का इस्तेमाल किया, ताकि गेम के जीपीयू के इस्तेमाल को ऑप्टिमाइज़ किया जा सके और रुकावटों को दूर किया जा सके.
पहली इमेज: NEW STATE Mobile का स्क्रीनशॉट
उन्होंने क्या किया
NEW STATE Mobile ने एजीआई का इस्तेमाल करके, जीपीयू काउंटर की ज़्यादा से ज़्यादा जानकारी ऐक्सेस की और उसके हिसाब से जीपीयू के इस्तेमाल को ऑप्टिमाइज़ किया. उन्होंने AGI से मिले GPU गतिविधि प्रोफ़ाइलिंग डेटा की मदद से, ग़ैर-ज़रूरी रेंडर पास की पहचान की. यह पता लगाने के बाद कि कौनसे सेगमेंट, GPU के इस्तेमाल और मेमोरी बैंडविड्थ का इस्तेमाल कर रहे थे, उन्होंने GPU काउंटर और GPU गतिविधि का इस्तेमाल करके, ऑप्टिमाइज़ेशन की प्रोग्रेस की जांच जारी रखी. इससे उन्हें यह पता चल पाया कि वे सही दिशा में आगे बढ़ रहे हैं या नहीं.
दूसरी इमेज: NEW STATE Mobile का स्क्रीनशॉट
एजीआई का इस्तेमाल करके, गेम की परफ़ॉर्मेंस के बारे में उन्हें कुछ बातें पता चलीं. इनमें से कुछ बातें यहां दी गई हैं:
बेस पास ऑप्टिमाइज़ेशन: डेप्थ प्रीपास, एक ऐसी टेक्नोलॉजी है जो Early-z के इस्तेमाल को बढ़ाती है. इससे फ़्रैगमेंट शेडिंग के इस्तेमाल में कमी आई है. डेप्थ प्रीपास का इस्तेमाल खास तौर पर एलओडी0 के लिए किया जाता है, जो स्क्रीन का ज़्यादातर हिस्सा लेता है. इससे अतिरिक्त ड्रॉ कॉल से होने वाले बोझ को कम किया जा सकता है. साथ ही, 32-बिट सीन कलर फ़ॉर्मैट का इस्तेमाल करने से, पूरे रेंडर पास की परफ़ॉर्मेंस बेहतर हो सकती है. UnrealEngine4 का डिफ़ॉल्ट SceneColor फ़ॉर्मैट, FloatRGBA है, जो 64-बिट का होता है. 32-बिट फ़ॉर्मैट का इस्तेमाल करने पर, मेमोरी बैंडविड्थ को आधा किया जा सकता है.
असर का आकलन: डीपथ प्रीपास लागू करने के बाद, जीपीयू के इस्तेमाल में 7.5% की कमी आई. डेप्थ प्रीपास की वजह से, ज़्यादा फ़्रैगमेंट में अर्ली-Z हो सकता है. फ़्रेगमेंट शेडिंग के लिए ज़रूरी समय की दर 2% कम हो गई है. 32-बिट सीन कलर फ़ॉर्मैट की मदद से, GPU के इस्तेमाल में 5.3% की कमी आई. शेडर बिज़ी 2% कम हो गया और सिस्टम मेमोरी से जीपीयू की कुल रीडिंग 330 एमबी/सेकंड कम हो गई. जीपीयू की सिस्टम मेमोरी में लिखी गई जानकारी में 78 एमबी/सेकंड की कमी आई. साथ ही, टेक्सचर मेमोरी में पढ़ी गई जानकारी में भी 43 एमबी/सेकंड की कमी आई.
शैडो पास ऑप्टिमाइज़ेशन: जब मेश का इस्तेमाल शैडो कास्टर के तौर पर किया जाता है, तो ज़्यादा पॉलीगॉन वाले एलओडी का इस्तेमाल करने से क्वालिटी में कोई फ़र्क़ नहीं पड़ता. कम पॉलीगॉन वाले एलओडी का इस्तेमाल करना बेहतर होता है. इससे त्रिभुजों की संख्या कम करने में मदद मिलती है. Unreal Engine 4 में, कम पॉलीगॉन वाले एलओडी का इस्तेमाल, 'ForceLODShadow' कमांड के ज़रिए किया जा सकता है.
असर का आकलन: छाया के लिए इस्तेमाल किए गए त्रिभुजों की संख्या में करीब 1,20,000 की कमी आई. AGI में GPU काउंटर डेटा से पता चला कि GPU के इस्तेमाल में करीब 2% की कमी आई है. साथ ही, सिस्टम मेमोरी से GPU मेमोरी में पढ़ी गई जानकारी की संख्या 130 एमबी/सेकंड कम हो गई है. इसके अलावा, GPU से सिस्टम मेमोरी में लिखी गई जानकारी की संख्या करीब 23 एमबी/सेकंड कम हो गई है.
अपने-आप इंस्टेंस बनना: अपने-आप इंस्टेंस बनने की सुविधा, शैडो पास और बेस पास, दोनों के ऑप्टिमाइज़ेशन के लिए लागू की जा सकती है. इसकी मदद से, रनटाइम के दौरान एक जैसे रेंडर कमांड मर्ज किए जा सकते हैं और फिर एक साथ रेंडर किए जा सकते हैं. इससे NEWSTATE मोबाइल को परफ़ॉर्मेंस में कोई कमी आए बिना, अलग-अलग ऑब्जेक्ट पर ग्लोबल इल्यूमिनेशन लागू करने में मदद मिली. ऑटो-इंस्टेंसिंग, UnrealEngine4 की एक बुनियादी सुविधा है.
असर का आकलन: ड्रॉ कॉल में 500 की कमी आई. इससे ड्रॉ कॉल में करीब 48% की कमी आई. GPU के इस्तेमाल में करीब 3.5% की कमी आई. ये मेज़रमेंट, OpenGL का इस्तेमाल करके किए गए थे.
तीसरी इमेज: जीपीयू के इस्तेमाल में कमी दिखाने वाला इंटरनल डेटा
नतीजे
एजीआई का इस्तेमाल करके, NEW STATE Mobile ने अपने जीपीयू के इस्तेमाल में 22% की कमी की. डेप्थ प्रीपास और शैडो पास ऑप्टिमाइज़ेशन की वजह से, जीपीयू के इस्तेमाल में 19% और 3% की कमी आई. ड्रॉ कॉल और सिस्टम मेमोरी से जीपीयू की पढ़ी और लिखी गई कुल मेमोरी में भी काफ़ी कमी आई.
शुरू करें
Android GPU Inspector (AGI) की मदद से, परफ़ॉर्मेंस से जुड़ी समस्याओं और ऑप्टिमाइज़ करने के लिए ज़रूरी चीज़ों की पहचान करके, Android डिवाइसों पर अपने गेम के असर का विश्लेषण करने का तरीका जानें.