मैं वास्तव में एक पुराने पुराने डिवाइस के लिए वास्तव में पुराना एडब्ल्यूटी गेम पोर्ट कर रहा हूं।एडब्ल्यूटी फास्ट ग्राफिक्स और थ्रेड सुरक्षा
इस गेम में थ्रेड सुरक्षा के लिए बहुत ढीले दृष्टिकोण सहित, इसमें कुछ चीजें गलत हैं: गेम इंजन यूआई थ्रेड से प्राप्त ग्राफिक्स संदर्भ का उपयोग करके सीधे अपने इंजन थ्रेड में स्क्रीन पर खींचने की कोशिश कर रहा है । यह डिवाइस पर काम नहीं करता है।
मैंने इंजन थ्रेड को ऑफ़-स्क्रीन बफर पर खींचकर काम करने में कामयाब रहा है और उसके बाद यूआई थ्रेड समय-समय पर डिस्प्ले घटक पर रेपेंट() को कॉल करता है और बफर को बफर करने वाले डिस्प्ले घटक स्क्रीन, लेकिन प्रदर्शन बेकार है --- आश्चर्यजनक नहीं है सभी संदर्भ स्विच और डबल बफरिंग।
मैं वास्तव में एक विशेष रूप से ज्ञात एडब्ल्यूटी प्रोग्रामर नहीं हूं; यह पर्याप्त रूप से घृणास्पद है कि मैंने इसे अभी तक टाला है। लेकिन यह समस्या --- एक इंजन धागा स्क्रीन पर आकर्षित करना चाहता है --- एक आम होना चाहिए। क्या किसी को किसी भी सभ्य रणनीतियों (और अधिमानतः उदाहरण कोड!) के बारे में पता है, यह कैसे सुरक्षित तरीके से ऐसा करने के लिए है जो सिस्टम के जितना संभव हो उतना प्रदर्शन निचोड़ता है?
(जो मुझे विशेष रूप से पसंद है, वह एक सुरक्षित शॉर्टकट है जो इंजन थ्रेड को स्क्रीन ग्राफिक्स संदर्भ पर सीधे प्रस्तुत करने की इजाजत देता है, जब ऐसा करने के लिए तैयार लगता है, और इसलिए यूआर थ्रेड को रेड्रा का अनुरोध करने के लिए कहने से बचें। इससे मुझे डबल-बफरिंग की पूरी परत मिल जाएगी। लेकिन मुझे नहीं पता कि ऐसी चीज संभव है ...)
यह सब पीबीपी 1.1.2 पर है --- हाँ, यह न तो भरा है जावा और न ही ईमानदार मिडपी ...
समय-समय पर कितनी बार होता है? – user314104