画像のサムをロードしてリストボックスに表示するコードがいくつかあります。Win7では問題なく動作します。Windows XP では、いくつかの大きなイメージをロードするのに約 7 ~ 10 分かかりますが、7 では数秒かかります。どうすれば高速化できますか?
public static string AddImage(string file)
{
string key = "IMG_" + (++_counter).ToString("00000");
ImageInfo inf = new ImageInfo();
inf.OriginalPath = file;
inf.ID = key;
inf.OriginalPath = file;
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.DecodePixelWidth = THUMB_SIZE;
bi.CacheOption = BitmapCacheOption.OnLoad;
bi.UriSource = new Uri(file);
bi.EndInit();
inf.ThumbBitmap = bi;
_storedImageInfo.Add(key, inf);
return key;
}
ImageInfo は、BitmapImages とイメージのパスへの参照を含む私自身のクラスです。ロード時間に大きな影響はないと思います。