2010-04-21 12 views
5

से वोल्टाइल इमेज धीमा है मैं जावा में एक गेम बना रहा हूं और स्क्रीन पर सामग्री प्रस्तुत करने के लिए उपयोग किए गए बुफेर्ड इमेज में। मेरे पास कम अंत मशीनों पर प्रदर्शन के मुद्दे थे जहां खेल चलाना था, इसलिए मैंने वोल्टाइल इमेज पर स्विच किया जो आमतौर पर तेज़ होते हैं। सिवाय इसके कि वे वास्तव में पूरी चीज को धीमा कर देते हैं।जावा: BufferedImage

छवियां ग्राफिक्स कॉन्फ़िगरेशन.क्रेट कॉम्पैक्टिव वोल्टाइल इमेज (...) के साथ बनाई गई हैं और Graphics.drawImage(...) के साथ स्क्रीन पर खींची गई हैं (यह देखने के लिए लिंक का पालन करें)। वे डबल बफरिंग का उपयोग कर कैनवास पर खींचे जाते हैं।

क्या किसी को पता है कि यहां क्या गलत हो रहा है?

+0

मैंने इसे देखा है। – Hardcoded

+0

यदि आप ग्राफिक्स कार्ड पर स्मृति से कम हैं, तो यह स्पष्ट रूप से सहायता नहीं करेगा। आईआईआरसी, 'बुफर्ड इमेज' में कुछ गतिएं थीं, इसलिए अंतर उतना ही बड़ा नहीं हो सकता जितना कि यह एक बार था। –

+0

@Norswap: मुझे सच में लगता है कि इसके लिए एक महान उत्तर खोजने के लिए ओपन सोर्स जावा गेम (वहां निश्चित रूप से कुछ हैं) या कुछ महान महान जावा डेमो ("डेमो दृश्य" से) को खोजने में शामिल हैं और यह समझने की कोशिश करें कि क्या उन्होंने किया है मैं लंबे समय से * बहुत * विदेशी हार्डवेयर (जैसे अमिगा, एसएनईएस, मोड 13x इत्यादि) पर गेम गेम्स और डेमो का इस्तेमाल करता था और मुझे अभी भी पता नहीं है कि जावा में "पिक्सल को कैसे दबाएं"। यह एक बार एक ऐसा डोमेन है जहां जावा को "अतिरंजित" किया गया है और यह अनावश्यक रूप से जटिल है। मैं वास्तव में आपकी मदद करने में सक्षम होने के लिए एसओ पर किसी के लिए अपनी सांस नहीं पकड़ता हूं। – SyntaxT3rr0r

उत्तर

6

अधिकतर आपका कोड त्वरित और अप्रचलित परिचालनों को मिला रहा है।

यह document एक पढ़ा जाना चाहिए। त्वरित जावा ग्राफिक्स के साथ काम करने वाले किसी भी व्यक्ति के लिए धारा 3.2 विशेष रूप से आवश्यक है।

+0

क्या यह संभव है कि स्केलिंग (क्लिपिंग के अर्थ में, प्रश्न में लिंक देखें) एक छवि इतनी बेकार ऑपरेशन है? चूंकि मैं स्प्राइट शीट्स का उपयोग करता हूं, इसलिए प्रत्येक ड्रॉ को स्क्रीन पर आकर्षित करने के लिए छवि का एक हिस्सा प्रभावी ढंग से चुनना चाहिए। – Norswap

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