私はQGISにそれほど精通していませんが、拡張性の点でArcGISとどのように比較するのか疑問に思います。残念ながら、拡張性とパフォーマンスの間には少なくともいくつかのトレードオフがあるようです。ArcGISの拡張性を感じるために私が見つけた最善の方法は、レジストリにあるEsriのCOMコンポーネントカテゴリを調べることです。
各カテゴリは、ユーザーがEsriインターフェイスを実装するクラスを含むdllを登録できる場所を表します。あり、多くの種類のは。これらのカテゴリにはドッグフードも含まれています-Esriは、サードパーティのカスタマイズを発見するためだけでなく、すぐに使用できる機能を見つけるためにも使用します。これにより、非常にきめ細かいレベルのカスタマイズが可能になりますが、実行時にこれらすべてのきめ細かいものを検出してロードする必要があることも意味します。移転費用が何であるかはわかりませんが、それはかなりの額に違いありません。
C:\Program Files (x86)\ArcGIS\Desktop10.0\Bin\Categories.exe
Visual Studioでdllを作成すると、ロードするdllのベースアドレスを指定できる場所があります。ロードされるさまざまなサイズのdllが非常に多くあるため、ArcObjectsのカスタマイズのために事前にこれを知ることは非常に困難です。それでも、dllをメモリにロードする場所を指示する構成ファイルを作成できるかどうか疑問に思います。その場合、ユーザーが通常使用するDLLをロードしたarcmapを実行すると、dllベースアドレスを構成ファイルに書き込むルーチンを実行できます。そうすれば、arcmapが起動すると、それらのアドレスにロードすることで再配置を回避できます。再び64ビットでこれが問題になることはありません。
10.0では、Esriはアドインを導入しました。アドインのカテゴリははるかに小さく、検出はWindowsレジストリに依存しません。代わりに、アドインdllが圧縮され、既知のフォルダーに配置されます。Windowsレジストリを介して発見されたdllとパフォーマンスの点でこれがどのように比較されるのかわかりません。主な目標は、非管理者によるインストールを許可することだったと思います。
私は質問がデスクトップ製品に言及していると仮定しています。新しいArcGIS Runtime製品は、はるかに軽量です。MapObjectsの代替として説明されていると聞きました。それがどのように進化するかを見るのは面白いでしょう。EsriがWPFランタイムに拡張性を導入する場合、Visual Studioがアセンブリのリストを作成するときに使用するディスカバリーに同じメカニズムを使用しないことを望みます。初めて「参照を追加...」をクリックすると、非常に遅くなります。