ArcGIS और QGIS के बीच प्रदर्शन की गति इतनी भिन्न क्यों है?


17

ठीक है, मैं एक प्रोग्रामर नहीं बल्कि एक विपुल जीआईएस उपयोगकर्ता हूं। मुझे पता है कि QGIS C ++ और ArcGIS में लिखा है ??? लेकिन मेरे अधिकांश कार्यों के लिए हाल ही में मैं हमेशा क्यूजीआईएस का उपयोग करने की कोशिश करता हूं क्योंकि यह न केवल मुफ्त है बल्कि इस तथ्य के कारण है कि इसका उपयोगकर्ता अनुभव बहुत अच्छा है।

जीआईएस के सभी गुरु आपको इन दो प्रणालियों के बीच गति के अंतर के कुछ कारण बता सकते हैं? ईमानदारी से यह मुझे इसकी गति के कारण ArcGIS 10 का उपयोग करने के लिए परेशान करता है और मेरे पास 8 जीबी रैम वाला एक पीसी है।


3
क्या आप अधिक जानकारी प्रदान कर सकते हैं कि आप किन पहलुओं को धीमा पा रहे हैं? उदाहरण के लिए, डेटा के लिए ब्राउज़िंग, रेखापुंज का विश्लेषण, जियोप्रोसेसिंग, आदि?
स्टीफन लीड

सामान्य अनुभव बहुत धीमा है .. मेरा मतलब है शेपफाइल्स जोड़ना ... आर्कटिक बॉक्स आदि खोलना
GeoH2O

2
आर्कजीआईएस निश्चित रूप से .NET में नहीं लिखा गया है। यह ज्यादातर सी ++ में बहुत सारे अन्य सामानों के साथ लिखा गया है ...
देवदत्त तेंगशे

1
@StephenLead, मैंने ogr2ogrआकार-प्रकार ( रेफरी ) को परिवर्तित करते समय आर्कगिस की तुलना में 36 गुना अधिक तेजी से देखा है । मुझे उम्मीद है कि QGIS एक ही कार्य में नंगे पैर ogr2ogr की तुलना में थोड़ा धीमा होगा, लेकिन बहुत ज्यादा नहीं जब से यह ogr का उपयोग करता है (प्रमाण दोनों तरह से स्वागत है)।
मैट विल्की

3
शायद बातचीत फिर से: विशिष्ट गति अंतर कहीं और, शायद चैट पर ले जाया जा सकता है? chat.stackexchange.com/transcript/message/3510767#3510767
मैट

जवाबों:


10

ArcGIS बहुत फूला हुआ लगता है। मुझे याद है कि जब आर्किव्यू 3.2 से आर्कगिस 8.0 तक माइग्रेट किया जा रहा था, और बहुत सारे स्थानों पर यह एक विशाल प्रदर्शन हिट था, यह अभी भी मौजूद है। उस समय मुझे लगा कि विंडोज़ के लिए आर्क / इन्फो कोड से पहले ESRI के पलायन के साथ बहुत कुछ करना है और प्रदर्शन में कुछ कोनों में कटौती करना है, लेकिन मुझे यकीन नहीं है कि यह सच है। मुझे याद है कि आर्कजी 3.3 की तुलना में आर्कव्यू 3.3 में नाटकीय रूप से तेज होने वाले कार्यों के बारे में इस साइट पर कुछ उदाहरण देखने को मिलते हैं। इसका स्टार्टअप के समय आदि से कोई लेना-देना नहीं है, और मैं पिछले जवाब से असहमत हूं, क्योंकि इसका उपयोगकर्ता कौशल से कोई लेना-देना नहीं है। '। क्लिक करने और प्रतीक्षा करने का कौशल से कोई लेना-देना नहीं है।

मुझे लगता है कि वास्तविकता यह है कि आर्कगिस को प्रदर्शन को ध्यान में रखते हुए नहीं लिखा गया था और प्रत्येक संस्करण पहले से ही ओवरलोड कोड प्लेटफॉर्म पर अधिक से अधिक कार्यक्षमता टॉस करने का प्रयास करता है।


12

