ネットワーク ドライブ (\MyServer\MyShare\app.exe など) から実行される単純な .NET 2.0 Windows フォーム アプリがあります。これは非常に基本的なもので、最小限の .NET ライブラリのみをロードします。ただし、読み込みにはまだ 6 ~ 10 秒かかります。アプリが小さすぎて読み込みに時間がかかるのは、何かがおかしいに違いないと人々は考えています。
起動速度を改善するための提案はありますか?
ネットワーク ドライブ (\MyServer\MyShare\app.exe など) から実行される単純な .NET 2.0 Windows フォーム アプリがあります。これは非常に基本的なもので、最小限の .NET ライブラリのみをロードします。ただし、読み込みにはまだ 6 ~ 10 秒かかります。アプリが小さすぎて読み込みに時間がかかるのは、何かがおかしいに違いないと人々は考えています。
起動速度を改善するための提案はありますか?
SysinternalsProcessExplorerを試してみてください。「JITでの%時間」の列があります。その数が多い場合は、アプリケーションでngenを実行できます。そうでない場合は、ネットワーク接続が遅い可能性があります。CodeGuruには、ngenの使用法に関するチュートリアルがあります。
ロード時間を短縮するために、小さな開始アプリケーションをコンパイルし、そのアプリケーションにbinフォルダー外のライブラリから実行時にアセンブリのロードを実行させることができます。
NGEN の実現可能性を評価するための JIT 時間を決定することは、確かに良い出発点です。また、別のエントリ ポイントを使用してアセンブリをロードすることで、ロード時間をごまかそうとする人々にも同意します。多くの場合、ユーザー エクスペリエンスを向上させるのは、実際の速度に対する速度の外観です。
アプリのClickonceをセットアップして、ローカルマシンにデプロイされるようにします。
Microsoft Office(およびAdobeだと思います)のように不正行為をして、スタートアップグループにアプリを追加して、アプリをロードしてすぐにアンロードするように指示することができます。これにより、ユーザーがアプリを起動しようとしたときに、DLLがメモリに事前にキャッシュされます。キャッチのみ:ネットワーク化されたファイルでこのように機能するかどうかは完全にはわかりません-機能しない場合は、これがスロースタートの原因である可能性があります(つまり、常にコールドスタートとウォームスタートの可能性があります)ローカルマシンから実行している場合)。