ฉันไม่คุ้นเคยกับ QGIS แต่ฉันสงสัยว่ามันเปรียบเทียบกับ ArcGIS ในแง่ของความสามารถในการขยาย น่าเสียดายที่อย่างน้อยดูเหมือนว่าจะมีการแลกเปลี่ยนระหว่างการขยายและประสิทธิภาพ วิธีที่ดีที่สุดที่ฉันได้พบเพื่อเพิ่มความรู้สึกถึงความสามารถในการขยายตัวของ ArcGIS คือการดูที่หมวด COM ส่วนประกอบของ Esri ที่พบในรีจิสทรี
แต่ละหมวดหมู่แสดงถึงสถานที่ที่ผู้ใช้สามารถลงทะเบียน dll ที่มีคลาสที่ใช้อินเตอร์เฟซ Esri มีหลายประเภท หมวดหมู่เหล่านี้ยังมีอาหารสุนัข - Esri ใช้พวกเขาไม่เพียง แต่จะค้นพบการปรับแต่งโดยบุคคลที่สาม แต่ยังรวมถึงการทำงานนอกกรอบ แม้ว่าจะมีการปรับแต่งในระดับที่ละเอียดมาก แต่ก็หมายความว่าเมล็ดละเอียดเหล่านี้ทั้งหมดจะต้องถูกค้นพบและโหลดในเวลาทำงาน ฉันไม่แน่ใจว่าค่าใช้จ่ายในการขนย้ายเป็นเท่าใดแต่ต้องมีความสำคัญ
C:\Program Files (x86)\ArcGIS\Desktop10.0\Bin\Categories.exe
เมื่อคุณสร้าง dll ใน Visual Studio มีสถานที่ที่คุณสามารถระบุที่อยู่พื้นฐานสำหรับ dll ที่จะโหลด เนื่องจากมีหลายขนาดกำลังโหลดโหลดรู้ก่อนเวลาสำหรับการปรับแต่ง ArcObjects จะยากมาก ถึงกระนั้นฉันสงสัยว่าไฟล์ config สามารถถูกสร้างขึ้นเพื่อบอกว่าควรโหลด dll ในหน่วยความจำหรือไม่ ถ้าเป็นเช่นนั้นเมื่อผู้ใช้มี arcmap ทำงานกับ dll โหลดว่าเขามักจะใช้เขาสามารถเรียกใช้รูทีนที่จะเขียนที่อยู่ฐาน dll ไปยังไฟล์ config ด้วยวิธีนี้เมื่อ arcmap เริ่มต้นก็สามารถหลีกเลี่ยงการเปลี่ยนตำแหน่งโดยการโหลดลงในที่อยู่เหล่านั้น ถ้าอย่างนั้นอีกครั้งด้วย64 บิตนี้จะไม่สำคัญ
เมื่อ 10.0 Esri แนะนำ Add-in หมวดหมู่ของ Add-in นั้นเล็กกว่ามากและการค้นหาไม่ขึ้นอยู่กับการลงทะเบียน windows แต่จะเป็นการเพิ่ม DLLs ไว้ในโฟลเดอร์ที่รู้จัก ฉันไม่แน่ใจว่าสิ่งนี้เปรียบเทียบประสิทธิภาพที่ชาญฉลาดกับที่กำลังค้นพบผ่านรีจิสทรีหน้าต่าง ฉันคิดว่าเป้าหมายหลักคืออนุญาตให้ผู้ติดตั้งไม่ใช่ผู้ดูแลระบบ
ฉันสมมติว่าคำถามนี้อ้างถึงผลิตภัณฑ์เดสก์ท็อป ผลิตภัณฑ์ ArcGIS Runtimeใหม่มีน้ำหนักเบากว่ามาก ฉันได้ยินมาว่ามันอธิบายแทน MapObjects มันจะน่าสนใจเพื่อดูว่ามันวิวัฒนาการ ถ้า Esri แนะนำความสามารถในการขยายสำหรับ WPF Runtime ฉันหวังว่าพวกเขาจะไม่ใช้กลไกเดียวกันสำหรับการค้นพบที่ Visual Studio ใช้เมื่อมันเติมรายการของแอสเซมบลี ครั้งแรกที่คลิก "เพิ่มการอ้างอิง ... " ทำให้ช้าลงอย่างเจ็บปวด