मैं क्यूजीआईएस से परिचित नहीं हूं, लेकिन मुझे आश्चर्य है कि यह एक्जिबिसिटी के मामले में आर्कजीआईएस के साथ तुलना कैसे करता है। दुर्भाग्य से लगता है कि एक्स्टेंसिबिलिटी और परफॉर्मेंस के बीच कम से कम कुछ ट्रेडऑफ हो सकते हैं। आर्कगिस एक्स्टेंसिबिलिटी के लिए मैंने जो सबसे अच्छा तरीका महसूस किया है, वह रजिस्ट्री में पाई गई एस्री के COM घटक श्रेणियों पर एक नज़र रखना है ।

प्रत्येक श्रेणी एक ऐसी जगह का प्रतिनिधित्व करती है, जहाँ उपयोगकर्ता उन वर्गों को पंजीकृत कर सकते हैं जो एसेरी इंटरफ़ेस लागू करते हैं। वहाँ एक हैं बहुत कुछ श्रेणियों में से। इन श्रेणियों में कुत्ते का खाना भी शामिल है - एस्री न केवल उन्हें 3 पार्टी अनुकूलन का पता लगाने के लिए उपयोग करता है, बल्कि बॉक्स कार्यक्षमता से भी बाहर है। जबकि यह अनुकूलन का एक बहुत ही महीन स्तर प्रदान करता है, इसका मतलब यह भी है कि इन सभी बारीक अनाजों की खोज की जानी चाहिए और उन्हें चलाने के समय लोड किया जाना चाहिए। मुझे यकीन नहीं है कि स्थानांतरण लागत क्या है, लेकिन यह महत्वपूर्ण होना चाहिए।

यहाँ छवि विवरण दर्ज करें

C:\Program Files (x86)\ArcGIS\Desktop10.0\Bin\Categories.exe

जब आप Visual Studio में एक dll बनाते हैं तो एक जगह होती है जहाँ आप dll में लोड करने के लिए आधार पता निर्दिष्ट कर सकते हैं । चूंकि आर्कोबजेक्ट्स कस्टमाइज़ेशन के लिए अलग-अलग साइज़ के इतने सारे डोल लोड किए जा रहे हैं, ऐसे में यह जानना बहुत मुश्किल होगा। फिर भी, मुझे आश्चर्य है कि अगर एक config फाइल यह निर्देश देते हुए बनाई जा सकती है कि dll को मेमोरी में कहां लोड किया जाना चाहिए। यदि ऐसा है, तो एक बार उपयोगकर्ता द्वारा लोड किए गए dll के साथ arcmap चल रहा है जो वह आमतौर पर उपयोग करेगा वह एक रूटीन चला सकता है जो dll आधार पते को एक कॉन्फ़िगर फ़ाइल में लिख देगा। इस तरह से जब arcmap शुरू होता है तो वह स्थानांतरण से बच सकता है उन पतों में लोड करके से । फिर शायद 64 बिट के साथ यह बात नहीं होगी।

10.0 Esri में ऐड-इन्स की शुरुआत की। ऐड-इन्स की श्रेणियां बहुत छोटी हैं, और खोज विंडोज़ रजिस्ट्री पर निर्भर नहीं करती है। इसके बजाय, ऐड-इन dll को ज़िप किया गया है और एक ज्ञात फ़ोल्डर में रखा गया है। मुझे यकीन नहीं है कि यह विंडोज़ रजिस्ट्री के माध्यम से खोजे गए dll के साथ प्रदर्शन-वार की तुलना कैसे करता है। मुझे लगता है कि मुख्य लक्ष्य गैर-प्रवेश द्वारा स्थापना की अनुमति देना था।

मैं मान रहा हूं कि प्रश्न डेस्कटॉप उत्पाद का जिक्र है। नई ArcGIS रनटाइम उत्पाद बहुत हल्का वजन है। मैंने सुना है कि यह MapObjects के प्रतिस्थापन के रूप में वर्णित है। यह देखना दिलचस्प होगा कि यह कैसे विकसित होता है। यदि Esri WPF रनटाइम के लिए एक्स्टेंसिबिलिटी का परिचय देता है, तो मुझे उम्मीद है कि वे विजुअल स्टूडियो द्वारा उपयोग की जाने वाली डिस्कवरी के लिए समान तंत्र का उपयोग नहीं करते हैं जब यह असेंबली की सूची को पॉप्युलेट करता है। "पहली बार संदर्भ जोड़ें ..." पर क्लिक करने से पहली बार दर्द कम हुआ।


