/ / क्या 32bit के बजाय ओपनसीवी + इमगू के 64 बिट संस्करण का उपयोग करने में प्रदर्शन लाभ है? - c #, opencv, 32bit-64bit, performance, emgucv

क्या 32 बिट के बजाय ओपनसीवी + इमू के 64 बिट संस्करण का उपयोग करने में कोई प्रदर्शन लाभ है? - सी #, ओपनसीवी, 32 बिट -64 बिट, प्रदर्शन, emgucv

मैं एक एप्लिकेशन विकसित कर रहा हूं जो प्वाइंट ग्रे कैमरा द्वारा वास्तविक समय में कैप्चर की गई छवियों को प्रोसेस करता है (http://www.ptgrey.com/)। प्वाइंट ग्रे SDK एक .net रैपर है और यह 32 बिट या 64 बिट हो सकता है।

फिर कैप्चर की गई इमेज को प्रोसेस करने के लिए, मैं "OpenCV के लिए एक रैपर का उपयोग कर रहा हूँ, जिसे Emgu CV कहा जाता है (http://www.emgu.com/) जो 32 बिट या 64 बिट के जायके के रूप में अच्छी तरह से आता है।

अब, विस्टा ६४ पर होने के नाते मैं फ्लाईकैपचर (प्वाइंट ग्रे के एसडीके) और इमगू सीवी (जिसमें इसकी स्थापना में ओपनसीवी शामिल है) के अधिकतम प्रदर्शन की उम्मीद कर रहा हूं।

हाल ही में मैं अपने फोन करना चाहता थाXC से फ्लाईकैप्ट्योर + एमुग डीएलएल कोड, जो दुर्भाग्य से केवल 32 बिट में मौजूद है, और मुझे एहसास है कि मुझे 32 बिट में उन सभी घटकों को फिर से स्थापित करना पड़ सकता है क्योंकि मैं वास्तव में आईपीसी, रीमोटिंग, आदि के माध्यम से नहीं जाना चाहता हूं।

32 बिट के लिए अंतर्निहित मेमोरी स्पेस की स्पष्ट सीमा के अलावा, क्या कोई प्रदर्शन हानि है जिसकी मुझे उम्मीद करनी चाहिए? वह कितना नाटकीय होगा और क्यों?

किसी भी सलाह या स्पष्टीकरण के लिए अग्रिम धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 1

यह कोशिश करो और देखो!

मैं कारणों के बारे में सोच सकता हूं कि यह या तो रास्ते पर जा सकता है (सॉफ्टवेयर से बहुत परिचित नहीं होने के कारण आप "विस्तार से उपयोग कर रहे हैं")।

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

मुझे संदेह है कि प्रदर्शन एक ही बॉल पार्क में होगा, शायद प्लस या माइनस 20%। लेकिन आप कभी निश्चित नहीं हो सकते। यदि आपको परिमाण प्रकार के अंतर का आदेश मिलता है, तो मैं "चिंतित" हो जाऊंगा।


जवाब के लिए 6 № 2

बहुत परीक्षण के बाद, यह पता चला है कि 86 OpenCV + इमगू कॉम्बो x64 की तुलना में 1.408 गुना धीमा प्रदर्शन करता है 14 अलग-अलग विशिष्ट ओपनसीवी विधियों के अनुक्रम का उपयोग करके एक परीक्षण पर (चौरसाई, छवि प्रतिलिपि, छवि प्रारूप रूपांतरण, आदि)


उत्तर № 3 के लिए 1

हमारे पास एक सिमीयर स्थिति है (हमारे C # एप्लिकेशन के लिए पीटी ग्रे कैमरा "और एमगू ओपनसीवी रैपर)।

यह भी पता चला कि एक्स 64 के तहत एमुग भी तेज है(जीत XP x86 के साथ तुलना में 7 जीत)। पहले मुझे लगा कि मेरे आवेदन के बाकी हिस्सों पर x64 धीमा था, लेकिन यह डिबग मोड में था। रिलीज़ मोड में प्रदर्शन तुलनीय है। ऐसा लगता है कि VS2010 (x64) के तहत डिबग संस्करण VS2008 संस्करण (x86) के रूप में धीमा है।