2012-06-04 13 views
13

मैं अपने Cocos2D 2.0 परियोजना पर स्क्रीन के निचले बाएं हिस्से पर 3 नंबर हैं:Cocos2d 2.0 - 3 तल पर संख्या छोड़ दिया

82 
0.016 
60.0 

60 शायद एफपीएस है और क्या बारे में अन्य दो? जैसा कि मुझे याद है, कोकोस के पिछले संस्करणों में केवल एफपीएस नंबर था।

कोई सुराग? धन्यवाद

+0

शीर्ष नंबर मुझे लगता है कि sprites का # है। बीच में मुझे यकीन नहीं है। –

+0

यह समझ में आता है ... 82 sprites। सही। यदि यह मदद करता है, तो मध्य संख्या 0.016 और 0.017 के बीच आती है ... – SpaceDog

+0

यदि मुझे सही याद है, तो यह कुछ के लिए मिलीसेकंड है। शायद एफपीएस की मिलीसेकंड? लेकिन बीच इतना मायने रखता नहीं है, केवल ऊपर और नीचे वास्तव में मायने रखता है। –

उत्तर

37
82 <-- number of draw calls 
0.016 <-- time it took to render the frame, here: 1.0/60.0 = 60 fps 
60.0 <-- frames per second 

पहले नंबर (82) की बराबरी पर कॉल की संख्या (जो काफी अधिक है) है। आम तौर पर प्रत्येक नोड जो स्क्रीन पर कुछ प्रस्तुत करता है (sprites, लेबल, कण fx, आदि) उस संख्या को एक से बढ़ाता है। ड्रा ड्रा महंगे हैं, इसलिए उस नंबर को नीचे रखना बहुत महत्वपूर्ण है। ऐसा करने का एक तरीका ड्रॉ कॉल को बैच करके है - cocos2d v3 यह स्वचालित रूप से करता है।

सेकंड में फ्रेम को प्रस्तुत करने में लगने वाला समय। चूंकि आपको 60 फ्रेम प्रति सेकेंड (1/60 = 0,0166…) प्राप्त करने के लिए प्रत्येक 0.016666666 सेकेंड में एक नया फ्रेम खींचने की आवश्यकता है, यह केवल फ़्रेमेट के विपरीत है।

अंतिम संख्या फ्रेम प्रति सेकंड उर्फ ​​framerate उर्फ ​​fps की संख्या है। यह मान, पिछले की तरह, कई फ्रेमों पर औसत है ताकि यह उतना ही उतार-चढ़ाव न करे।

ध्यान दें कि आईओएस उपकरणों में हमेशा VSynch (लंबवत सिंक्रनाइज़ेशन) होता है। एक गेम प्रत्येक 0.0166 सेकेंड में एक फ्रेम प्रस्तुत कर सकता है - यदि प्रत्येक फ्रेम गणना करने के लिए 0.017 सेकेंड लेता है, तो फ़्रेमेट प्रभावी रूप से 30 एफपीएस तक कम हो जाता है। आप केवल ठोस चरणों में एफपीएस कर सकते हैं: 60, 30, 20, 15, 12, 10 ...

चूंकि एफपीएस डिस्प्ले कुछ फ्रेमों पर औसत है, यह इस तथ्य को छुपाता है। तो यदि प्रदर्शन आंकड़े दिखाते हैं तो 45 एफपीएस फ्रेम का अनुक्रम होगा जहां हर दूसरे फ्रेम 0.0166 सेकंड से अधिक समय लेगा। एफपीएस संख्याओं में सबसे हालिया फ्रेमों के व्यक्तिगत एफपीएस होंगे: 60, 30, 60, 30, 60, 30.

+0

बहुत धन्यवाद। वास्तव में इस ऐप को अभी बहुत अनुकूलित नहीं किया गया है, लेकिन यह होगा। अनुकूलन आम तौर पर आखिरी चीज है जो मैं करता हूं। स्पष्टीकरण के लिए धन्यवाद। – SpaceDog

2

शीर्ष नंबर आपके CCLayer में स्प्राइट, आदि की संख्या है ..

बीच एफपीएस के मिलीसेकेंड है।

नीचे आपका एफपीएस है! :)

+1

शीर्ष संख्या ड्रॉ कॉल की संख्या है, न कि sprites की संख्या। – LearnCocos2D

+0

@ LearnCocos2D एक और दूसरे के बीच क्या अंतर है? –

+0

प्रत्येक खींची गई वस्तु एक ड्रा कॉल बनाता है यानी प्रत्येक लेबल, स्प्राइट, प्रत्येक कण प्रणाली, प्रत्येक बैच नोड 1 ड्रा कॉल जोड़ता है। ड्रॉ कॉल ओपनएल में एक राज्य परिवर्तन है, और बदलते राज्य (यानी एक अलग बनावट से चित्रण) एक महंगा ऑपरेशन है। अधिक बनावट बना है। – LearnCocos2D

संबंधित मुद्दे