3
मुझे कुछ साल पहले Esri की बिक्री प्रतिनिधि द्वारा बताया गया था कि Esri की धरती पर सबसे बड़ी COM लाइब्रेरी है, आसानी से Microsoft द्वारा बनाए गए किसी भी चीज़ से बड़ी है। मैंने तब से मान लिया है कि आर्कगिस डेस्कटॉप की सुस्ती का वह हिस्सा मांग के आधार पर केवल बिट्स और टुकड़ों को हथियाने के बजाय एक बार में उस पुस्तकालय के सभी लोड कर रहा है।
मैट विल्की

@mattwilkie ArcMap के लिए स्टार्टअप का समय बहुत धीमा हुआ करता था। इसे बेहतर बनाने के लिए उन्होंने समय-समय पर एक्सटेंशन पेश किए । मुझे यकीन नहीं है, लेकिन मुझे लगता है कि एक समान दृष्टिकोण gx ऑब्जेक्ट्स के साथ लिया जाता है जो पहली बार ऐड डेटा डायलॉग को फायर करने पर लोड हो जाते हैं।
कर्क कुकेँडल

हम्म। स्टार्टअप का समय मेरे लिए अधिक तेज़ नहीं है (दी गई है कि मैं मेमोरी से जा रहा हूं, डेटा नहीं, इसलिए यह सिर्फ धारणा हो सकती है)। टास्कबार में आर्कमैप 10 बटन पर क्लिक करने से 17, जब तक कि वह कुछ करने के लिए तैयार नहीं है ("अंतिम नक्शे को लोड करें" विज़ार्ड चीज़ बंद हो गई)। दूसरा सत्र लगभग 12 का है। यह SSD के साथ C: हार्ड डिस्क को बदलने के बाद है। क्वांटम पहले रन के लिए 4s लेता है और अगले के लिए 2s करता है।
मैट विल्की

@mattwilkie हाँ, एक ही समय में उन्होंने नए टूलबार इत्यादि जोड़े हैं, इसलिए समय-समय पर होने वाले किसी भी प्रदर्शन लाभ ने पूरी तरह से नए सॉफ़्टवेयर सुविधाओं से उत्पन्न देरी के लिए मुआवजा नहीं दिया है। विचार करने के लिए अन्य कारक भी: क्या यह लाइसेंस सर्वर तक पहुंच बना रहा है? कितनी RAM? यदि आप अपने normal.mxt को हटाते / नाम बदलते हैं, तो क्या यह तेज़ है? (पहली बार इसे हटाने के बाद दूसरी बार परीक्षण करें क्योंकि पहले स्टार्टअप को इसे फिर से बनाने में समय लगेगा) क्या आपने अनुकूलन स्थापित किया है?
कर्क कूकेन्डल

1
कर्क: शानदार जवाब। @ मट्टविल्की: यह सच है। एमएस ऑफिस के पास, एक बिंदु पर, लगभग 400 (+?) COM ऑब्जेक्ट्स थे। मुझे लगता है कि अब तक, जियोडाटाबेस अपने आप में कई हैं। सच्चाई यह है कि बेहतर या बदतर के लिए, ESRI थोड़ा COM पागल हो गया। मुझे लगता है कि समय के लिए, यह एक सुरक्षित ध्वनि निर्णय था।
बजे रागी यासर बुरहुम

8

धागे को फिर से जीवित करने के लिए मुझे क्षमा करें, लेकिन मैं एक विशिष्ट उदाहरण दे सकता हूं कि उपयोगकर्ता अनुभव आर्कपैक और क्यूजीआईएस के लिए कैसे भिन्न है।

आज मुझे एक छोटे से देश में 250 मीटर रिक्ति के साथ एक पॉइंट ग्रिड बनाने की ज़रूरत है, पॉइंट ग्रिड को एक देश की सीमा बहुभुज पर क्लिप करें, और कई ग्रिडों के मूल्यों को पॉइंट ग्रिड से संबद्ध करें।

