एंड्रॉइड के लिए ऐप डेवलपमेंट के दौरान फ़्रेम प्रति सेकंड (एफपीएस) को मापने के लिए कोई तरीका है (शायद कुछ ऐप्स, हैक, libs)?ऐप विकास के दौरान एंड्रॉइड पर एफपीएस को मापने के लिए कैसे करें
उत्तर
ध्यान दें कि प्रदर्शन डीबगर संलग्न के साथ भयानक होगा।
अपने एंड्रॉइड गेम से, फ्रेम समय android.os.SystemClock
के साथ मापा जा सकता है। यही है, आप प्रति फ्रेम एक बार SystemClock.elapsedRealtime()
पर कॉल करें और पिछले फ्रेम से मूल्य घटाएं। चूंकि elapsedRealtime()
मिलीसेकंड में मापा जाता है, इसलिए फ़्रेमेट की गणना 1000.0/frametime
जितनी सरल है।
यदि आप API स्तर 16 या नए (जेली बीन) को लक्षित करते हैं तो आप Choreographer#postFrameCallback
का उपयोग कर अपने कोड को एक सतत फ्रेम में पोस्ट कर सकते हैं।
यह भी ध्यान रखें कि फ़्रेमटाइम आमतौर पर फ़्रेमेट की तुलना में प्रदर्शन का बेहतर गेज है। 1000fps और 1200fps के बीच का अंतर उतना ही समय है जितना कि 60fps और 61fps (लगभग, शायद उससे कम)
ओह और यदि आप इंटरपोलेशन/एनीमेशन करने की कोशिश कर रहे हैं, तो आप चिकनी समय-आधारित गति प्राप्त करने के लिए एक ही फ्रेमटाइम का उपयोग कर सकते हैं। –
1000-1200 के बीच का अंतर लगभग 17 सेकंड है, 60 और 61 एफपीएस के बीच का अंतर लगभग .017 सेकेंड है। तो यह निश्चित रूप से एक बड़ा अंतर है। – Sietse
आपकी विलुप्त समय गणना मिलीसेकंड में है जैसा आपने कहा था। तो, फ्रेमरेट गणना 1000.0/फ्रेमटाइम नहीं होनी चाहिए? मुझे लगता है कि यह स्पष्ट नहीं है कि आपका जवाब कौन सा यूनिट निर्दिष्ट कर रहा है, लेकिन चूंकि ओपी प्रति सेकेंड फ़्रेम का उल्लेख कर रहा है, मुझे लगता है कि आपको 1000.0 –
प्लेस्टोर में apps हैं जो एक प्ले सत्र के एफपीएस को माप सकते हैं। कृपया गेमबेंच देखें। यह किसी भी खेल के प्रदर्शन को मापने के दौरान माप सकता है और आप स्क्रीन पर जो कुछ भी प्रस्तुत किया जा रहा था, उसके लिए आप एफपीएस बूंदों से संबंधित हो सकते हैं।
आप TinyDancer लाइब्रेरी का उपयोग कर सकते हैं।
आप की तरह कोड जोड़ें:
public class DebugApplication extends Application {
@Override public void onCreate() {
// default config
TinyDancer.create().show(this);
//or customazed config
TinyDancer.create()
.redFlagPercentage(.1f) // set red indicator for 10%
.startingGravity(Gravity.TOP)
.startingXPosition(200)
.startingYPosition(600)
.show(this);
}
}
और आप अपने स्क्रीन के शीर्ष पर वर्तमान एफपीएस के बारे में जानकारी के साथ इंटरैक्टिव दृश्य दिखाई देगा।
यह उपयोग करना वास्तव में आसान है, मौजूदा कोड में लागू करने के लिए तेज़ और एक आकर्षण की तरह काम करता है। अच्छा था! – SMalpica
यह सबसे अच्छा समाधान है। बहुत अच्छे परिणाम! –
मैं एक Android आवेदन के एफपीएस विश्लेषण के लिए GameBench का इस्तेमाल किया है (यह एक खेल नहीं है, मैं जब मेरे app की एक एनीमेशन चलना शुरू हो जाता एफपीएस जाँच करना चाहता था)। गेमबेंच मुख्य फ्रेम दर (एफपीएस) मीट्रिक कैप्चर करता है, जो यूएक्स की तरलता का सबसे अच्छा उद्देश्य सूचक है।
मेरी आवश्यकता थी कि मेरे एंड्रॉइड एप्लिकेशन की एनीमेशन शुरू होने पर एफपीएस को 30 एफपीएस होने की पुष्टि करें।
मैं GameBench उपकरण द्वारा प्रदान की ग्राफ़ रिपोर्ट के साथ निम्नलिखित को सत्यापित किया है,
- जब एनीमेशन शुरू होता है, एफपीएस से 0 एफपीएस 30fps करने के लिए ले जाया गया।
- जब एनीमेशन समाप्त होता है एफपीएस 0 एफपीएस
स्क्रीनशॉट देखें करने के लिए 30FPS से ले जाया गया।
इस उपकरण का उपयोग करने के लिए, आप एक Android आवेदन और एक डेस्कटॉप लांचर स्थापित किया है।
- अपने एंड्रॉइड डिवाइस में गेमबेंच एप्लिकेशन इंस्टॉल करें।
- ईमेल पते का उपयोग करके गेमबेन्च में पंजीकरण करें और डेस्कटॉप एप्लिकेशन इंस्टॉल करें।
- गेमबेंच डेस्कटॉप लॉन्चर डाउनलोड और इंस्टॉल करें।
- डिवाइस को डेस्कटॉप से कनेक्ट करें। आप अपने डिवाइस पर एक पॉप-अप प्राप्त कर सकते हैं जो आपको यूएसबी डिबगिंग
- गेमबेंच एंड्रॉइड ऐप में, आप विश्लेषण के लिए ऐप (जिसे मैंने टैबलेट पर पहले से इंस्टॉल किया है) का चयन कर सकते हैं।
- फिर आप फ्रेम प्रति सेकेंड रिकॉर्ड कर सकते हैं और रिपोर्ट जेनरेट कर सकते हैं (यह वेब डैशबोर्ड में भी उपलब्ध है, एफपीएस, स्क्रीनशॉट, प्रदर्शन, बैटरी इत्यादि)।
संदर्भ:
- https://play.google.com/store/apps/details?id=com.gamebench.metricscollector
- https://www.gamebench.net/
- https://docs.gamebench.net/web-dashboard/getting-started
एक तरफ ध्यान दें के रूप में,
मैं FPS Meter app भी इस्तेमाल किया है, लेकिन यह मैं लगता है मेरे मामले में गलत है। एंड्रॉइड एप्लिकेशन में मेरी एनीमेशन शुरू होने पर 2 9 एफपीएस से 31 एफपीएस तक पहुंच गया। अपेक्षित एफपीएस 30 एफपीएस है।
https://play.google.com/store/apps/details?id=com.ftpie.fpsmeter&hl=en
- 1. एंड्रॉइड पर वीआरएएम खपत को मापने के लिए कैसे?
- 2. एंड्रॉइड पर जीपीएस सिग्नल शक्ति को मापने के लिए कैसे?
- 3. खेल विकास: एफपीएस कैसे सीमित करें?
- 4. विकास के दौरान एक आईपैड ऐप वितरित?
- 5. सॉफ्टवेयर विकास प्रदर्शन को मापने के लिए कैसे?
- 6. जावा विकास में प्रदर्शन को मापने के लिए
- 7. जावा थ्रेड निष्पादन समय को मापने के लिए कैसे करें?
- 8. जावा एप्लिकेशन के प्रदर्शन को मापने के लिए कैसे करें?
- 9. एंड्रॉइड ऐप विकास के उपयोग के लिए SQLite को मौजूदा एमएस एक्सेस को पोर्ट करने के लिए कैसे करें?
- 10. एआरएम प्रदर्शन को मापने के लिए कैसे?
- 11. रैक या सिनात्रा ऐप के मेमोरी उपयोग को मापने के लिए कैसे करें?
- 12. लॉक विवाद को मापने के लिए कैसे?
- 13. रेल 3.2.x: विकास के दौरान ऐप/कक्षा डीआईआर को फिर से लोड कैसे करें?
- 14. बाजार के लिए एंड्रॉइड ऐप पर हस्ताक्षर कैसे करें?
- 15. विंडोज़ पर मेमोरी बैंडविड्थ उपयोग को मापने के लिए कैसे?
- 16. म्यूटेक्स विवाद को मापने के लिए कैसे करें?
- 17. विकास के दौरान मैं अपने ऐप के आकार को कैसे बता सकता हूं?
- 18. दूरस्थ डेस्कटॉप प्रदर्शन को मापने के लिए कैसे करें?
- 19. प्रदर्शन को मापने के लिए फ़िल्टर का उपयोग कैसे करें?
- 20. एंड्रॉइड ऐप को स्वयं-प्रकाशित करने के लिए कैसे करें
- 21. ग्राहकों के प्रदर्शन को मापने
- 22. MySQL सर्वर के वर्तमान लोड को मापने के लिए कैसे?
- 23. क्यों एफपीएस मूल कैमरा ऐप के समान नहीं है
- 24. मैट्रिक्स गुणा कर्नेल के gflops को मापने के लिए कैसे?
- 25. एंड्रॉइड - एनडीके विकास के लिए चेकजनी कैसे सक्षम करें?
- 26. विकास के लिए एंड्रॉइड बुक
- 27. नेटवर्क प्रदर्शन को मापने के लिए कैसे करें (नेटवर्क प्रोटोकॉल को बेंचमार्क कैसे करें)
- 28. एंड्रॉइड डिवाइस के बिना एंड्रॉइड ऐप का विकास
- 29. requestAccessToEntityType की प्रक्रिया को दोहराएं: विकास के दौरान EKEntityTypeEvent
- 30. विकास के लिए वर्चुअल मशीन पर एंड्रॉइड चलाएं
मान लें कि आपका प्रश्न थोड़ा सामान्य है। क्या आप कुछ स्टॉक यूआई सामानों के बारे में बात कर रहे हैं जिनका आप उपयोग कर रहे हैं या आप ओपनजीएल संदर्भ या कुछ समान चल रहे हैं? बाद के मामले में मैं सिर्फ खुद को फ्रेम गिनता था। – Mario