QGIS에 익숙하지는 않지만 확장 성 측면에서 ArcGIS와 어떻게 비교되는지 궁금합니다. 불행하게도 확장 성과 성능 간에는 약간의 상충 관계가있는 것 같습니다. ArcGIS 확장성에 대한 느낌을 얻는 가장 좋은 방법 은 레지스트리 에서 Esri의 COM 구성 요소 범주를 살펴 보는 것 입니다.
각 범주는 사용자가 Esri 인터페이스를 구현하는 클래스가 포함 된 dll을 등록 할 수있는 장소를 나타냅니다. 있습니다 많은 종류의가. 이러한 범주에는 개밥 도 포함됩니다. Esri는이를 사용하여 타사 사용자 지정을 검색 할뿐만 아니라 기본 기능을 사용합니다. 이는 매우 세밀한 수준의 사용자 지정을 제공하지만 런타임에 이러한 모든 미세 입자를 검색하고로드해야 함을 의미합니다. 재배치 비용이 무엇인지 잘 모르겠지만 중요해야합니다.
C:\Program Files (x86)\ArcGIS\Desktop10.0\Bin\Categories.exe
Visual Studio에서 dll을 만들 때 dll을로드 할 기본 주소 를 지정할 수있는 곳이 있습니다 . ArcObjects 커스터마이제이션을 위해 이것을 미리 알면 서로 다른 크기의 dll이 너무 많이로드되기 때문에 매우 어려울 것입니다. 여전히 dll을 메모리에로드 해야하는 위치를 알려주는 구성 파일을 만들 수 있는지 궁금합니다. 그렇다면, 사용자가 일반적으로 사용하는 dll이로드 된 상태에서 아크 맵을 실행하면 dll 기본 주소를 구성 파일에 쓰는 루틴을 실행할 수 있습니다. 이렇게하면 아크 맵이 시작될 때 해당 주소로로드하여 재배치 를 피할 수 있습니다. 그런 다음 다시 64 비트로 이것이 중요하지 않을 것입니다.
10.0에서 Esri는 추가 기능을 도입했습니다. 추가 기능의 범주는 훨씬 작으며 검색은 Windows 레지스트리에 의존하지 않습니다. 대신 추가 기능 dll이 압축되어 알려진 폴더에 저장됩니다. 이것이 Windows 레지스트리를 통해 발견 된 dll과 성능 측면을 어떻게 비교하는지 잘 모르겠습니다. 주된 목표는 관리자가 아닌 사람이 설치할 수 있도록하는 것이 었습니다.
질문이 데스크탑 제품에 관한 것이라고 가정합니다. 새로운 ArcGIS Runtime 제품은 훨씬 가볍습니다. 나는 그것이 MapObjects를 대체한다고 묘사 한 것을 들었다. 그것이 어떻게 진화하는지 보는 것은 흥미로울 것입니다. Esri가 WPF 런타임에 대한 확장 성을 도입하면 Visual Studio가 어셈블리 목록을 채울 때 사용하는 검색에 동일한 메커니즘을 사용하지 않기를 바랍니다. "참조 추가 ..."를 처음 클릭하면 고통스럽게 느려졌습니다.