ArcMap में, मुझे डेटा को डाउनलोड करने से लेकर तैयार डेटासेट तक पहुंचने में लगभग 10 मिनट लगे। QGIS (व्रोकला) में, यह कार्यक्रम दो बार ग्रिड से केवल क्लिपिंग से टकराकर दुर्घटनाग्रस्त हो गया, फिर तीसरे प्रयास पर पूरा होने से पहले एक घंटे तक चला। थीस 4 डुअल-कोर और 6 जीबी रैम वाले बॉक्स पर है।

मुझे QGIS बहुत पसंद है, और यह मुझे ArcMap का उपयोग करने के लिए प्रेरित करता है, लेकिन मुझे बहुत सारे सामान्य उपयोग के मामले मिलते हैं जहाँ QGIS मेरी आवश्यकताओं को पूरा नहीं करता है।

अब, अगर किसी के पास कोई ट्यूनिंग सलाह है जो इस प्रदर्शन अंतर को हल कर सकता है, तो मैं सभी कान हूं।

क्रिस


सहमत हूँ, लेकिन यह क्या है इसके लिए मैं हमेशा QGIS के लिए सबसे पहले आता हूं और अगर यह वहां काम नहीं करता है तो ArcGIS
GeoH2O

1
मेरे लिए एक बग की तरह लगता है। दुर्घटनाएं खराब प्रदर्शन का माप नहीं बल्कि कुछ गलत होने का लक्षण है। QGIS के लोगों को इसकी सूचना दें
निकल्स एवन

कितने बड़े क्षेत्र के लिए आप इस बिंदु ग्रिड का निर्माण कर रहे हैं? बस QGIS (1.9) में 57k अंक पर एक ही प्रकार का ऑपरेशन बिना किसी समस्या के चला।
सिंबांगु

@ सिंबांगु होंडुरास के चारों ओर एक बाउंडिंग बॉक्स के लिए था - लगभग आधा मिलियन अंक। Nicklas_Aven पर: प्वाइंट लिया गया; अगर मेरे पास मज़बूती से प्रजनन करने का समय है तो मैं जमा करूँगा।
Ichchriskelley

6

मुझे नहीं लगता कि आर्क को .NET में लिखा गया है। Arcobjects C ++ में लिखे गए हैं। चाप कई उन्नत GUI, मदद उपकरण, ऐड-ऑन आदि के उपयोग के कारण धीमा हो सकता है। QGIS महान सॉफ्टवेयर है, लेकिन इसमें कुछ उपयोगी सुविधाओं का अभाव है जो शुरुआती लोगों के लिए अच्छा हो सकता है। इसके अलावा, मुझे नहीं लगता कि ईएसआरआई (आर्कोबिज) में बुनियादी लॉवेल उपकरण धीमे हैं। यह आमतौर पर उपयोगकर्ता कौशल के लिए नीचे आता है, अगर उपयोगकर्ता आर्क का उपयोग करना जानता है, तो यह बिल्कुल धीमा नहीं है। यह कहने के बाद, मुझे यह भी उल्लेख करना चाहिए कि हर उपकरण को उसके प्रदर्शन के संबंध में केस के आधार पर विचार किया जाना चाहिए। दूसरी बात यह है कि, आर्क पहले जीआईएस दृश्य पर था। पहले (अपेक्षाकृत QGIS के लिए) हमेशा बग के साथ होता है और अगली पीढ़ी थोड़ी बेहतर होती है, इस मामले में तेजी से, लेकिन यह सब सिर्फ एक व्यक्तिगत राय है।


2
सिडेनोट: मुझे संदेह है कि आर्कगिस के कोर के कम से कम हिस्से अभी भी फोरट्रान में लिखे गए हैं (जो अफवाह है कि अगर तेजी से, अगर कुछ संख्यात्मक कार्यों के लिए सी से तेज नहीं है): यदि आप एक .NET कंसोल एप्लिकेशन चलाते हैं जो उपयोग करता है ArcObjects, और आप दबाते हैं Ctrl+Cजब एक ArcObjects कुछ ऑपरेशन करता है, तो आपको एक फोरट्रान रेंज लाइब्रेरी से एक संदेश मिलेगा।
स्टेक्स

