2012-05-30 12 views
6

पर जलरोधक आग हिट और बनावट भ्रष्टाचार यह एक अग्नि-विशिष्ट जीपीयू मुद्दा प्रतीत होता है, और मैं किसी भी मदद या सुझाव की सराहना करता हूं।60 एफपीएस

अधिकांश भाग के लिए, मेरा टावर-रक्षा गेम 60 एफपीएस चलाने में सक्षम है, यहां तक ​​कि कई तरह के दुश्मनों और टॉवर सभी शूटिंग के साथ भी। हालांकि, प्रतीत होता है कि यादृच्छिक समय (यहां तक ​​कि कुछ भी नहीं हो रहा है - मुख्य मेन्यू पर बैठे हुए) बहुत ही समान दूरी पर 400 मिमी हिट्स लगभग 2-3 सेकंड के अंतराल पर गेम को रोकते हैं। फिर अचानक हिट गायब हो जाएंगे और बनावट के 16x16 पिक्सेल ब्लॉक यादृच्छिक रूप से प्रस्तुत नहीं होंगे।

ये 2 ग्लिच पारस्परिक रूप से अनन्य प्रतीत होते हैं और जैसा कि मैंने कहा है कि गेम को शुरू करके और मुख्य मेनू से स्तर-चयन स्क्रीन पर नेविगेट करके ट्रिगर किया जा सकता है, जहां न्यूनतम संसाधन लोड होते हैं और थोड़ा गेम तर्क हो रहा है। मैं ध्वनि प्रभाव के लिए ओपनएसएल का उपयोग करता हूं, और मैंने नोट किया कि एसएफएक्स को अक्षम करने से हिच की अवधि 280 मिमी हो गई है।

तब मैंने मैन्युअल रूप से 60 एफपीएस से 30 एफपीएस (फ्रेम टिक लूप में नींद डालने से) फ्रेमरेट को मजबूर कर दिया, और दोनों ग्लिच पूरी तरह से गायब हो गए।

यहां एक स्क्रीन कैप है जो बनावट को प्रदर्शित नहीं करती है। यह बग गहराई/स्टैंसिल मानों के बावजूद सभी 32-बिट रेंडर सतहों में होता है और क्या रंग-साफ़ चालू या बंद है।

धन्यवाद!

संपादित करें: असल में, स्पष्ट रूप से बनावट झिलमिलाहट किसी भी फ्रेमरेट पर होती है, हालांकि, कहीं 40 और 45 एफपीएस के बीच 400 मिमी हिचकिचाहट दूर हो जाती है।

level select screen

main menu

+0

अन्य एफपीएस सीमाओं के बारे में क्या? जैसे 45/75 –

+0

दरअसल, स्पष्ट रूप से बनावट झिलमिलाहट किसी भी फ्रेमरेट पर होती है, हालांकि, कहीं 40 और 45 एफपीएस के बीच 400 मिमी हिचकिचाहट दूर हो जाती है ... हालांकि, निश्चित रूप से 60 एफपीएस पर पूरी तरह पारस्परिक रूप से अनन्य नहीं हैं। उनके आने और जाने की घटनाएं अत्यधिक सहसंबंधित हैं। – Ajas

उत्तर

2

ठीक है, यह एक बहुत ही सूक्ष्म चालक बग जरूरी Kindle Fire करने के लिए विशिष्ट नहीं है। मैं भविष्य में किसी भी तरह के दर्द से बचने में मदद करने की उम्मीद करता हूं। मैंने पहले ही लक्षणों को स्पष्ट रूप से रेखांकित किया है, लेकिन बग का स्रोत कैंची रेक्ट को स्थापित करने से आता है।

अनिवार्य रूप से, हमारे पास कई एनिमेटेड यूआई तत्व हैं जो स्क्रीन को ज़ूम चालू और बंद करते हैं, इसलिए हम कैंची के साथ बहुत फंकी हो जाते हैं। ट्रिगर कैंची रैक ऑफ-स्क्रीन सेट कर रहा है, फिर क्षैतिज आयत के बाहर प्रतिपादन करता है। ऐसा करने से GPU को कुछ सूक्ष्म रूप से खराब स्थिति में डाल दिया जाता है, जो तुरंत प्रकट नहीं होता है, लेकिन धीरे-धीरे खराब हो जाता है।

इसके अतिरिक्त ऐसा लगता है कि हमने Droid RAZR पर एक बग तय की है, जिसमें आग के साथ सामान्य रूप से एक GPU है। बग खेल में एक 5 सेकंड फ्रीज जहाँ हम logcat में देखते हैं था:

W/SharedBufferStack(14208): waitForCondition(LockCondition) timed out (identity=173, status=0). CPU may be pegged. trying again. 
जाहिर

कीड़े के इन प्रकार पर नज़र रखने और सही स्थितियों को इंगित करने के लिए कड़ी मेहनत कर रहे हैं, लेकिन यह निश्चित रूप से बाहर प्रतिपादन से संबंधित है ऑफ-स्क्रीन कैंची काटता है।

+0

बस स्पष्ट होने के लिए: हिचकिचाहट, ठंड और विसंगतियों को प्रस्तुत करने का समाधान glScissor() को कॉल करने से पहले स्क्रीन पर कैंची रेक्ट को क्लिप करना था। – Ajas

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