0

現在、ArcEngine (ESRI 製) を使用して C++/COM プロジェクトに取り組んでいます。ドキュメントに関するサポートがほとんど、またはまったくないという事実は別として (SDK はあります)。現在、エンジンの初期化だけで 30 ~ 35 秒かかります。ここで、これらのアプリケーションのいくつかを実行します。誰もこれについて経験がありますか?

これは非常に奇妙で奇妙な作業ですが、ESRI の開発者フォーラムは役に立ちません。Googleで何も見つかりませんでした。

何か案は?

4

6 に答える 6

1

ESRI 製品の起動を高速化するのに役立つ (必ずしも ArcEngine である必要はありませんが、おそらくこれが該当します) とわかったのは、ライセンス サーバーが定義されているレジストリでポート番号 (通常は 27004) を指定することです。

HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\License\LICENSE_SERVER HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcInfo\Workstation\8.0\LICENSE_SERVER

これをインストールまたはデスクトップ管理者から設定する場合、通常は次のようになります。 @yourserver.name これを 27004@yourserver.name に変更します。

繰り返しますが、これで問題が解決しない場合がありますが、そうでない場合は、試してみる価値があります。ネットワーク上でライセンス マネージャーを使用し、ローカル マシン上でハードウェア ドングルを使用すると、環境が高速化されることがわかりました。

于 2009-02-23T17:49:13.907 に答える
1

最後に ESRI で遊んでからほぼ 10 年が経過しているため、ArcEngine に固有のことは何もできません。

インスタンスをプールできますか?最良のシナリオでは、ArcEngine インスタンスを再利用でき、インスタンスを使い終わった後にインスタンスをプールに戻すことができます。それが不可能な場合は、少なくともいくつかのインスタンスをロールする準備ができていることを試みることができますが、それが可能かどうか、および/または有用かどうかは、アプリの詳細に大きく依存します。

于 2008-11-14T13:26:02.677 に答える
1

本当にCOMですか?その場合、ArcEngine は一連の COM インターフェイスを公開します。COM インターフェイスは魔法ではなく、1 つのプログラムに一意にバインドされていません。実際、COM はプロキシを明示的にサポートしています。これは、たとえば DCOM で使用されます。リモート サーバーのローカル プロキシを取得します。

この場合、初期化を偽装し、それ以外はすべて転送するカスタム COM プロキシを作成できるはずです。クライアントに対しては、プロキシの COM インターフェイスは高速であることを除いて同じです。ArcEngine に対しては、プロキシは呼び出し間でかなり長く待機できます。

于 2008-11-14T14:48:55.007 に答える
0

ESRIフォーラムにはほとんど助けがなく、多くの悲しみがありました。Arc*開発者は主に自分たちでやっているように感じます。

ArcEngine + .Netを使用すると、アプリケーションの初期化時間は私たちの環境では取るに足らないものになります(おそらく、1秒ですか?)-低速のリモートサーバーを使用していますか、それともネットワークやマップがロードされていないエンジンだけですか?

大規模なデータセットを処理する必要があるときはいつでも、ESRIには豚がいます。

ESRI製品のSOに関するいくつかの議論を見るのは良いことです!ここにはまだ多くはありません...

于 2008-12-23T03:44:53.203 に答える
0

正確に 45 秒かかっているのはどの行ですか? サイキック デバッグを行う必要がある場合、ライセンス サーバーに問題が発生していると推測できます。

最初にそれを確認してください。

于 2009-07-06T23:12:42.143 に答える
0

私の理解では、ArcEngine の初期化は、特別な COM 環境を初期化します。

初期化された環境で実際のハンドルを取得することはありません。どうにかして COM 環境を保存し、それを他のプログラムに渡すことができますか? 私の現在の考えは次のとおりです。

初期化された ArcEngine を使用してバックグラウンドで実行されている Windows サービス。プログラムは何らかの方法でサービスを照会し、サービスは COM 環境を返します。これは可能ですか?

于 2008-11-14T13:44:31.127 に答える