5
इसके अलावा, नॉटी ग्रिट विवरण में जाने के बिना, आर्कोबजेक्ट्स COM पर आधारित है , जो शुरुआती अंतर-ढांचे के फ्रेमवर्क में से एक है, और विशेष रूप से प्रबंधित (जैसे, .NET) और अनवांटेड (C ++) कोड के बीच मार्शेल करने पर इसका अपना प्रदर्शन बोझ है।
blah238

4
@stakx कम से कम रेखापुंज (स्थानिक विश्लेषक) पर उस फोरट्रान कोड में ओवरहेड है। मैंने एसए में फोरट्रान एड-ऑन विकसित किए हैं और पाया है कि वे हमेशा कम से कम पांच बार तेजी से भागते हैं। इन वर्षों में, रैपर पर रैपरों की परतों को मूल (विंटेज 70 और 80) के कोड को एकीकृत करने के लिए बनाया गया है, ने आर्क * प्रदर्शन पर बढ़ते बोझ को पैदा किया है।
whuber

6

यह आर्कगिस के प्रदर्शन से संबंधित है: आर्कपैक, आर्ककॉस्टिक्स, पर्याप्त संसाधनों के साथ नए लैपटॉप पर खोलने के लिए बहुत धीमी है? जो प्रदर्शन के कुछ मुद्दों के लिए कुछ अंश हो सकता है। यह थ्रेड दिखाता है कि हार्डवेयर, नेटवर्क और लाइसेंसिंग कॉन्फ़िगरेशन आर्कगिस के प्रदर्शन पर पर्याप्त प्रभाव डाल सकते हैं। संभवतः, गति में अंतर के कुछ अंतर क्षमताओं में निहित अंतर के बजाय ऐसे कारकों के कारण हो सकते हैं।

(जवाब लिंक के रूप में पोस्ट किया गया, क्योंकि टिप्पणियां गुम हो गई हैं।)


1
उत्तर और टिप्पणियों के यहां अलग-अलग उद्देश्य हैं, डैन। आप सही हैं, टिप्पणियों में द्वितीय श्रेणी की स्थिति है। एक कारण वास्तव में उपयोगी उत्तर पर जोर देना है। जो कुछ भी उत्तर नहीं है, उसे प्रश्न को उत्तर देने योग्य बनाने के लिए या प्रश्न या उत्तर को बेहतर बनाने के लिए एक प्रयास होना चाहिए: यह एक टिप्पणी है, भले ही वह वास्तव में शानदार हो।
whuber

हमारे लैब में संस्करण को
स्वीकार करने के

2

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

यदि आप आर्कजीआईएस के साथ अपने प्रदर्शन में सुधार करना चाहते हैं, तो कुछ चीजें हैं जो मैं सलाह दे सकता हूं;

हमेशा अनुमानित डेटा का उपयोग करें। Postgresql काम करता है मेरे साथ geodat डेटाबेस या ArcSDE का उपयोग करें।

फ़ाइल जियोडैटेबेस का उपयोग करना और यदि संभव हो तो आर्क्सडे आपके संचालन की गति को बढ़ाता है। QGIS और ArcMap के साथ मेरा व्यक्तिगत अनुभव वास्तव में विपरीत है। जैसा कि मानचित्र पर 3 मिलियन अंक प्रस्तुत करने में लगभग मिनट लगते हैं। दूसरी ओर आर्केप सेकंड के भीतर उन्हें प्रस्तुत करता है।

एकदम मेरे विचार।


क्यों 3 मिलियन अंक प्रदान? यदि आपका मतलब है कि परत में 3 मिलियन अंक हैं और उनमें से कुछ आपके विचार में हैं, तो यह QGIS में भी तेज़ है, लेकिन आपको स्थानिक सूचकांक की आवश्यकता होगी। लेकिन मैं इस बात से सहमत हूं कि जब आप बहुत सारे ज्यामितीयों को रेंडर करने की कोशिश में गलती करते हैं तो QGIS को रोकना काफी कठिन हो सकता है। यहां तक ​​कि जब पहले से ही प्रदान किए गए जियोमेट्री के साथ रेंडरिंग को मारते हैं, तो कभी-कभी वहां लटका रहता है।
निकलस एवन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.