2011-03-08 16 views
9

के अंदर एचटीसी केवल हार्ड क्रैश मैं अपने आवेदन में थोड़ी देर के लिए यह समस्या देख रहा हूं। ओपनजीएल का उपयोग करते हुए प्रतिपादन करते समय यह एचटीसी फोन को यादृच्छिक रूप से हार्डलॉकिंग या रीबूट करके दिखाता है। logcat यह एक गतिरोध मुद्दा के रूप में आप इस मुद्रित देखेंगे प्रकट होता है ...ओपनजीएल

waitForCondition(LockCondition) timed out (identity=9, status=0). CPU may be pegged. trying again. 

जानकारी के लिए सबसे अच्छा स्रोत की जांच कर रहा मैं अब तक पता लगाने के लिए सक्षम किया गया है यहाँ पर है: http://groups.google.com/group/android-developers/browse_thread/thread/d5b7e87f4b42fa8f/d6214ed7a02efc98?q=freeze&lnk=ol&

कहाँ वे आपके glSurface के ऑनड्रा फ़ंक्शन के अंत में एक ग्लिफिनिश जोड़ने का सुझाव देते हैं। मेरे पास इस समाधान का उपयोग करके बहुत अच्छे नतीजे नहीं हैं (यह अभी भी दुर्घटनाग्रस्त है लेकिन कम अक्सर)। क्या किसी और ने इस समस्या के बारे में सुना है? किसी भी बेहतर समाधान को जन्म दिया?

+0

यह थोड़ा सांत्वना होगा, लेकिन मुझे आपका दर्द महसूस होता है। मुझे बाजार पर 2 टिप्पणियां मिली हैं "फोन लॉक किया गया था, बैटरी को हटाना पड़ा। एचटीसी डिजायर"। कोई फर्क नहीं पड़ता कि इसका क्या कारण है, और मैंने देखा है कि गेम किसी मित्र की इच्छा पर ठीक चल रहा है। – richq

+0

हाँ, मैंने कई एचटीसी फोन पर ऐसा किया है लेकिन मुख्य रूप से तनाव परीक्षण के दौरान (ऐप रात भर चलने दें)। अब तक कोई समाधान नहीं है, मैं अपडेट देखने के लिए हर कुछ हफ्तों में एक वेब खोज करता हूं। – TurqMage

उत्तर

1

हमें एचटीसी सेंसेशन डिवाइस और एंड्रॉइड 2.3.4 के साथ हमारे गेम पर बिल्कुल समस्या हो रही है - इसलिए हम डिवाइस गए और थोड़ा सा प्रयोग किया। समाधानों में से एक onDraw() विधि के अंत में egl.eglWaitGL() पर कॉल करना था, लेकिन उस फ्रेम पर आश्चर्यजनक रूप से फ्रेमरेट को कम किया गया, लेकिन मैंने इसे खराब समाधान दिया और देखा।

दूसरा फिक्स और जिस पर हम वर्तमान में उपयोग कर रहे हैं, जिसमें लगभग कोई प्रदर्शन जुर्माना नहीं था, हमारे वर्टेक्स सरणी को अपडेट करने के लिए glBufferData के साथ glBufferSubData का उपयोग करना बंद करना था। यदि आप उन्हें अपडेट करने के लिए वीबीओ और glBufferSubData का उपयोग कर रहे हैं, तो इसे बदलने का प्रयास करें।