2

URIからの画像の最初の作成にはかなり時間がかかることに気付きましたが、1つが作成された後、他の画像の読み込みは非常に速くなります(最初の画像はさらに速くなります)。

画像オブジェクトの最初の使用時に何らかの初期化がありますか?このパフォーマンスを改善する方法はありますか?

私はこのような画像をロードしています:

new BitmapImage(new Uri("directlink"));

ありがとう

4

3 に答える 3

2

いくつかの可能性があります:

  1. イメージに初めてアクセスしようとしたときに、余分なアセンブリが読み込まれる可能性があります。
  2. JIT コンパイルが型をコンパイルしている可能性があり、このコードの最初の使用でわずかな遅延が発生します。
  3. DNS ルックアップが遅いため、初めて URL ドメインにアクセスしようとするとヒットする場合があります。後続のイメージは DNS キャッシュを使用している可能性があります。
于 2012-06-18T17:13:00.463 に答える
0

推測では、これはおそらくJust In Time(JIT)コンパイルが原因です。

プログラムを実行すると、CLRはILからネイティブ命令に「そのまま」コンパイルされます。これは、コードに初めてアクセスするときは、コンパイル時にヒットが発生することを意味しますが、一度アクセスすると、ペナルティが再度発生することはありません。

于 2012-06-18T17:11:47.860 に答える
0

はい、オブジェクトを作成する必要があり、次に接続オブジェクトを作成し、接続を開く必要があり、正しいメソッドなどがあります

于 2012-06-18T17:13:25.197 に答える