Não conheço o QGIS, mas me pergunto como ele se compara ao ArcGIS em termos de extensibilidade. Infelizmente, parece haver pelo menos algumas vantagens e desvantagens entre extensibilidade e desempenho. A melhor maneira de descobrir a extensibilidade do ArcGIS é examinar as categorias de componentes COM da Esri encontradas no registro.
Cada categoria representa um local onde os usuários podem registrar DLLs contendo classes que implementam uma interface Esri. Existem muitas categorias. Essas categorias também contêm comida de cachorro - a Esri as usa não apenas para descobrir personalizações de terceiros, mas também para funcionalidade imediata. Embora isso ofereça um nível de personalização muito refinado, também significa que todos esses grãos finos precisam ser descobertos e carregados em tempo de execução. Não sei ao certo qual é o custo de realocação , mas deve ser significativo.
C:\Program Files (x86)\ArcGIS\Desktop10.0\Bin\Categories.exe
Quando você cria uma dll no Visual Studio, há um local em que você pode especificar o endereço base para a dll carregar. Como existem muitas dlls de tamanhos diferentes sendo carregadas, saber isso com antecedência para uma personalização do ArcObjects seria muito difícil. Ainda assim, gostaria de saber se um arquivo de configuração pode ser criado, instruindo onde a dll deve ser carregada na memória. Nesse caso, uma vez que o usuário tenha o arcmap executando com as dlls carregadas que ele normalmente usará, ele poderá executar uma rotina que gravará os endereços base da dll em um arquivo de configuração. Dessa forma, quando o arcmap é iniciado, pode evitar a realocação carregando nesses endereços. Por outro lado, talvez com 64 bits isso não importe.
Na 10.0, Esri introduziu suplementos. As categorias de suplementos são muito menores e a descoberta não depende do registro do Windows. Em vez disso, as DLLs de suplemento são compactadas e colocadas em uma pasta conhecida. Não tenho certeza de como isso compara o desempenho com as DLLs descobertas pelo registro do Windows. Eu acho que o objetivo principal era permitir a instalação por não administradores.
Estou assumindo que a pergunta está se referindo ao produto Desktop. O novo produto ArcGIS Runtime é muito mais leve. Eu ouvi isso descrito como um substituto para o MapObjects. Será interessante ver como evolui. Se o Esri introduzir extensibilidade para o WPF Runtime, espero que eles não usem o mesmo mecanismo de descoberta usado pelo Visual Studio quando ele preencher a lista de assemblies. A primeira vez que você clicou em "Adicionar referência ..." ficou dolorosamente lenta.