2011-04-13 11 views
5

ठीक है, मैं स्क्रीन पर बहुत सारी "कीड़े" खींचने जा रहा हूं। मेरा सवाल यह है कि, यदि मैं उदाहरण के लिए एक मकड़ी खींच रहा हूं, तो बिटमैप लोड करने के लिए तेज़ होगा, इसे सही कोण पर मैट्रिक्स करें, और इसे स्क्रीन पर (बार-बार) खींचें, या canvas.drawLine का उपयोग करके चींटी खींचें, DrawCircle, आदि? एक प्रत्यक्ष तुलना के लिए:लोड बिटमैप लोड या ग्राफ़िक ड्रा? प्रदर्शन प्रश्न

बिटमैप: 500 बाइट्स डब्ल्यू/पारदर्शिता

लिया गया: 8 drawLines, 2 drawCircles

मैं पहले से ही बहुत कुछ चल रहा है, इसलिए यहां प्रदर्शन बहुत महत्वपूर्ण है।

अग्रिम धन्यवाद!

+0

क्या आपने दोनों विधियों को बेंचमार्क किया है? –

+0

नहीं, मैं यह जानने के लिए कोड बनाने का समय बचाने की उम्मीद कर रहा था कि ड्राइंग रेखाएं और मंडल बिटमैप्स से तेज हैं या नहीं। : डी – teynon

उत्तर

3

बिटमैप खींचना बहुत तेज़ है। वास्तव में क्या मायने रखता है कि आप कितने पिक्सल आकर्षित करने जा रहे हैं (यानी ओवरड्रा, जो अधिकतम भरने को प्रभावित करेगा।) बिटमैप्स का उपयोग करने से आप प्रदर्शन दंड के बिना समृद्ध ग्राफिक्स भी बना सकते हैं।

+0

मैंने थोड़ी देर में इस पर काम नहीं किया है, लेकिन अगर मुझे सही याद है, हर बार जब आप बिटमैप घुमाते हैं, तो यह एक नया ग्राफिक (अनिवार्य रूप से) बनाता है। दूसरे शब्दों में, यह और अधिक स्मृति जोड़ता है। तो अगर मेरे पास विभिन्न कोणों में स्क्रीन पर 70 चींटियां हैं, तो यह बहुत मेमोरी है। – teynon

+0

बिटमैप घूर्णन स्मृति को आवंटित नहीं करता है। जब तक आप प्रतियां खुद को कॉपी नहीं करते हैं। –

+0

स्क्रीन पर 70 चींटियों के सभी अलग-अलग दिशाओं का मतलब है कि प्रत्येक ग्राफ़िक को अपने निर्दिष्ट बिंदु पर अलग-अलग घुमाया जाना चाहिए। मैट्रिक्स के साथ ऐसा करने के लिए प्रतियों की आवश्यकता होती है, या इसके आसपास कोई रास्ता है? – teynon

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